Заполните поле со списком PDF через VBA - PullRequest
0 голосов
/ 15 сентября 2018

У меня есть код ниже, чтобы заполнить комбинированный список в документе PDF.Насколько я могу судить, код верен, согласно Справочнику по API Acrobat Forms

enter image description here

Однако код завершается ошибкойпри вызове PopulateListOrComboBox с этой ошибкой:

Метод 'PopulateListOrComboBox' объекта 'IField' не выполнен

Dim acroApp As Acrobat.acroApp
Set acroApp = New Acrobat.acroApp

Dim myForm As Acrobat.AcroAVDoc
Set myForm = New Acrobat.AcroAVDoc

Dim bOK As Boolean
bOK = myForm.Open("C:\Users\sholtzman\downloads\wordFormTest.pdf", "temp")

Dim theRealForm As AFORMAUTLib.AFormApp
Set theRealForm = New AFORMAUTLib.AFormApp

Dim pdField As AFORMAUTLib.Field
Set pdField = theRealForm.Fields.Add("triaCoverage", "combobox", 0, 10, 20, 100, 200)

Dim items(2) As String
items(0) = " "
items(1) = "Accept"
items(2) = "Reject"

pdField.PopulateListOrComboBox items

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

Ошибка автоматизации Неуказанная ошибка

Dim myPDForm As Acrobat.AcroPDDoc
Set myPDForm = myForm.GetPDDoc

Dim jso As Object
Set jso = myPDForm.GetJSObject

jso.getField("triaCoverage").setItems(1) = " "

Наконец, когда я сохраняю и закрываю документ последобавив комбинированный список, я могу войти и установить значения списка вручную.Любые идеи, как я могу заставить это работать через код?

1 Ответ

0 голосов
/ 15 сентября 2018

Я провел еще несколько исследований и нашел только один ответ, заменив строку:

jso.getField("triaCoverage").setItems(1) = " "

на

jso.getField("triaCoverage").setItems(items)

Однако я предпочитаю использовать метод PopulateListOrComboBox, если привсе возможно, поэтому я оставлю это без ответа на некоторое время.

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