通过 Excel VBA 引用 Acrobat Javascript 全局变量所需的语法是什么?

What is the syntax necessary to reference Acrobat Javascript global variables through Excel VBA?

本文关键字:语法 是什么 全局变量 VBA Excel 引用 Acrobat Javascript 通过      更新时间:2023-09-26

我有一个Acrobat .pdf文档,其中包含一个Javascript全局变量。我正在尝试在 VBA 中获取代码,该代码将从 Acrobat 引用此全局的值,但我无法完全弄清楚这样做所需的语法。我认为这是一个非常简单的问题,但它仍然让我感到困惑。

基本上,在我的 Acrobat/.pdf 文档中,我有一些非常简单的 Javascript 来定义:

global.ReturnString = "Arbitrary String";

然后我有另一个非常简单的按钮,它将返回字符串显示为应用程序警报:

app.alert(global.ReturnString);

我想做的只是能够通过Excel消息框重现这个非常简单的功能。换句话说,我只想编写一些工作VBA代码,以便在Excel中成功执行此操作:

MsgBox (SomeSortOfPointerToAcrobat.Global.ReturnString)

到目前为止,我还没有能够让它工作。我尝试使用GetJSObject作为在Acrobat和Excel之间传递信息的构造(下面的VBA代码)。我目前正在尝试在 Excel VBA 中引用 JavaScript 全局变量时在 Excel 用户窗体中打开.pdf文件:

Dim gAPP As Acrobat.CAcroApp
Dim gPDDOC As Acrobat.CAcroPDDoc
Dim jso As Object

Set gAPP = CreateObject("AcroExch.App")
Set gPDDOC = CreateObject("AcroExch.PDDoc")
If gPDDOC.Open("C:'path'testdoc.pdf") Then
    Set jso= gPDDOC.GetJSObject
    MsgBox (jso.Global.ReturnString)
End If

但这始终会导致运行时错误"438":对象不支持此属性或方法。

我已将 Adobe Acrobat 10.0 类型库添加到我的 VBA 项目中。

有什么建议吗?

再次,我为我认为是一个非常微不足道的问题道歉。我很乐意根据需要澄清我在问题描述中遗漏的任何所需细节。

(标记为已回答,以便不再显示为悬而未决的问题)

答:事实上,代码在原始问题中是正确的。