我正在寻找有关如何实现以下功能的一些参考资料:
能够将对象(例如图表)嵌入到文字处理器中,并能够在它们各自的“母亲”应用程序中编辑它们
例如,MS Word 和 Visio 就像这样一起工作,允许用户在将图表添加到文字处理器后轻松编辑/调整图表。
我对如何在以下平台上完成此操作感兴趣:
- 微软Word
- 开发办公室
到目前为止,我知道:
- Microsoft Word 使用 OLE/COM
- 开放式办公室使用UNO
你能给我指出任何关于如何解决这个问题的参考资料、例子和书籍吗?
由于 OLE 几乎是一种史前技术(仍在使用),因此您必须深入研究 MSDN。下面链接的文章描述了一个示例应用程序,它可以嵌入到容器应用程序中,例如 IE、Word 或 OpenOffice。该示例基于 VC6,因此我不知道要让它在当前版本的 Visual Studio 上运行,您需要多少运气。
可能最简单的创建 OLE 控件 (.ocx) 的选项是使用旧的 Visual Basic 6。这在此处进行了描述:
也可以在 C# 等托管代码中编写控件,但我认为不建议这样做1因为如果当前进程已经在运行另一个版本的 CLR(到目前为止,只有一个版本的 CLR CLR 可以存在于一个进程中,.NET 4.0 将引入 CLR 的并行执行)。我找到了以下教程:
1请参阅Andrew Whitechapel在本文底部的警告。
This can still be quite easily done in Word using COM (or OLE but it's the same thing with a new name). Depending on what language you are intending to do it in you will go about it differently. Essentially you need to create a particular kind of ActiveX control.
In Delphi (the easiest language to do this in) you would create an ActiveXForm
in a COM dll and then you would be able to embed this in your word document. You could make your application do whatever you wanted inside Word (talking to Word is a bit more involved but possible).
I have no idea what to do in OpenOffice I'm afraid.
I think you need to come back with more specific questions.