【问题标题】:Describe anonymous VBA Object描述匿名 VBA 对象
【发布时间】:2017-10-08 00:01:04
【问题描述】:

我正在使用文档不完整的库(“Acrobat Acrobat 10.0”)来使用 VBA 修改 PDF 文档。

为了执行这个修改,我使用了一个对象(JavaScript 对象),它代表一个 JavaScript 库的 VBA 接口。我的问题:我在网上找不到任何文档。我可以找到相应的JavaScript documentation,但没有任何东西可以描述我需要/以我需要的方式。

是否可以迭代“匿名”对象的方法/属性?

【问题讨论】:

  • 不幸的是,VBA 不像 java 那样支持自省。
  • @Amorpeuses - 感谢您的确认:)。
  • @joelgeraci - 是的,我知道这个文档,但找不到任何关于我要实现的目标的参考 - 我需要在 pdf 文档中启用 javascript 执行。跨度>
  • VBA 或 VBA 加上一些 JavaScript 都不能用于在 Acrobat 中启用 JavaScript。这是用户偏好,但默认情况下 JavaScript 处于启用状态。但是,如果 JSO 对象返回 null,那么您就知道 JavaScript 已被禁用。此外,JSO 非常愚蠢。 Acrobat 将尝试运行您发送的任何内容,将其视为 JavaScript“eval”的等价物。你到底想在文档中做什么?

标签: vba pdf acrobat


【解决方案1】:

如果您可以提前绑定(工具 -> 引用...)库,那么您已经可以使用 对象浏览器 (F2) 来浏览它的模块和它公开的所有成员,并读取每个成员的 docstring(如果存在)。

如果您不能提前绑定库并且只能使用Object,那么您将陷入困境:迭代库成员的唯一方法是加载该库; VBA 没有对 reflection 的原生支持,但是使用 Rubberduck 的实验性 COM API,您绝对可以做到这一点……只要引用了该库。

【讨论】:

  • 我最初尝试过这个,但无法提前绑定 JSO 对象。我有这种感觉,感谢您的确认:)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-11
  • 2019-09-27
  • 2016-07-17
  • 2017-02-17
相关资源
最近更新 更多