В соответствии с документацией метода Document.SaveAs2 вам необходимо указать второй параметр FileFormat
как wdFormatPDF
, иначе он будет сохранен как документ word.
Обратите внимание, что
With dlgSaveAs
.Format = wdFormatPDF
будет устанавливать формат файла только для диалогового окна, которое позволит вам выбрать путь и имя файла. Но SaveAs2
не заботится об этом, если вы тоже не укажете правильный формат.
В любом случае, похоже, что вы вообще не используете диалоговое окно сохранения. Я думаю, что вы можете безопасно удалить эту часть
Set dlgSaveAs = Dialogs(wdDialogFileSaveAs)
With dlgSaveAs
.Format = wdFormatPDF
End With
и оставить только эту часть там
ActiveDocument.SaveAs2 FileName:=DName, FileFormat:=wdFormatPDF
ActiveDocument.Close False
Что на самом деле произошло ...
... это то, что вы сохранили файл your-file.pdf
с расширением .pdf
, но внутри документа в формате Word. Если вы переименуете его в your-file.docx
, он, вероятно, откроется в Word.