问题标签 [ole]

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 回答
1378 浏览

perl - 在 Access 2007 中使用 Win32::OLE 执行宏

目前我正在尝试通过 Perl OLE 在 Microsoft Access 中执行宏

我想知道如何正确调用运行宏。我试过了

1) $oDatabase -> DoCmd.RunMacro("Macro1");
2)$oDatabase -> DoCmd -> RunMacro("Macro1");

但是他们向我抛出“无法在未定义的值上调用方法“DoCmd””或“无用的连接”

这甚至可以通过 Win::32 OLE 执行 DoCmd 吗?任何帮助将不胜感激。

这是一个完整的代码。它尝试查找当前打开的 Microsoft Access。

0 投票
1 回答
1121 浏览

com - 在 R 语言中使用 COM

我正在尝试让 R 的 rcom 包正常工作。它似乎已经安装好:

然后我尝试运行一些东西:

我错过了什么,手册告诉我 comCreateObject 是适当的命令。但是,该手册的版本有些旧。其他人有任何见解吗?

0 投票
4 回答
871 浏览

python - 为什么保存 MSWord 文档会静默失败?

我需要更改许多文件中的一些自定义属性值。这是一个代码示例 - 我如何为单个文件执行此操作:

运行相同的代码"Excel.Application"(稍作改动——只是为了让它工作)给了我很好的结果。但是,当我使用doc.Save()doc.SaveAs(same_file)用于 MSWord 时,它会默默地失败。我不知道为什么,但没有保存更改。

现在我的解决方法是使用SaveAs不同的文件,它也很好用。但我想了解为什么我对 MSWord 文件有如此奇怪的行为以及如何修复它?

编辑:我改变了我的代码,而不是误导那些因为 try/except 导致静默失败的人。但是,感谢他们所有人在我的代码中发现了该缺陷:)

0 投票
1 回答
3544 浏览

c# - C# 中的 MathType (OLE)

我正在尝试在 C# 应用程序中运行 MathType ...在表单中使用 OLE 来表示方程式/图像。

这就是我开始编写代码的方式。我得到了数学类型方程的 CLSID 对象。我创建一个新实例并运行一个动词来启动数学类型。在我尝试设置或获取我拥有的 IDataItem 属性的数据之前,这很有效。

代码:

该应用程序现在崩溃并出现以下异常:

System.Runtime.InteropServices.COMException 未处理 Message="Invalid FORMATETC 结构(来自 HRESULT 的异常:0x80040064 (DV_E_FORMATETC))" Source="System" ErrorCode=-2147221404 StackTrace:在 System.Runtime.InteropServices.ComTypes.IDataObject.GetData( FORMATETC& 格式,STGMEDIUM& 中等)

我不确定这意味着什么,但我认为这可能与 formatEtc.cfFormat = (Int16)dataFormatMathMLPres.Id; 该 ID 是 50000 并且不适合短(cfFormat 是短)有关,因此它会溢出到 -15000 之类的东西。

0 投票
1 回答
1502 浏览

c++ - 使用 OLE 终止 Excel 应用程序

如何使用 OLE 自动化手动终止 excel 应用程序?

我想在一些异常处理中执行此操作,以便在函数抛出错误时不会继续运行 excel 进程。

目前我使用以下代码打开excel:

Variant excel = Variant::CreateObject("Excel.Application");

0 投票
4 回答
373 浏览

c++ - 重新连接到通过 COM 启动的进程

首先,我想指出我需要使用 COM/OLE2 API,低级别的东西,可以放在 C Windows 控制台程序中的东西。我无法使用 MFC。我不能使用.NET。

我的问题是:

给定以下代码:

有没有办法将一些信息写入磁盘,以便我以后可以重新连接到同一个 IE 实例?基本上可以将“iePtr_”字符串化以供以后通过其他过程进行重组吗?

谢谢。

----稍后添加-----

我要解决的更广泛的问题是我想启动一个 AutoCAD 应用程序,将一些数据加载到其中,然后让它运行以供我的客户交互。稍后他会回到我的应用程序,我想重新连接到同一个 AutoCAD 会话并为其提供更多数据。

现在,我完全意识到我可以将 IDispatch 指针保存在我的应用程序的内存中,并且我将能够继续与同一个 AutoCAD 进程进行交互。那是我的后备位置。

但是,我使用“包装器”程序来完成我的 COM 工作。所以包装器是瞬态的。我的主应用程序启动包装器,然后包装器进行通信,然后退出。我只希望后续的包装器进程能够重新连接到同一个 AutoCAD 进程。

为什么要使用包装器?这是工作的原因:我的主要应用程序是 32 位应用程序,但我可以使用 64 位包装器并与 64 位 AutoCAD 通信。我需要能够与 64 位 AutoCAD 通信,并且可能无法轻松移植我的主应用程序(500K+ 行 C++)与我的包装程序(几百行)。

0 投票
4 回答
1540 浏览

c# - 从 C#,打开任意应用程序

相关问题 [stackoverflow]在这里

我正在尝试执行上述操作,但我想更进一步。我想使用文件类型的默认编辑器打开任意文件。从那时起,我想让我的用户像往常一样与文件交互,或者继续在我的应用程序中工作。扩展是用户完成编辑后发生的事情。有没有办法可以从外部应用程序捕获关闭(最好是保存)事件并将其用作执行其他操作的触发器?出于我的目的,跟踪外部应用程序的关闭就可以了。

我可以在特定情况下做到这一点。例如,我可以从我的应用程序中打开一个 Word 实例并跟踪我的应用程序感兴趣的事件。但是,我想将我的应用程序与 Word 分离。我想允许我的用户使用他们选择的任何文档编辑器,然后在幕后管理正在编辑的文件的存储。

0 投票
2 回答
1107 浏览

internet-explorer - 我的 ActiveX 控件如何在 Internet Explorer 中接管打印、另存为、查找等?

我有一个 ActiveX 控件,可以在 IE 中显示给定文件格式的文档,就像 Adob​​e 有一个显示 PDF 的 ActiveX 控件一样。

我的控件是一个整页控件,就像 PDF 查看器一样——它使用 IE 自己的EnableFullPage 机制接管了 IE 的整个客户区。

我想控制与文档相关的各种菜单和工具栏命令:打印、打印预览、页面设置、另存为、全选、复制、查找等。我猜肯定有一个官方的 API 可以做到这一点,因为 PDF 查看器可以做到这一点。(请注意,打印嵌入式 ActiveX控件的标准机制不适用——我需要显示我自己的打印对话框并控制整个过程,就像 PDF 查看器一样。)

(在 IE8 之前,我可以通过使用 Win32 子类侵入 IE 本身来做到这一点,这很讨厌但可以工作。但是 IE8 将选项卡内容保留在与工具栏不同的进程中,因此如果没有 DLL 注入,这不是一个选项,并且我可以看到 Adob​​e PDF veiwer 没有这样做。这就是为什么我相信有一个官方机制。)

0 投票
2 回答
1300 浏览

excel - 如何关闭由邮件合并启动的 Excel 实例

如何关闭由邮件合并启动的 Excel 实例

在启动器中运行的这段代码无法访问通过 DDE 运行的 Excel 吗?

0 投票
1 回答
189 浏览

excel - Excel:如何从 OLE 开始宏录制

我通过 OLE 控制 Excel 实例,我想开始宏录制。我可以通过代码做到这一点吗?我发现的唯一东西是Application.RecordMacro,它不能满足我的需要。