问题标签 [jacob]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1390 浏览

java - 使用 JACOB SafeArray getDoubles() 方法

我正在尝试从 Excel 工作簿中提取双值向量。Excel 看起来不像返回一维数组,而是一个多维数组(维数为 2)。

我从 Excel 获得的数据是 SafeArray 格式(我也可以有 Variant,但基本上是同样的问题)。

我正在寻找一种将双精度数组提取到 Java 对象中的快速方法,而无需循环 SafeArray 中的所有值。

查看 SafeArray 中的方法,有一个:getDoubles(int sa_idx, int nelems, double[] ja, int ja_start)

显然文档是空的,我无法确定这个方法的作用,因为尝试使用它没有给我任何结果。

谢谢。

0 投票
1 回答
564 浏览

java - 想要使用 Jacob jar 从 Outlook 断开或删除 PST

我正在使用 Jacob jar 文件来保存味精。要连接 pst,我使用以下代码:

现在我想从 Outlook 中删除或断开 PST 文件,请建议我如何实现此功能。

问候, 卡希夫

0 投票
1 回答
807 浏览

java - 通过 Jacob 在 Java 应用程序和 Microsoft 应用程序之间进行同步

在我的 java 应用程序中,我使用 Jacob 库连接到 Microsoft Excel。一切都很好,但我不知道如何使用 Jacob 库在 Excel 页面发生任何更改时捕获 com 事件。例如,在我的项目中,我连接数据库获取表值并将这些值复制到 Excel 页面的单元格中。每当更改单元格值时,表值也会更改。那就是我想要 Jacob 的 java 和 Microsoft Excel 应用程序之间的同步。

0 投票
1 回答
2547 浏览

java - Getting output parameter value set by VBScript (WMI) method in java via JACOB

Am trying to convert a VBScript to java using JACOB - Java COM bridge library. 'Create' method in VBScript accepts a [out] param in it's method and it sets it upon method execution and i couldn't figure out how to retrieve it back via JACOB.

VBScript in question:

intProcessID is [out] param set after method execution. (Create API contract)

Converted java code(incomplete and modified slightly for demonstration):

Would be great if you could provide some pointers or relevant code. Ask me more if needed. Thanks in advance.

0 投票
1 回答
888 浏览

java - 将调用 iTunes DLL 的 Java 代码从使用 Com4j 转换为 Jacob

我目前使用 Com4j 从我的 Java 应用程序与 iTunes 对话,不幸的是它不适用于 64 位 Java,而且看起来永远不会,所以我尝试使用名为 Jacob 的替代方案。

这两个库都提供了一个从 DLL 生成 Java 类的工具,生成的类非常相似,并且可以直接更改大部分代码,但我无法找到子类型

这两个库都创建了 IITPlaylist 和 IITUSerPlaylist 类,但只有 com4j 提供了 queryInterface 类,并且没有 IITUserPlaylist 实际上不是 IITPlaylist 的子类。

com4j 也提供了 is 方法,但 jacob 没有

有谁知道如何解决这些问题?

编辑:取得了一些进展,但仍未使其正常工作,有一个 QueryInterface 方法采用类的 guid(包括大括号),我通过查看运行 jacobgen 时创建的 jacobgenlog.txt 文件找到了 guid在 iTunes 可执行文件上

然后返回另一个与子类相关的 Dispatch 对象,但是我所做的简单转换是无效的,缺少什么步骤?

is() 功能被替换为检查种类

工作中的一个扳手是 jacobgen getKind() 方法是无效的Java,因为它们试图返回一个新接口,当然你不能实例化一个接口,所以我不得不修改它们如下

ITPlayListKind 来自

在 IITUserPlaylist 内

这不是我最初的想法,我从http://dot-totally.co.uk/software/itunescon/得到这个想法,这似乎是 jacobgen 创建的 iTunes 类的修改版本,我没有发现它添加了很多,并决定坚持使用 jacobgen 生成的类。

0 投票
2 回答
1130 浏览

java - 如何使用 JACOB 更改活动的 MS Word 窗口?

我正在使用 JACOB 库。我可以创建一个新实例,activeXComponent("Word.Application")然后打开一些文件。如何获取我已经打开的文件的实例?

在我可以使用的 MS Word 宏中Windows("name.doc").Activate,“name.doc”代表文件名。如何在 JACOB 中做到这一点?

0 投票
1 回答
2613 浏览

java - NoSuchMethodError 使用 JACOB

我一直在我的 java 程序中使用 JACOB 来工作,但每次尝试从 ITTrackCollection 获取 ITTrack 时都会遇到错误。

这是给出错误的行:

这是错误:

a 是 ITTrack 的数组列表,t 是 ITTrack 集合。t 里面肯定有两个以上的 ITTrack。

谢谢

0 投票
0 回答
738 浏览

java - 当控件不允许自动化(com4j/jacob)时如何通过java调用ActiveX方法?

我必须集成到不允许IsInvokeAllowed通过 Java 实现自动化(未实现返回 true)的 ActiveX 控件。

到目前为止,我研究中用于 COM 集成的最佳 Java 库是com4jjacob

当尝试在不允许自动化的控件上调用方法时,我在调用允许自动化的控件上的方法时遇到灾难性失败异常。

有没有办法调用不允许使用 Java 自动化的 ActiveX 对象的方法(通过 com4j/jacob/other)?

不幸的是,让 ActiveX 对象供应商在他们的控件上启用自动化不是一种选择。

0 投票
1 回答
806 浏览

java - Java Desktop.browse 偶尔返回“在任何活动激活上下文中找不到请求的查找密钥”

我真的在为这个问题苦苦挣扎,因为它对我来说似乎是随机发生的。当我打电话时,

Desktop.browse("some url");

Internet Explorer 将不会显示。异常信息如下,

在任何活动的激活上下文中都找不到请求的查找键。

当它发生时,它会一直发生,直到我重新启动机器,但它最终会再次发生。

似乎有此问题的工作站正在运行 Windows XP,并将 Internet Explorer 8 设置为默认浏览器。

编辑:我忘了提到,如果我直接打开 Internet Explorer 并导航到有问题的 URL,那么它会正常工作。

EDIT2:如果调用 Desktop.browse 并在至少 15 分钟后再次调用,这似乎会发生。现在重新启动应用程序似乎可以解决问题。

0 投票
2 回答
465 浏览

java - Passing Enumeration value using Jacob bridge (COM/ActiveX)

Does anyone know if there's a way to pass an enumeration value using Jacob?

I'd like to pass enumVal1 or enumVal2 as a Variant.