Метод сохранения текстового документа в формате PDF: ExportAsFixedFormat
. Он имеет множество параметров, см. документацию в Microsoft, но в основном вам просто нужно указать имя файла. Если вы опустите 2-й параметр (ExportFormat
), word проверит расширение имени файла, чтобы решить, однако, не повредит сказать word, что вы хотите (используйте константу wdExportFormatPDF
)
следующая процедура сохраняет открытое слово do c как PDF в той же папке и с тем же именем (предполагается, что сам документ уже сохранен, иначе у него нет допустимого имени файла).
Sub saveAsPDF(wordDoc As Word.Document)
Dim fName As String, p As Integer
fName = wordDoc.FullName
p = InStrRev(fName, ".")
fName = Left(fName, p) & "pdf"
wordDoc.ExportAsFixedFormat fName, wdExportFormatPDF
End Sub
В существующем l oop вам просто нужно добавить вызов этой процедуры:
Do While MyFile <> ""
Set objDoc = objWord.Documents.Open(FileName:=MyFolder & "\" & MyFile)
objDoc.Save
saveAsPDF objDoc
objDoc.Close
MyFile = Dir
Loop
Update : в приведенном выше коде используется раннее связывание, поэтому ссылка на Библиотека объектов Word необходима. Чтобы использовать позднее связывание (как это делает OP), измените процедуру на:
Sub saveAsPDF(wordDoc As Object)
Const wdExportFormatPDF = 17
Dim fName As String, p As Integer
fName = wordDoc.FullName
p = InStrRev(fName, ".")
fName = Left(fName, p) & "pdf"
wordDoc.ExportAsFixedFormat fName, wdExportFormatPDF
End Sub