问题标签 [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 回答
1553 浏览

c# - 使用 OLE 时如何绕过 MS Access 启动?

我正在尝试使用 C# 和 OLE 从访问数据库中自动导出 xml。除了显示启动表单并且在没有用户干预的情况下不会关闭之外,一切都运行良好。

到目前为止,这是我正在做的事情:

0 投票
4 回答
4657 浏览

perl - 在 perl 中自动处理 excel 文件并避免对话框/UI 交互

我如何保证通过 OLE 自动化 Microsoft Excel 时不会出现弹出对话框?我正在使用 Perl 模块(Win32::OLE)。我可以使用以下代码避免大多数对话框弹出:

但是对于某些文件,我会继续收到一个包含以下文本的对话框:

此文件不是可识别的格式。

  • 如果您知道该文件来自另一个与 Microsoft Excel 不兼容的程序,请单击“取消”,然后在其原始应用程序中打开该文件。如果您想稍后在 Microsoft Excel 中打开该文件,请将其保存为兼容的格式,例如文本格式。
  • 如果您怀疑文件已损坏,请单击帮助以获取有关解决问题的详细信息。
  • 如果您仍想查看文件中包含的文本,请单击“确定”。然后在文本导入向导中单击完成。

确定 取消

有时会出现一个类似的对话框,其中包含“确定”、“取消”和“帮助”按钮。

我无法控制提供给脚本的文件的质量。

0 投票
2 回答
1234 浏览

python - wxPython中OLE拖拽方式

我有在 MS Windows 上运行的 wxPython 应用程序,我希望它支持其实例之间的拖放(因此用户打开我的应用程序 3 次并将数据从一个实例拖到另一个实例)。

wxPython 中的简单拖放就是这样工作的:

  1. 用户发起拖动:源窗口在 wx.DataObject() 中打包必要的数据,创建新的 wx.DropSource,设置其数据并调用 dropSource.DoDragDrop()
  2. 用户将数据拖放到目标窗口:拖放目标调用库函数 GetData(),它将实际数据传输到其 wx.DataObject 实例,最后 - dataObject.GetData() 解包实际数据。

我想要一些更复杂的拖放功能,允许用户选择在他下降后拖动哪些数据。我的梦想
场景:

  1. 用户发起拖拽:只有一些指向源窗口的指针被打包(一些函数或对象)。
  2. 用户将数据拖放到目标窗口:显示漂亮的对话框,询问用户他选择了哪种拖放模式(例如 - 仅拖动歌曲标题,或歌曲标题和艺术家姓名或拖动艺术家的整个专辑)。
  3. 用户选择拖拽模式:Drop target 在拖拽的数据对象上调用一些函数,然后从拖拽源中取出数据并传送到drop target。

我梦想的场景在 MS Windows 中似乎是可行的,但是 wxWidgets 和 wxPython 的文档非常复杂且模棱两可。并非所有 wx.DataObject 类都在 wxPython 中可用(仅 wx.PySimpleDataObject),所以我希望有人分享他对这种方法的经验。这样的行为是否可以在 wxPython 中实现而无需直接在 winAPI 中进行编码?

编辑:Toni Ruža 通过工作拖放示例给出了答案,但这并不是我梦寐以求的场景。他的代码在数据被拖放时操作数据(HandleDrop()显示弹出菜单),但数据在启动拖动时准备好(在On_ElementDrag()中)。在我的应用程序中应该有三种不同的拖放模式,其中一些需要耗时的数据准备。这就是为什么我想将数据检索推迟到用户丢弃数据并选择(可能成本高昂)d&d 模式的那一刻。

对于内存保护问题 - 我想使用 OLE 机制进行进程间通信,就像 MS Office 一样。您可以复制 Excel 图表并将其粘贴到 MS-Word 中,它的行为就像图像(嗯,有点)。由于它有效,我相信它可以在 winAPI 中完成。我只是不知道我是否可以在 wxPython 中对其进行编码。

0 投票
3 回答
2086 浏览

excel - SWT OleClientSite:如何在 Excel 中加载 XML 文件?

我有一个 OfficeML 格式的 Excel 文件,MyData.xls。由于我从 Office 2003 升级到 Office 2007,我收到一条警告消息,指出文件内容与文件扩展名不匹配。看来 OfficeML 现在必须具有扩展名“xml”。

在我的应用程序中,我使用 OleClientSite 在 OleFrame 对象中显示文件。如果我将文件扩展名更改为“xml”,则不会启动 Excel。如果我将扩展名保留为“xsl”,则会收到上述警告消息。

如何强制使用 Excel 在 OleFrame 中打开扩展名为“xml”的文件?

0 投票
4 回答
5138 浏览

c# - 尝试在 Delphi 中访问 OleVariant 的无效变体操作异常 - 在 C# 中工作

我试图在来自 ActiveX 库的回调中访问 OleVariant。

以下是事件处理程序在 TLB 中的定义:

这是 TLB 中 structVTIQSnap 的定义:

它编译得很好,但是每次我尝试访问 bstrSymbol 时,我都会得到一个“无效的变体操作”:

如何在 Delphi 中访问 structQSnap 及其属性?

在 C# 中,此函数适用于事件处理程序:

有任何想法吗?

0 投票
6 回答
2285 浏览

delphi - 如何使用第二个客户端重用(Delphi)OLE 服务器?

我写了一个 OLE 自动化服务器(使用 Delphi)。我通常手动启动 OLE 服务器并将其用作普通应用程序。我不时启动一个客户端,它会自动连接到现有的 OLE 服务器。

当我终止客户端时,服务器不会终止(至少在客户端之前手动启动它时),但它不会接受任何其他 OLE 连接。启动另一个客户端将触发一个新服务器,而不是重用第一个。

如何与第二个客户端重用同一台服务器?

(问题已编辑以正确重新表述。在原始版本中,我问的是如何防止服务器终止,这不是一个好的表述)

0 投票
2 回答
247 浏览

sql-server - TSQL OLE (com) 对象

从 tsql 调用 ole 对象是否存在任何固有问题?我遇到了一个我想仅使用存储过程来解决的问题,使用 ole 对象而不是用基于 clr 的语言编写它有什么需要担心的吗?

0 投票
3 回答
3793 浏览

arrays - 如何从 Visual FoxPro 9 OLEPUBLIC 类返回数组?

作为 FoxPro 的新手(但 Clipper 的老手),我有点不知所措,不知道如何从以下 OLEPUBLIC 类返回数组。编辑:我已经修改了下面的代码,以考虑下面@Stuart 所做的评论。

鉴于以下 VBScript,我可以很好地打开文件。我似乎无法做的是取回比错误消息更有用的东西。

这是错误消息:

c:\temp\foo.vbs(3, 1) sloop.db sloop.db: .getrecord p:\testing\sloop\sloop.prg 第 41 行错误语法错误。200

事实证明,第 41 行是

这真的很奇怪,因为这是微软建议的语法。有什么线索吗?

0 投票
2 回答
5271 浏览

java - 是否有使用 OLE 自动化(来自 Java)的良好参考?

我正在尝试从 Java/SWT 应用程序与 Excel 进行通信。我已经能够打开工作表,打开文件并保存它,但仅此而已。

谁能指出我的一些文档/示例?我特别需要知道哪些命令可用。我确实尝试记录宏来检查。这很有用,但并没有给我想要的一切。

这是迄今为止我一直在尝试的示例:

0 投票
3 回答
18737 浏览

com - COM 和 OLE 有什么区别?

COM 和 OLE 之间有什么区别(如果有)?