GetObject和New之间的区别

时间:2014-05-24 04:19:10

标签: vb.net office-interop

我通常创建一个Excel(或ppt)对象,如:

Imports Microsoft.Office.Interop

Private _xlApp as Excel.Application

_xlApp = CType(GetObject(, "Excel.Application"), Excel.Application)
...

现在检查msdn上的内容我在一个例子中看到他们这样做:

Imports Excel = Microsoft.Officee.Interop.Excel

Dim xlApp as Excel.Application = Nothing
xlApp = New Excel.Application

任何人都可以解释这两种方法之间的区别,因为我想正确应用它并且看不出差异。

1 个答案:

答案 0 :(得分:0)

在第一种情况下,您只是按名称获取COM对象并将其转换为自己的Type。实际上只对来自文件库的实例对象有用,该文件库没有为COM互操作注册,或者从文件中获取其他对象。我想你也可以使用它来获取正在运行的应用程序的实例。

嗯,似乎你可以直接从文件中加载excel文件作为对象:http://msdn.microsoft.com/en-us/library/e9waz863%28v=vs.90%29.aspx

在第二种情况下,您只是引用托管互操作库并直接创建对象。 http://msdn.microsoft.com/en-us/library/aax7sdch%28v=vs.110%29.aspx