2

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

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

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

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

  • 微软Word
  • 开发办公室

到目前为止,我知道:

  • Microsoft Word 使用 OLE/COM
  • 开放式办公室使用UNO

你能给我指出任何关于如何解决这个问题的参考资料、例子和书籍吗?

4

2 回答 2

3

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

创建 OLE 服务器

可能最简单的创建 OLE 控件 (.ocx) 的选项是使用旧的 Visual Basic 6。这在此处进行了描述:

如何在 VB 中创建和使用最小的 ActiveX 组件

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

在 .NET 中逐步创建 ActiveX

1请参阅Andrew Whitechapel在本文底部的警告。

于 2010-01-07T19:55:55.213 回答
1

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.

于 2010-01-24T00:55:01.450 回答