如何在自定义OLE对象中实现类似Excel的OLE链接行为

时间:2011-03-28 21:16:47

标签: mfc ms-word ole

在Word中,您可以链接到Excel电子表格中的特定单元格 - 它本身可以作为单独的文件存在,也可以作为单词doc中的嵌入对象存在。 然后,您可以创建指向该电子表格中特定单元格的链接,通常是通过从就地激活的电子表格中复制单元格,然后使用“选择性粘贴”将链接粘贴到复制的单元格。该链接使用链接名称中的excel's!Sheet1!R2C1格式来标识单元格(您可以编辑此名称以链接到不同的单元格)。

如何为自定义OLE对象(使用MFC OLE类构建)实现相同的效果? 它是否可能,或者Word是否使用有关Excel的内置知识来执行此操作?

1 个答案:

答案 0 :(得分:0)

简短的回答是 Item Moniker 。您需要实施IOleItemContainer才能执行此操作。

  

当与文件名字对象结合使用时,项目名字对象形成完整路径。因此,项目标记将路径名称的概念扩展到文件系统之外,定义路径名称以标识单个对象,而不仅仅是文件。

长的答案是否定的,Word没有使用关于Excel的秘密知识(反之亦然),尽管我确信它有助于OLE是在将Excel作为主要用例嵌入到Word中构建的。

您还可以在Internet Explorer中嵌入Excel范围,或者几乎任何支持嵌入的内容。您可以使用Set oRange = GetObject("c:\path\to\spreadsheet.xls!Sheet1!R2C1")或类似方法访问范围对象并从VBScript更改其属性。