如何使用自動化,取得並設定與 Visual C#.NET 的 Office 文件屬性

文章翻譯 文章翻譯
文章編號: 303296 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

結論

本文將告訴您如何建立一個 Microsoft Visual C#.NET 操縱的 Microsoft Word 文件屬性的自動化用戶端。雖然程式碼範例 Word 的特定但是時自動執行 Microsoft Excel 和 Microsoft PowerPoint 可以套用相同的技術。

其他相關資訊

建立 Microsoft Word 的一個自動化用戶端

  1. 啟動 Visual Studio.NET。
  2. 在 [檔案] 功能表上按一下 [新增],然後按一下 [專案]。選取 [從 Visual C# 專案類型的 [Windows 應用程式]。預設會建立 Form1。
  3. 加入 Microsoft Word 物件程式庫 的參考。要這麼做,請您執行下列步驟:
    1. 在 [專案] 功能表上按一下 [加入參考]。
    2. 在 [COM] 索引標籤上找不到 Microsoft Word 物件程式庫,然後按一下 [選取]。

      附註Microsoft Office 2003 包括主要 Interop 組件 (PIA)。Microsoft Office XP 不包括 PIA,但是他們可以下載。 取得更多資訊有關 Office XP PIA 按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
      328912資訊: Microsoft Office XP PIA 可供下載
    3. 按一下 [[確定] 在 [加入參考] 對話方塊以接受您的選擇。提示您產生您所選取的程式庫的包裝函式時,按一下 [是]
  4. 在 [檢視] 功能表上選擇 [工具箱],以顯示 [工具箱],然後再新增到 Form1 的 [按鈕]。
  5. 連按兩下 [Button1]。在表單的 [程式碼] 視窗隨即出現。
  6. 在 [程式碼] 視窗取代下列程式碼
    private void button1_Click(object sender, System.EventArgs e)
    {
    }
    					
    與:
    private void button1_Click(object sender, System.EventArgs e)
    {
       Word.Application oWord;
       Word._Document oDoc;
       object oMissing = Missing.Value;
       object oDocBuiltInProps;
       object oDocCustomProps;
    			
       //Create an instance of Microsoft Word and make it visible.
       oWord = new Word.Application();
       oWord.Visible = true;
    
       //Create a new Document and get the BuiltInDocumentProperties collection.
       oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, 
                                  ref oMissing);
       oDocBuiltInProps = oDoc.BuiltInDocumentProperties;
       Type typeDocBuiltInProps = oDocBuiltInProps.GetType();
    
       //Get the Author property and display it.
       string strIndex = "Author";
       string strValue;
       object oDocAuthorProp = typeDocBuiltInProps.InvokeMember("Item", 
                                  BindingFlags.Default | 
                                  BindingFlags.GetProperty, 
                                  null,oDocBuiltInProps, 
                                  new object[] {strIndex} );
       Type typeDocAuthorProp = oDocAuthorProp.GetType();
       strValue = typeDocAuthorProp.InvokeMember("Value", 
                                  BindingFlags.Default |
                                  BindingFlags.GetProperty,
                                  null,oDocAuthorProp,
                                  new object[] {} ).ToString();
       MessageBox.Show( "The Author is: " + strValue,"Author" );
    
       //Set the Subject property.
       strIndex = "Subject";
       strValue = "The Subject";
       typeDocAuthorProp.InvokeMember("Item", 
                                  BindingFlags.Default | 
                                  BindingFlags.SetProperty, 
                                  null,oDocBuiltInProps, 
                                  new object[] {strIndex,strValue} );
    			
       //Add a property/value pair to the CustomDocumentProperties collection.
       oDocCustomProps = oDoc.CustomDocumentProperties;
       Type typeDocCustomProps = oDocCustomProps.GetType();
    
       strIndex = "Knowledge Base Article";
       strValue = "Q303296";
       object[] oArgs = {strIndex,false,
                         MsoDocProperties.msoPropertyTypeString,
                         strValue};
    
       typeDocCustomProps.InvokeMember("Add",BindingFlags.Default | 
                                  BindingFlags.InvokeMethod, null, 
                                  oDocCustomProps, oArgs );
    
       MessageBox.Show("Select \"Properties\" from the File menu "
            + "to view the changes.\nSelect the Summary tab to view "
            + "the Subject property and the Custom tab to view the Knowledge"   
            + "Base Article property.", "Check File Properties",
            MessageBoxButtons.OK,MessageBoxIcon.Information);
    }
    					
  7. 捲動至程式碼] 視窗的上方,然後將下列幾行加入至 using 指示詞清單的結尾:
    using Microsoft.Office.Core;
    using Word = Microsoft.Office.Interop.Word;
    using System.Reflection;
    					
  8. 按下 F5 以執行應用程式。
附註DocumentPropertiesDocumentProperty 介面是晚期繫結之介面。若要將這些介面您必須處理這些像 IDispatch 介面。

?考

如需詳細資訊,請造訪下列 Microsoft 開發人員網路上的網站:
與 Visual Studio 的 Microsoft Office 程式開發
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx
如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
303294如何使用自動化,取得並設定使用 Visual Basic.NET 的 Office 文件屬性

屬性

文章編號: 303296 - 上次校閱: 2007年1月30日 - 版次: 6.4
這篇文章中的資訊適用於:
  • Microsoft Visual C# .NET 2003 標準版
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft Office Word 2003
  • Microsoft Word 2002 Standard Edition
關鍵字:?
kbmt kbpia kbautomation kbhowto KB303296 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:303296
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com