ИНФОРМАЦИЯ: Библиотеки типов для Microsoft Office может изменить с помощью новой версии

Переводы статьи Переводы статьи
Код статьи: 224925 - Vizualiza?i produsele pentru care se aplic? acest articol.
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
Развернуть все | Свернуть все

В этой статье

Аннотация

Продукты Microsoft Office могут изменяться от одного выпуска к другому. Как правило библиотека типов для продукта Office будет иметь те же функции, которые присутствуют в более ранней версии продукта, но некоторые функции могут иметь дополнения к числу аргументов. Таким образом при использовании классов ClassWizard сгенерированную оболочку для библиотеки объектов Microsoft Office с помощью кода, написанного на более ранней версии библиотеки объектов, может появиться следующая ошибка компиляции:
Ошибка C2660 ошибки: "(функция)": функция не принимает параметров (n)

Дополнительная информация

Чтобы проиллюстрировать это, один такой функции, которая была изменена — это метод объекта документы Microsoft Word 2000 установка. Если вы использовали ClassWizard для формирования класса-оболочки для функций в библиотеку типов Microsoft Word 2000 и использовать код, работавший в Microsoft Word 97, вы получите описанные выше ошибки компиляции. Ниже описывается, как можно решить эту проблему. Обратите внимание, что несмотря на то, что показан случай относится к коду, в частности, автоматизация Word, те же сведения, может применяться для других приложений Microsoft Office.

С помощью библиотеки типов Microsoft 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);
				
При попытке запуска этого кода для библиотеки типов Microsoft Word 2000, возникнет ошибка компиляции Ошибка C2660 ""Добавить": функция не принимает параметров 2" в следующей строке кода:
     oDoc = oDocs.Add(vtOptional,vtOptional);
				
Чтобы устранить эту проблему, можно выполнить следующие действия.
  1. Последовательно выберите пунктыClassViewвкладкиРабочая область проектаобозревателя..
  2. В диалоговом окнеКлассысписок для рабочей области, дважды щелкните значокДокументыкласс, чтобы отобразить его члены.
  3. Найдите значениеДобавить элементфункции и увидите, он ожидает четырех аргументов. Код передает только два аргумента, таким образом, появляется сообщение об ошибке компиляции.
  4. Обратитесь к справке по Visual Basic в Microsoft Word и найдите раздел для добавить метод документы объекта определить, какой тип данных для этих аргументов, так и для определения того, если аргументы являются необязательными. В этом случае оба новые аргументы являются необязательными.
  5. Вернуться к проекту и измените ошибочная строка кода для чтения.
       oDoc = Docs.Add(vtOptional,vtOptional,vtOptional,vtOptional);
    					
  6. Перекомпилируйте проект. Теперь он должен компилировать без ошибок.

Автоматизация нескольких версий приложений Office

Если требуется написать код MFC, который будет автоматизировать несколько версий приложения Microsoft Office, следует использовать ClassWizard для создания классов оберток из библиотеки типов в ранней версии. Например при желании клиента автоматизации для поддержки Microsoft Word 97 и 2000, с помощью библиотеки типов Microsoft Word 97 для классов с интерфейсом. Likewise, if you want your Automation client to support both Microsoft 2000 and 2002, use the Word 2000 type Library for your wrapper classes.

Ссылки

For more information on Office Automation, please visit the Microsoft Office Development support site at:
http://support.microsoft.com/ofd

Свойства

Код статьи: 224925 - Последний отзыв: 23 февраля 2014 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • 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 kbautomation kbinfo kbmt KB224925 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:224925

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