问题标签 [ole-automation]

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 投票
2 回答
569 浏览

delphi - 用于捕获 MSWord 文档事件的 IAdviseSink 设置

这是我尝试设置IAdviseSink在我的TForm1类中实现的接口以捕获新创建的 MSWord 文档的一些事件的代码。代码运行时我没有任何错误,但是在保存文档或关闭文档时我无法捕获任何事件。如何IAdviseSink正确设置 MSWord 文档?

0 投票
1 回答
1421 浏览

windows - 从 PowerShell 与 OLE 自动化 (IDispatch) 服务器通信

我有兴趣从 Windows Powershell 与 OLE 自动化 (IDispatch) 服务器通信。任何人都可以指出一些简单的示例代码来说明这样做吗?我知道我可以使用 New-Object -com My.App.Interface 来创建对象,但是与之交谈是另一回事。在这种情况下,它是一个 OLE 自动化 (IDispatch) 接口,所以我不只是在返回的对象上调用方法,而是调用 IDispatch 的 Invoke 方法。

所以,无论如何,只是想知道是否有人可以为我指出一些我可以用作起点的示例。

0 投票
1 回答
1570 浏览

delphi - 如何将参数传递给 OLE 自动化对象,例如 MS Word

这主要是一个与 Delphi 语法相关的问题。调用 OLE 对象的方法时,我需要将参数设置为 True。

我需要在 Word Automation 中设置(来自Word Reference):

作为示例,我想执行此操作的虚拟程序如下(请注意 WordApp.Quit!):

在这里(检查接受的答案)似乎做了同样的事情,但如果我尝试它:不编译。我在这里只复制相关部分:

重要提示:而不是使用

可以使用

任何人都可以修改我上面的 GetWordVersion 程序,以便使用上述两种方法中的任何一种吗?谢谢。

0 投票
1 回答
2137 浏览

c# - 来自网站的远程计算机上的编程执行 Excel 宏

我有一个网站,用户使用宏生成 Excel 报告,当我尝试在本地计算机上运行它时,它会完美生成并在 Excel 中运行宏。当我将它发布到服务器并同时我在那里登录(RDP 开放会话)并尝试从该服务器外部的浏览器运行它时,它也按预期运行。当我在服务器(RDP)中注销然后在服务器外部的浏览器(即从我的机器)中运行它时,会出现问题,宏不会运行但会创建我的 Excel。

这是我正在使用的代码

0 投票
1 回答
1028 浏览

c# - ole 自动化日期到 c# 日期时间选择器值

我正在从 SQL 服务器获取一些数据,并尝试在前端 C# windows 窗体上显示。

dtpMcAccExp.Text = DateTime.FromOADate(Convert.ToDouble(reply.Rows[0]["ExpiryDate"])).AddDays(2).ToString("dd/MM/yyyy");

在这里,dtpMcAccExp 是一个 DatTimePicker & reply 是一个数据表,我在其中得到 sql 查询回复。

当我得到 ExpiryDate 一个 OLE 日期和 2 天前的日期(作为 delphi 系统用来更新它),所以必须添加 2 天来引入实际日期。

尽你所能理解。

问题是..在某些计算机上,系统日期时间设置短日期为“dd/MM/yyyy”,它工作正常,但在某些短日期为“M/d/yyyy”的计算机上,它给出了一个错误“字符串未被识别为有效日期时间.."

所以解决方案是将每个客户计算机的短日期更改为我希望我的应用程序运行的“dd/MM/yyyy”。

或其他一些解决方案,即我可以更改我的编码。请帮忙。非常感谢..

0 投票
0 回答
114 浏览

windows-7 - VBS 中的 800a0ad 错误,Windows 7 32

我用 C++ 和 ATL (VS2010) 编写了一个简单的 ActiveX Dll 对象,用于嵌入在 SCADA 系统中的 VBS 脚本引擎。它现在只是一个代码尸体,只是与存根接口,没有依赖关系。每个设计为从客户端调用的接口都有双接口。我可以从 OLE/COM 对象查看器中看到这个对象,并可以从那里实例化它。出于调试目的,使用 C# 的互操作服务实例化此 ActiveX 对象没有问题。

但是,当我尝试从 wscript (vbs) 实例化它时,我得到了这个 800a0ad 错误。

操作系统是 Windows 7(32 位),而不是 x64。

0 投票
1 回答
3044 浏览

sql-server - 创建 VFP Chrome 或 FireFox 对象

