Заполнение шаблона PDF с использованием VBA - PullRequest
0 голосов
/ 01 июля 2019

Я пытаюсь заполнить шаблон PDF данными из таблицы Excel с помощью VBA, и вот что у меня есть;

FILE_NAME_TEMPLATE = "path_to\template.pdf"

Set gApp = CreateObject("AcroExch.app")
Set avDoc = CreateObject("AcroExch.AVDoc")

If avDoc.Open(FILENAME, "") Then

    Set pdDoc = avDoc.GetPDDoc()
    Set jso = pdDoc.GetJSObject

    'populating pdf fields here, no issues

    FILE_NAME_RESULT = "path_to\result.pdf"
    pdDoc.Save PDSaveFull, FILE_NAME_RESULT

    pdDoc.Close

End If

avDoc.Close (True)

Таким образом, код заполняется и сохраняется template.pdf, однако я хотел бы оставить файл шаблона без изменений и создать новый result.pdf с заполненными данными. Пожалуйста, объясните, что я делаю не так, и спасибо за ваше время.

1 Ответ

0 голосов
/ 02 июля 2019

(Недостаточно баллов, чтобы просто комментировать, поэтому вместо этого публикуйте ответ)

Является ли pdDoc.Close функцией, и если да, каково ее возвращаемое значение?

В качестве обходного пути вы можете сначала скопировать шаблон в файл результатов, а затем поработать с файлом.

FileCopy FILE_NAME_TEMPLATE, FILE_NAME_RESULT

Позвольте мне добавить рекомендацию для лучшего стиля кодирования: использовать все заглавные имена только для констант. Для реальных переменных используйте смешанные имена падежей (как вы сделали, например, с pdDoc.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...