com - 将对象嵌入到 Microsoft Word 和 OpenOffice Writer 中

标签 com ms-office openoffice.org ole uno

我正在寻找一些有关如何实现以下功能的引用:

ability to embed objects (e.g. diagrams) into word processors and being able to edit them in their respective "mother" application

例如,MS Word 和 Visio 像这样一起工作,允许用户在将图表添加到文字处理器后轻松编辑/调整图表。

我对如何在以下平台上完成此操作感兴趣:

  • 微软Word
  • OpenOffice

到目前为止我知道:

  • Microsoft Word 使用 OLE/COM
  • Open Office 使用 UNO

您能给我提供有关如何解决此问题的任何引用资料、示例和书籍吗?

最佳答案

由于 OLE 几乎是一种史前技术(仍在使用),因此您必须在 MSDN 中深入研究。下面链接的文章介绍了一个可以嵌入到 IE、Word 或 OpenOffice 等容器应用程序中的示例应用程序。该示例基于 VC6,因此我不知道您需要多大的运气才能让它在当前版本的 Visual Studio 上运行。

Creating an OLE Server

创建 OLE 控件 (.ocx) 的最简单选项可能是使用旧的 Visual Basic 6。如下所述:

How To Create and Use a Minimal ActiveX Component in VB

也可以用 C# 等托管代码编写控件,但我认为不建议这样做1,因为如果当前进程已经在运行另一个版本的 CLR,则可能会导致冲突(到目前为止,进程中只能存在一个版本的 CLR,.NET 4.0 将引入 CLR 的并行执行)。我找到了以下教程:

Create ActiveX in .NET Step by Step

1请参阅 this article 底部的警告作者:安德鲁·怀特查佩尔。

关于com - 将对象嵌入到 Microsoft Word 和 OpenOffice Writer 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2023004/

相关文章:

c++ - COM 调度接口(interface)事件

c# - 将控件添加到 Office (VSTO) 中的现有功能区组

java - 如何在 Java 中将输出发送到外部/第二个显示器?

c# - OpenOffice uno.util.Bootstrap.bootstrap() 挂起并且不返回

console - openoffice 可以从控制台计算单词吗?

c++ - 为什么在 Windows API 中调用 CoCreateInstance 函数时没有类型不匹配?

c# - 我在哪里可以获得用于创建 DLL、C# 的接口(interface)和类的 GUID 值

c# - 哪些 Office 文件查看器和编辑器可用于 Windows Phone 8?

C#:使用 ExcelPackage 获取行数/列数

delphi - 将 COM 对象接口(interface)从 C 转换为 Delphi