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

时间:2010-01-07 19:22:50

标签: com ms-office openoffice.org ole uno

我正在寻找有关如何实现以下功能的一些参考资料:

  

将对象(例如图表)嵌入到文字处理器中并能够在各自的“母亲”应用程序中编辑它们的能力

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

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

  • Microsoft Word
  • OpenOffice的

到目前为止,我知道:

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

你能指点我参考,例子,书籍如何处理这个问题吗?

PS:每当我尝试搜索MSDN时,我都会觉得我在错误的地方。 =(

2 个答案:

答案 0 :(得分:4)

由于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 请参阅Andrew Whitechapel在this article底部的警告。

答案 1 :(得分:1)

这仍然可以很容易地在Word中使用COM(或OLE,但它与新名称相同)。根据您打算在其中使用的语言,您将采用不同的方式。基本上,您需要创建一种特定类型的ActiveX控件。

在Delphi(最简单的语言)中,您可以在COM dll中创建ActiveXForm,然后您就可以将其嵌入到Word文档中。你可以让你的应用程序在Word中做你想做的任何事情(与Word交谈有点参与但可能)。

我不知道在OpenOffice中该怎么做我害怕。

我认为你需要回答更具体的问题。