COM对象方法是否可以返回指向另一个对象的指针



COM对象的方法是否可以返回指向另一个对象的指针?我想知道是否可以将方法从一个接口的结果调用到另一个接口。

例如:

object.getA().getB().getC()

我一直很难找到COM对象可用的数据类型的引用;对象"方法";,以及";接口";提供与COM无关的覆盖结果。我想我可能需要买一些书来获得更清晰的画面。

当然。查看Microsoft Office界面。

Excel或Word的基本对象是Application。对于命名空间,它可能是Excel.Application或Word.Application.

无论是Excel还是Word,它们都有返回其他对象的应用程序方法/属性。

对于Excel,Application.Workbooks返回一个对象,该对象是工作簿的集合。使用此对象,您可以迭代应用程序的打开文档。而且,在每个工作簿中都有一个Worksheets集合,它允许您迭代工作簿中的每个Worksheets。工作表有一个单元格集合,可用于获取工作表中的单个单元格或单元格区域。应用程序具有ActiveWorkbook属性,该属性返回具有当前焦点的工作簿。

对于Word,Application.Documents返回一个对象,该对象是文档的集合。您可以使用此集合迭代打开的文档,并获得特定的Document。文档有一个段落集合。应用程序有一个ActiveDocument对象,用于在前台获取Word文档。

许多(或大多数(对象具有";应用程序";属性,返回对象所属的应用程序;父";属性,该属性返回上下文敏感的父级。

所有这些返回其他对象的属性/方法正是Office自动化模型如此强大的原因。想象一下,如果它只返回字符串或数字,它会有多弱。

MsgBox "This instance of Word has " & Application.Documents.Count " documents open."
Dim doc as Document
Set doc = Application.ActiveDocument
MsgBox doc.Name & " has " doc.Paragraphs.Count & " paragraphs"

上面的功能并不强大,但想象一下,使用对象模型来动态创建一个文档,甚至发送它。或者,有一个邮件列表,拿一个文档用名称或地址替换一段文本,并通过电子邮件将文档单独发送给每个人。

相关内容

最新更新