Я пытаюсь извлечь XML-информацию из формы XFA с помощью VBA.
Приведенный ниже код работает для извлечения данных XML в отдельный файл, но требует взаимодействия с пользователем (пользователя просят указать имя файла XML). Я отказался от попыток автоматизировать это без взаимодействия с пользователем из-за требования Adobe «безопасный путь» (который кажется невозможным обойти с помощью автоматизации VBA).
Dim objPDDoc As New AcroPDDoc
Dim objJSO As Object
Dim strSafePath as String
strSafePath = ""
objPDDoc.Open (FileName)
Set objJSO = objPDDoc.GetJSObject
objJSO.xfa.host.exportdata strSafePath, 0
Я бы предпочел анализировать XML-информацию напрямую с помощью MSXML2.DOMDocument60. Я надеялся, что смогу сделать что-то вроде этого:
Dim XMLDoc As New MSXML2.DOMDocument60
If XMLDoc.Load(objJSO.xfa.host.exportdata) = True Then
Call funcParse(XMLDoc)
End if
Однако загрузка XMLDoc
с помощью objJSO.xfa.host.exportdata
не работает, и я не могу понять, какие - если есть - возможности для передачи информации XML с использованием каких-либо методов / свойств xfa.host.
Любая помощь приветствуется - я также говорю, что это невозможно в VBA.