資訊: 因為新發行的版本,可能會變更 Office 的型別程式庫

文章翻譯 文章翻譯
文章編號: 224925 - 檢視此文章適用的產品。
本文已封存。本文係以「現狀」提供且不會再更新。
全部展開 | 全部摺疊

在此頁中

結論

Microsoft Office 產品可能會移至下一個變更從一個版本。 通常,Office 產品的型別程式庫將會有相同已出現在較早的產品版本中的函式,但有些函式可能會有加入引數數目的項目。因此,如果您使用 ClassWizard 產生包裝函式類別的 Office 物件程式庫對物件程式庫的早期版本撰寫的程式碼,可能會收到下列的編譯錯誤:
錯誤 C2660: '(函數)': 函式不採用 (n) 參數

其他相關資訊

為了說明,一個這類函式已經變更,會是文件物件的 Microsoft Word 2000 新增方法。如果您已使用 [ClassWizard 來產生函式的類別包裝函式在 Microsoft Word 2000 型別程式庫中,且您使用 Microsoft Word 97 使用過的程式碼,您會收到先前所述的編譯錯誤。下列說明您可以如何來修正這個問題。請注意雖然說明大小寫套用到特別自動化 Word 的程式碼,相同的資訊可以套用到其他 Microsoft Office 應用程式。

與 Word 97 型別程式庫您可以使用下列程式碼來自動化 Word 並開始新的文件:
   _Application oApp;
   Documents oDocs;
   _Document oDoc;
   COleVariant vtOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR),
               vtTrue((short)TRUE),
               vtFalse((short)FALSE);

   // Create an instance of Word
   if (!oApp.CreateDispatch("Word.Application")) 
   {
      AfxMessageBox("Word failed to start!");
      return;
   } 
	
   // Add a new document and make Word visible
   oDocs = oApp.GetDocuments();
   oDoc = oDocs.Add(vtOptional,vtOptional);
   oApp.SetVisible(TRUE);
				
如果您嘗試對 Word 2000 型別程式庫執行這個程式碼,將會產生編譯錯誤 C2660"'新增': 函式不採用 2 參數"下列一行的程式碼:
     oDoc = oDocs.Add(vtOptional,vtOptional);
				
若要更正此問題,您可以執行下列步驟。
  1. 移至 [Project 工作區] 視窗的 [ClassView] 索引標籤。
  2. 在您工作區的 [類別] 清單按兩下 [文件 類別,以顯示其成員]。
  3. 找出 加入成員 函式,您會看到必須要有四個引數。您的程式碼只傳遞兩個引數,因此您會收到編譯錯誤。
  4. 請參閱 Microsoft Word 中 Visual Basic 說明,並找出 [加入方法的文件物件來決定何種類型的資料要使用這些引數和/或以判定是否引數是選擇性的 「 」 主題。在這種情況下,這兩個新的引數是選擇性的。
  5. 傳回至您的專案並修改程式碼來讀取有問題的那一行:
       oDoc = Docs.Add(vtOptional,vtOptional,vtOptional,vtOptional);
    					
  6. 重新編譯此專案。它現在應該編譯而不會在發生錯誤。

自動化 Office 應用程式的多個版本

若想撰寫自動化 Microsoft Office 應用程式的多個版本的 MFC 程式碼您應該使用 [ClassWizard 從型別程式庫的最早的版本產生的包裝函式類別。比方說如果您想要您的自動化用戶端支援 Microsoft Word 97 與 2000年,使用 [包裝函式類別的 [Word 97 型別程式庫]。同樣地,視您的自動化用戶端支援 Microsoft 2000 與 2002年使用包裝函式類別的 [Word 2000 型別程式庫]。

?考

如需有關 Office 自動化的詳細資訊,請參閱 Microsoft Office 程式開發的支援網站,在:
http://support.microsoft.com/ofd

屬性

文章編號: 224925 - 上次校閱: 2014年2月23日 - 版次: 5.4
這篇文章中的資訊適用於:
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Word 2002 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft Access 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
  • Microsoft PowerPoint 2000 Standard Edition
  • Microsoft Access 2000 Standard Edition
  • Microsoft Foundation Class Library 4.2
關鍵字:?
kbnosurvey kbarchive kbmt kbautomation kbinfo KB224925 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:224925
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