在Microsoft Surface(Excel VBA)上运行GetJSObject时失败
GetJSObject fails when run on Microsoft Surface (Excel-VBA)
我在Excel VBA中编写了一个小型实用程序,它还可以在几个单独的.pdf文件中与Acrobat Javascript交互。
该代码经过了广泛的测试,并在我的台式电脑上完全按照预期运行。然而,我最终需要在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
到目前为止,我已经能够在网上找到一些提示,GetJSObject在64位环境中不能很好地工作,我的Surface运行64位Windows10和32位Excel。
然而,我不认为仅凭这一点就可以解释两台机器行为的差异;我的桌面运行的是64位Windows7和32位Excel,一切都按预期运行。
我应该在哪里帮助发现问题的根源(和解决方案)?
EDIT/UPDATE:getJSObject语句实际上按预期工作,IF在运行VBA代码之前,我采取了在Acrobat中手动打开一个相关.pdf文件副本的额外步骤。我认为这意味着,相对于我的电脑,在Surface上工作的是对象定义(例如Set gAPP = CreateObject("AcroExch.App")
),而不是最初认为的getJSObject命令?
到目前为止,我还不清楚这是怎么回事(更不用说我如何解决这个问题了)。
不确定这个问题是否得到了回答,但我会采取两种行动进行研究:
1.
看看你是否可以使用在没有构造函数的情况下启动它
Set AcroApp = New AcroApp
而不是
Set AcroApp = CreateObject("AcroExch.App")
2.
确保你使用的是相同版本的acrobat,根据我的研究,这个错误发生在谷歌搜索查询的第一个结果:
createobject acroexch.app error 429
You cannot do this with Adobe Reader, you need Adobe Acrobat.
此OLE接口可用于Adobe Acrobat,而不是Adobe Reader。
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 使用压缩的JavaScript文件(不是运行时压缩)
- Javascript运行php文件,然后下载文件
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- Angularjs代码未在匿名函数中运行
- jquery设置为使用参数运行
- 如何根据时间运行不同的脚本
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 将文本框链接到由按钮运行的javascript公式
- 为什么不是't运行此Javascript的Chrome
- ng应用程序使脚本无限运行
- 如何在运行时在angular 2中加载外部js脚本
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- JavaScript错误:Microsoft JScript运行时错误:应为对象
- 在终端中运行 JavaScript 时(使用 rhino),如何使用 print() 函数在一行中打印
- 如何使用JS/nightwatchjs并行运行多个测试
- 茉莉花宝石-耙茉莉花:ci dons't运行测试
- 我的HTML按钮没有在Javascript中运行
- 在Microsoft Surface(Excel VBA)上运行GetJSObject时失败