通过 Excel VBA 引用 Acrobat Javascript 全局变量所需的语法是什么?
What is the syntax necessary to reference Acrobat Javascript global variables through Excel VBA?
我有一个 Acrobat .pdf 文档,其中包含一个 Javascript 全局变量。我试图在 VBA 中获取代码,该代码将从 Acrobat 引用此全局变量的值,但我无法完全弄清楚这样做的必要语法。我认为这是一个非常简单的问题,但它仍然难倒了我。
基本上,在我的 Acrobat/.pdf 文档中,我有一些非常简单的 Javascript 定义:
global.ReturnString = "Arbitrary String";
然后我有另一个非常简单的按钮,显示 return 字符串作为应用程序警报:
app.alert(global.ReturnString);
我想要做的就是能够通过 Excel 消息框重现这个极其简单的功能。换句话说,我只想编写一些工作 VBA 代码,这些代码将在 Excel:
中成功执行
MsgBox (SomeSortOfPointerToAcrobat.Global.ReturnString)
到目前为止,我还没能让它发挥作用。我尝试使用 GetJSObject 作为在 Acrobat 和 Excel 之间传递信息的结构(下面的 VBA 代码)。我目前正在 Excel 用户窗体中打开 .pdf 文件,当时我试图在 Excel VBA:
中引用 JavaScript 全局变量
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 项目中。
有什么建议吗?
再次,对于我认为是一个非常微不足道的问题,我深表歉意。对于我在问题描述中遗漏的任何需要的细节,我很乐意根据需要进行澄清。
(标记为已回答,这样就不再显示为悬而未决的问题)
答案:事实上,原始问题中的代码是正确的。
我有一个 Acrobat .pdf 文档,其中包含一个 Javascript 全局变量。我试图在 VBA 中获取代码,该代码将从 Acrobat 引用此全局变量的值,但我无法完全弄清楚这样做的必要语法。我认为这是一个非常简单的问题,但它仍然难倒了我。
基本上,在我的 Acrobat/.pdf 文档中,我有一些非常简单的 Javascript 定义:
global.ReturnString = "Arbitrary String";
然后我有另一个非常简单的按钮,显示 return 字符串作为应用程序警报:
app.alert(global.ReturnString);
我想要做的就是能够通过 Excel 消息框重现这个极其简单的功能。换句话说,我只想编写一些工作 VBA 代码,这些代码将在 Excel:
中成功执行MsgBox (SomeSortOfPointerToAcrobat.Global.ReturnString)
到目前为止,我还没能让它发挥作用。我尝试使用 GetJSObject 作为在 Acrobat 和 Excel 之间传递信息的结构(下面的 VBA 代码)。我目前正在 Excel 用户窗体中打开 .pdf 文件,当时我试图在 Excel VBA:
中引用 JavaScript 全局变量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 项目中。
有什么建议吗?
再次,对于我认为是一个非常微不足道的问题,我深表歉意。对于我在问题描述中遗漏的任何需要的细节,我很乐意根据需要进行澄清。
(标记为已回答,这样就不再显示为悬而未决的问题)
答案:事实上,原始问题中的代码是正确的。