Ошибка времени выполнения 438 — Не удалось установить значение xfa.rawvalue для пустого текстового поля PDF-файла XFA в vba

#vba #xfa

Вопрос:

У меня есть PDF-документ XFA, разработанный в Adobe Lifecycle. Я пытаюсь автоматизировать заполнение этой формы PDF с помощью макроса VBA excel .

Но , когда я пытаюсь использовать приведенный ниже сценарий, он завершается ошибкой 438 во время выполнения в xfa4.editvalue = «Входное значение» . Я предполагаю , что это связано с тем , что текстовое поле, которое я пытаюсь заполнить, в настоящее время пусто, потому что, если я попытаюсь отредактировать pdf-файл, который уже имеет значение в этом текстовом поле, это сработает для меня.

Ниже приведен код

Вложенный pdfinputtest()

Dim имя файла, Output_Pdf, PDFTemplateFile, SavePDFFolder, Имя папки, XMlFileName Как строка Dim gApp2, avDoc2, PDDoc2, jso3, xfa4, oxmlFile2 Как объект Dim tgs, td, tl, t, tv Как объект Dim fldName Как строка Dim a Как Целое число

Имя папки = «C:UsersabcdDesktopAutomate_InputFiles» Имя файла XML = Dir(имя папки и «.xml«)

SavePDFFolder = «C:UsersabcdDesktopAutomate_InputGenerated_PDF» PDFTemplateFile = «C:UsersabcdDesktopAutomate_InputInputPdf.pdf»

 Set gApp2 = CreateObject("AcroExch.app")
Set avDoc2 = CreateObject("AcroExch.AVDoc")

If avDoc2.Open(PDFTemplateFile, "") Then
    'avDoc2.BringToFront
    Set PDDoc2 = avDoc2.GetPDDoc()
    Set jso3 = PDDoc2.GetJSObject()
        'TestInput
        fldName = "tgs[0].cv[0].ti[0].ta[0]"
        Set xfa4 = jso3.xfa.resolveNode("form."   fldName)
        xfa4.editvalue = "Input Value"
        'xfa4.rawValue = "Input Value"
    Output_Pdf = SavePDFFolder amp; "" amp; Format(DateTime.Now, "YYMMDD_HH_mm_ss") amp; ".pdf"
    PDDoc2.Save 1, Output_Pdf
    PDDoc2.Close
    avDoc2.Close (True)
    Set gApp2 = Nothing
    Set avDoc2 = Nothing
    Set PDDoc2 = Nothing
    Set jso3 = Nothing
    Set tgs = Nothing
    Set td = Nothing
    Set tl = Nothing
    Set t = Nothing
    Set tv = Nothing
End If
 

Конец Суб