我们有一个 VFP 应用程序,需要在 Chrome 或 Firefox 中打开一个特定的站点。该网站针对其中任何一种浏览器进行了优化。

我们知道如何在我们的应用Createobject程序InternetExplorer.Application中打开浏览器。这允许我们与浏览器交互。但是,它仅适用于IE.

有谁知道如何使用Chromeor来实现相同的目的Firefox

我们这样做是为了打开默认浏览器(即ChromeFirefox)。

这种方法的问题是它只是打开浏览器,我们不能与之交互(例如,传递值和读取页面上的项目)。

至少,如果我们可以在不使用 a 的情况下打开ChromeFirefox传递 POST 参数querystring,那将是一个可以接受的开始。

0 投票
1 回答
268 浏览

debugging - 如何调试 Jenkins 作为 SYSTEM 用户启动的后台 IDE

我们在 Windows 7 上成功使用了 Jenkins CI 服务器。它主要使用 CodeWarrior 进行编译。使用 Perl 中的 Win32::OLE 库来自动化 IDE,我最近添加了一个新的单元测试作业,它编译然后还启动调试器,在目标硬件上运行测试线程,然后停止。当我从我的用户名下的命令行启动它时它工作正常,但是当 Jenkins 启动相同的任务时,IDE 会消耗所有 CPU 并且永远不会结束。在 Windows 任务管理器下,我看到 IDE 以 SYSTEM 用户身份运行。我怀疑有一个新的弹出消息我没有在我的 OLE 自动化中考虑,但看不到它,因为它现在是后台任务。

是否有工具或技术可以帮助调试 Jenkins 作为系统用户启动但不可见的窗口?

0 投票
2 回答
6271 浏览

delphi - Delphi Ole Automation - 在 Word 2010 中保存 Word97-2003 文件而不使用“另存为”对话框

我正在尝试使用 Delphi 6 和 Word 2010 保存 Word 97-2003 文档 (.doc)。

在 Word 2010 之前一切正常

在哪里FileName := 'c:\doc.doc'

现在,Word 2010 出现了一个保存对话框,我不知道为什么。我已经尝试过新的 SaveAs2 方法

但结果相同。

奇怪,

工作正常,没有“另存为”对话框,但保存的文件具有 Word 2010 格式和 .doc 扩展名,这会混淆旧的 Word 版本。

那么,有什么想法可以在不弹出“另存为”对话框的情况下使用 Word 2010 以旧文档 Word 格式保存文件吗?

0 投票
2 回答
1826 浏览

java - 如何使用 JAVA 和 SWT OleAutomation 自动化 Open Office?

我已经使用 Java 和 SWT 成功地编写了 Microsoft Word 的自动化程序。现在我需要为 Open Office / Libre Office 作家做同样的事情。

在 MS Word 的情况下,我使用了 Word.Application,如下所示:

我相信这应该以与 Open Office 类似的方式完成。我应该使用哪个对象?如何?谢谢

EDIT1: 我试图避免创建冗长的问题,但由于我的问题被否决了,我将尝试更详细地解释它:

  1. 我的长期需求是通过 Java 小程序打开和自动化打开的办公文档
  2. 我尝试了 UNO 和 Office bean,但在我的情况下两者似乎都没有用(路径和环境设置依赖项),当您从 Web 浏览器启动某些内容时不接受这些
  3. 由于我以前使用 Microsoft Word 的经验,我要求提供对象。当我使用 Word.Document 时,我可以打开文档,但自动化不起作用。当我通过 Word.Application 打开文档时,自动化确实起作用了,但它的行为不像我喜欢并想使用的 ole 对象。

目前我的代码(如下)不允许我使用自动化功能,它像 Word.Document 一样工作。

这就是我问这个问题的方式:“我应该使用哪些对象”。我想找到类似于 Word.Application 的对象。应该是 com.sun.star.frame.Desktop 吗?如果是这样,我还没有成功使用它。

我认为过去可以通过 OLe 编程 OOO 访问,并可以分享一些想法或代码。

谢谢你。

编辑 2 下面是来自 OpenOffice SDK 的代码,用 vbs 编写。如果有人可以帮助我将其转换为 JAVA 和 SWT,那将是解决方案:

上面的代码,当保存到 .vbs 文件并以以下方式启动时: cscript WriterDemo.vbs 启动 Open Office 编写器并将一些数据写入文档。我无法让它在 Java 中工作。

如果我尝试这样开始:

然后我得到了例外

我想我正在尝试使用错误的对象或不正确地使用它们。谢谢你的帮助。