слово vba saveas pdf неправильное расширение - PullRequest
1 голос
/ 02 октября 2019

enter image description here

Попытка сохранения в формате pdf

Sub fill2()

            TemplateName = ThisWorkbook.path & "\DOC\test.docx"
            PdfPath = ThisWorkbook.path & "\OutPut"
            sSaveFolder = PdfPath & "\" & Format(Now(), "yyyy.mm.dd" & ".pdf")

        Set WA = CreateObject("Word.Application")
        Set WD = WA.Documents.Add(TemplateName)
            WA.Visible = False

            WD.SaveAs sSaveFolder, 17
            WD.Close False: Set WD = Nothing
        WA.Quit False: Set WA = Nothing
End Sub

, но сохранение файла с неправильным расширением (изменение буквы d на 2 числа)

Что случилось?

enter image description here

Ответы [ 2 ]

4 голосов
/ 02 октября 2019

Вы просите Excel отформатировать ваше имя файла следующим образом:

Format(Now(), "yyyy.mm.dd" & ".pdf")

, что для Excel точно так же, как:

Format(Now(), "yyyy.mm.dd.pdf")

, поскольку .pdf содержитd, он заменяет его номером дня (2).

Format(Now(), "yyyy.mm.dd.pdf")
                       ^^  ^

Переставьте элемент форматирования на yyyy.mm.dd и добавьте расширение файла отдельно:

sSaveFolder = PdfPath & "\" & Format(Now(), "yyyy.mm.dd") & ".pdf"
2 голосов
/ 02 октября 2019

У вас есть круглые скобки в неправильном месте. Попробуйте это:

Format(Now(), "yyyy.mm.dd") & ".pdf"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...