C#互操作系列文章:
- C#互操作性入門系列(一):C#中互操作性介紹
- C#互操作性入門系列(二):使用平臺調(diào)用調(diào)用Win32 函數(shù)
- C# 互操作性入門系列(三):平臺調(diào)用中的數(shù)據(jù)封送處理
- C#互操作性入門系列(四):在C# 中調(diào)用COM組件
本專題概要:
- 引言
- 如何在C#中調(diào)用COM組件——訪問Office 互操作對象
- 在C# 中調(diào)用COM組件的實現(xiàn)原理剖析
- 錯誤處理
- 小結(jié)
一、引言
COM(Component Object Modele,組件對象模型)是微軟以前推崇的一個開發(fā)技術(shù),所以現(xiàn)在微軟的很多產(chǎn)品都用到了COM組件,如Office,IE 等。然而如果.NET 平臺下的程序想訪問COM組件的方式來實現(xiàn)某個功能怎么辦呢? 正是由于開發(fā)人員有這個需求,所以微軟在.NET FrameWork中為COM和托管代碼之間進(jìn)行互操作提供了支持,這種互操作性的技術(shù)就是COM Interop。 但是COM Interop(COm互操作)這項技術(shù),不僅支持在托管代碼中使用COM對象,并且也支持在COM中使用托管對象,本專題只針對在.NET中調(diào)用COM對象來介紹,由于COM技術(shù)現(xiàn)在用的不多,所以如何在COM中使用托管對象將不會在本系列中做出介紹,如果有需要的朋友可以參看MSDN的相關(guān)鏈接: http://msdn.microsoft.com/zh-cn/library/3y76b69k(v=vs.100).aspx。
下面就從一個具體的實例來看看在.NET 中是如何調(diào)用COM組件的。
二、如何在C#中調(diào)用COM組件——訪問Office 互操作對象
因為Office產(chǎn)品中使用了很多COM組件,下面就演示通過調(diào)用Office中的COM對象來創(chuàng)建Word文檔并保存創(chuàng)建的文檔到文件目錄下的例子(在新建的控制臺程序里添加”Microsoft.Office.Interop.Word 14.0.0.0 “ 這個引用,14.0.0.0版本是對應(yīng)于Office 2010的一個互操作程序集, 12.0.0.0版本則是對應(yīng)于Office 2007的互操作程序集,如果你電腦中只安裝了Office 2007的話,就只能找到 12.0.0.0的版本的,如果安裝了Office 2010的話,就可以同時找到這兩個版本。)。具體代碼如下: