Information : Les bibliothèques de types pour Office peuvent changer avec la nouvelle version

Traductions disponibles Traductions disponibles
Numéro d'article: 224925 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Sommaire

Résumé

Produits Microsoft Office peuvent changer d'une version à l'autre. En règle générale, la bibliothèque de type pour un produit Office aura les mêmes fonctions qui étaient présentes dans la version antérieure du produit, mais certaines fonctions peut-être ajouts au nombre d'arguments. Par conséquent, si vous utilisez des classes wrapper généré ClassWizard pour une bibliothèque d'objet Office avec le code écrit avec une version précoce de la bibliothèque d'objet, vous pouvez recevoir l'erreur de compilation suivante :
erreur l'erreur C2660: (fonction): fonction ne prend pas de paramètres (n)

Plus d'informations

Pour illustrer, une telle fonction a changé est la méthode de complément de Microsoft Word 2000 de l'objet documents. Si vous avez utilisé l'Assistant ClassWizard pour générer des wrappers de classe pour les fonctions dans la bibliothèque de type Microsoft Word 2000 et que vous utilisez code qui fonctionnait avec Microsoft Word 97, vous recevrez l'erreur de compilation décrite précédemment. Le tableau suivant décrit la façon dont vous pouvez corriger ce problème. Notez que bien que le cas illustré s'applique au code spécifiquement automatise Word, les mêmes informations peuvent être appliquées à d'autres applications Microsoft Office.

Avec la bibliothèque de type Word 97, vous pouvez utiliser le code suivant pour automatiser Word et démarrer un nouveau document :
   _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);
				
si vous essayez d'exécuter ce code par rapport à la bibliothèque de type Word 2000, vous recevrez l'erreur de compilation l'erreur C2660 vous "'Ajouter': fonction ne prend pas de 2 paramètres" pour la ligne suivante de code :
     oDoc = oDocs.Add(vtOptional,vtOptional);
				
pour corriger ce problème, vous pouvez effectuer les étapes suivantes.
  1. Cliquez sur l'onglet ClassView de la fenêtre projet.
  2. Dans la liste de classes pour votre espace de travail, double-cliquez sur la classe de documents pour afficher ses membres.
  3. Recherchez la fonction Ajouter un membre et vous verrez qu'il s'attend à quatre arguments. Votre code seulement passe deux arguments, donc vous recevez l'erreur de compilation.
  4. Reportez-vous à l'aide de Visual Basic dans Microsoft Word et recherchez la rubrique pour l'ajouter une méthode de l'objet documents pour déterminer le type de données à utiliser pour ces arguments et/ou pour déterminer si les arguments sont facultatifs. Dans ce cas, les deux nouveaux arguments sont facultatifs.
  5. Revenir à votre projet et modifier la ligne incriminée de code à lire :
       oDoc = Docs.Add(vtOptional,vtOptional,vtOptional,vtOptional);
    					
  6. Recompilez le projet. Il doit désormais compile sans erreur.

Automatisation de plusieurs versions d'applications Office

Si vous avez l'intention d'écrire du code MFC qui automatisera plusieurs versions d'une application Microsoft Office, vous devez utiliser l'Assistant ClassWizard pour générer des classes wrapper à partir de la bibliothèque de type de la version la plus ancienne. Par exemple, si vous souhaitez que votre client Automation pour prendre en charge Microsoft Word 97 et 2000, utilisez la bibliothèque de type Word 97 pour vos classes wrapper. De même, votre client Automation pour prendre en charge Microsoft 2000 et 2002, utilisez la bibliothèque de types Word 2000 pour vos classes wrapper.

Références

Pour plus d'informations sur Office Automation, reportez-vous au site de support de développement de Microsoft Office à :
http://support.microsoft.com/ofd

Propriétés

Numéro d'article: 224925 - Dernière mise à jour: dimanche 23 février 2014 - Version: 5.4
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Excel 2000 Standard
  • Microsoft Word 2002 Standard Edition
  • Microsoft Excel 2002
  • Microsoft PowerPoint 2002 Standard
  • Microsoft Access 2002
  • Microsoft Word 2000 Standard Edition
  • Microsoft PowerPoint 2000 Standard
  • Microsoft Access 2000 Standard Edition
  • Microsoft Foundation Class Library 4.2
Mots-clés : 
kbnosurvey kbarchive kbmt kbautomation kbinfo KB224925 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 224925
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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