Joh*_*oob 6 javascript acrobat vba tablet-pc excel-vba
我在Excel-VBA中编写了一个小实用程序,它还在一些单独的.pdf文件中与Acrobat Javascript交互.
该代码已经过广泛测试,并且在我的台式PC上完全按照预期运行.但是,我最终需要在Microsoft Surface平台上实现此代码.当我尝试从Microsoft Surface上的Excel文件运行相同的代码时,代码在任何行使用"GetJSObject".
例如.以下在我的电脑上工作正常,但在Surface上导致"对象或方法不受支持"错误.
Set gAPP = CreateObject("AcroExch.App")
Set gPDDOC = CreateObject("AcroExch.PDDoc")
If gPDDoc.Open(pdfFileName) Then Set jso = gPDDOC.GetJSObject
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经能够在网上找到一些提示,GetJSObject在64位环境中不能正常工作,我的Surface运行64位Windows 10和32位Excel.
但是,我认为仅凭这一点就不能解释两台机器的行为差异; 我的桌面运行64位Windows 7和32位Excel,一切都按预期工作.
我应该在哪里寻找帮助发现问题的来源(和解决方案)?
编辑/更新:getJSObject语句实际上按预期工作,如果我在运行我的VBA代码之前采取了在Acrobat中手动打开一个相关.pdf文件的副本的附加步骤.我认为这意味着它在某种程度上是对象定义(例如Set gAPP = CreateObject("AcroExch.App"))在Surface上相对于我的PC的工作方式不同 - 而不是具体的getJSObject命令,如最初的想法?
到目前为止,它对我来说没有多大意义如何/为什么这是真的(更不用说我如何解决这个问题了).
小智 1
不确定这个问题是否已经得到解答,但是我会采取两种研究行动:
1.
看看是否可以在没有构造函数的情况下启动它,方法是:
Set AcroApp = New AcroApp
Run Code Online (Sandbox Code Playgroud)
而不是
Set AcroApp = CreateObject("AcroExch.App")
Run Code Online (Sandbox Code Playgroud)
2.
确保您使用相同版本的 acrobat,根据我的研究,此错误发生在 Google 搜索查询的第一个结果中:
createobject acroexch.app error 429
You cannot do this with Adobe Reader, you need Adobe Acrobat.
Run Code Online (Sandbox Code Playgroud)
此 OLE 界面适用于 Adobe Acrobat,不适用于 Adobe Reader。