Dans Microsoft Word Visual Basic Editor, vous pouvez créer des références à des bibliothèques d'objet ou de code dans un document externe ou un modèle. Cela permet de pouvoir appeler des procédures externes comme s'ils ont été écrits dans votre propre projet. Notez que des problèmes peuvent se produire si les fichiers référencés sont déplacés ou sont endommagés. Erreurs de stockage macro peuvent se produire et la boîte de dialogue
Références pouvez deviennent inaccessible.
Cet article explique comment créer de références autres Microsoft Visual Basic pour Applications (VBA), projets, comment faire pour vérifier que les références sont corrects et comment supprimer par programme des références incorrectes.
Connaissance préalable est nécessaire :
- Compétences programmation fondamentales VB/VBA
- Base compétences Microsoft Office
- Compétences de l'Explorateur Windows
Dans cet article, vous utilisez le Visual Basic Editor pour démontrer comment :
- Créer une référence à votre propre VBA personnalisé projet.
- Écrire du code pour vérifier que la référence existe.
- Écrire du code pour supprimer une référence incorrecte.
- Écrire du code pour ajouter la référence au.
Configurer les autorisations de sécurité Project
- Dans Microsoft Word, dans le menu Outils , pointez sur macro , puis cliquez sur sécurité pour afficher la boîte de dialogue sécurité .
- Sous l'onglet niveau de sécurité , définissez le niveau de sécurité sur moyen , afin que vous ayez le choix de l'activation de vos macros.
- Sous l'onglet Sources fiables , vérifiez que la case à cocher Faire confiance au projet Visual Basic est activée. Cela permet de pouvoir utiliser du code VBA dans vos projets.
- Cliquez sur OK .
Dans Word 2007, procédez comme suit :
- Sous l'onglet développeur , cliquez sur Sécurité des macros dans le groupe code .
- Dans le volet gauche, cliquez sur Paramètres des macros .
- Dans le volet droit, cliquez sur Activer toutes les macros , puis cliquez sur Activer la case à cocher Accès approuvé au modèle d'objet du projet VBA .
- Cliquez sur OK .
Créer la référence de projet
Vous créez un projet qui contient une procédure, puis créer une référence à ce projet à partir d'un nouveau projet VBA.
Pour créer le fichier de bibliothèque :
- Créer un nouveau document dans Microsoft Word et puis enregistrez-le sous un modèle en procédant comme suit :
- Dans le menu Fichier , cliquez sur Enregistrer sous pour afficher la boîte de dialogue Enregistrer .
note Dans Word 2007, cliquez sur le bouton Microsoft Office , puis cliquez sur Enregistrer sous . - Modifiez la zone Nom de fichier pour Refme .
- Modifiez la zone type de fichier à modèle de document (* .dot) .
note Dans Word 2007, modifiez la zone type de fichier à modèle Word 97-2003 (* .dot) - Enregistrer le modèle dans le dossier « C:\TestFiles » (vous devez créer ce dossier si il n'existe pas).
- Appuyez sur ALT + F11 pour démarrer Visual Basic Editor.
- Dans le l'Explorateur de projets, sélectionnez TemplateProject (Refme) . Dans le menu Insertion , cliquez sur module . Cela ajoute un nouveau module intitulé « Module1 » dans le projet.
- Dans la fenêtre Code, tapez le code suivant pour Module1 :
Public Sub CallMe()
Msgbox "Hello World!"
End Sub
- Cliquez sur la procédure sub, puis, dans le menu Exécution , cliquez sur Exécuter Sub/UserForm . Une boîte de message "Hello World!" s'affiche. Fermez cette boîte de message.
- Dans le menu Affichage , cliquez sur Microsoft Word (ALT + F11) pour revenir dans Word.
- Dans Word, enregistrez et fermez le fichier de modèle.
Pour créer la référence :
- Dans Word, créer un nouveau document et puis enregistrez-le sous Myproj.doc dans le dossier « C:\TestFiles ».
- Démarrez Visual Basic Editor (ALT + F11). Dans le l'Explorateur de projets, sélectionnez projet (Myproj) .
- Créer une référence au modèle Refme comme suit :
- Dans le menu Outils , cliquez sur Références .
- Dans la boîte de dialogue Références , cliquez sur Parcourir .
- Dans la boîte de dialogue Ajouter une référence , définissez type de fichier à documents Word (* .doc; * .dot) .
note Dans Word 2007, défini le type de fichier sur Documents Word (*.docm; *.dotm.doc; * .dot) . - Dans le dossier « C:\TestFiles », sélectionnez le modèle Refme .
- Cliquez sur Ouvrir pour revenir à la boîte de dialogue Références .
- Cliquez sur OK pour retourner à Visual Basic Editor.
- Dans l'Explorateur de projets, développez le projet (Myproj) . Développer les références et vérifiez que la liste de référence inclut référence Refme.dot .
- Dans le menu Insertion , cliquez sur module pour insérer un nouveau module dans le projet. Écrire le code suivant dans le module pour appeler la procédure CallMe :
Public Sub Test()
Call CallMe
End Sub
- Tester la procédure pour vérifier qu'elle fonctionne et ensuite revenir dans Word.
- Enregistrez et fermez le fichier de document puis quittez Word.
Rechercher par programmation la référence de projet
Vous maintenant êtes délibérément interrompre votre référence et vérifiez l'exactitude de votre référence.
Pour rompre la référence :
- Dans l'Explorateur Windows (cliquez avec le bouton droit sur le menu Démarrer et puis cliquez sur Explorer dans le menu contextuel), remplacez le nom du modèle Refme.dot « Refme.old ». Pour ce faire, cliquez avec le bouton droit sur Refme.dot et puis cliquez sur Renommer dans le menu contextuel. Tapez refme.old , puis appuyez sur ENTRÉE.
- Revenir dans Word et rouvrez le document « Myproj.doc ».
- Étant donné que le niveau de sécurité est défini sur moyen , vous demandera si vous souhaitez activer ou désactiver les macros dans ce document. Cliquez sur Activer les macros .
note Ce problème ne se dans Word 2007. - Démarrez Visual Basic Editor (ALT + F11), puis exécutez la procédure de test. Cliquez sur OK pour le message d'erreur compilation suivantes :
Projet ou bibliothèque introuvable
- Vous devez être en mode pause (il existe une bande jaune sur la ligne Sub). Dans le menu exécuter , cliquez sur Rétablir pour revenir en mode Création.
- Dans le menu Outils , cliquez sur Références à afficher la boîte de dialogue Références . Vous voyez que Refme.dot est marquée comme « manquants ».
- Cliquez sur Annuler pour fermer la boîte de dialogue Références .
Pour vérifier par programmation les références manquantes :
- Dans le l'Explorateur de projets, sélectionnez projet (Myproj) .
- Dans le menu Outils , cliquez sur Références , puis ajoutez une référence à Microsoft Visual Basic pour Applications Extensibility 5.3 bibliothèque. Cette bibliothèque contient des objets qui voir les projets VBA.
- Avant de cliquer sur OK , vous devez vérifier que la nouvelle référence est ajoutée au-dessus de la référence « manquant ». Cliquez sur la flèche à plusieurs reprises pour modifier la priorité, déplacer la nouvelle référence au-dessus de la référence « manquant », puis cliquez sur OK .
- Dans le module, créer une procédure sub nommée « CheckReference », puis écrire le code suivant :
Sub CheckReference()
Dim vbProj As VBProject ' This refers to your VBA project.
Dim chkRef As Reference ' A reference.
' Refer to the activedocument's VBA project.
Set vbProj = ActiveDocument.VBProject
' Check through the selected references in the References dialog box.
For Each chkRef In vbProj.References
' If the reference is broken, send the name to the Immediate Window.
If chkRef.IsBroken Then
Debug.Print chkRef.Name
End If
Next
End Sub
- Dans le menu Affichage , cliquez sur Fenêtre Exécution (CTRL + G) pour ouvrir la fenêtre Exécution.
- Exécutez la procédure sub CheckReference. Le nom et l'emplacement du fichier s'affiche dans la fenêtre Exécution.
Supprimer et de rétablir la référence de projet
Cette section décrit comment supprimer par programme et rétablir une référence.
Pour supprimer une référence manquante :
- Dans la procédure sub CheckReference, modifiez l'instruction Debug.Print comme suit. Cela supprime toute référence manquante de votre projet :
vbProj.References.Remove chkRef
- Exécutez la procédure CheckReference.
- Vérifier que la référence a été supprimée dans la boîte de dialogue Références (dans le menu Outils , cliquez sur Références ).
Pour rétablir (ajouter) une référence :
- Dans l'Explorateur Windows, renommez Refme.old au « Refme.dot ».
- Rétablir le projet Myproj dans Visual Basic Editor dans Word.
- Écrire une procédure sub nouvelle nommée « AddReference » comme suit :
Sub AddReference()
Dim vbProj as VBProject
Set vbProj = ActiveDocument.VBProject
vbProj.References.AddFromFile "C:\TestFiles\Refme.dot"
End Sub
- Exécutez la procédure AddReference.
- Vérifiez que la référence Refme.dot a été reinstated. Vous pouvez afficher les références dans l'Explorateur de projets ou lorsque vous cliquez sur Références dans le menu Outils .
Résolution des problèmes
- Si vous effectuez des références au fichier natif d'une application, vous devez conserver l'extension de fichier natif. Sinon, vous pouvez rencontrer des problèmes lorsque vous utilisez la référence. Pour voir ces problèmes, essayez de créer une référence au fichier Refme.old au lieu du fichier Refme.dot dans l'exemple plus haut dans cet article.
- Si vous travaillez avec un composant enregistré, vous pouvez ajouter une référence GUID à votre projet. Utiliser la méthode AddFromGUID pour ce faire.
Numéro d'article: 308340 - Dernière mise à jour: vendredi 10 novembre 2006 - Version: 2.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
- Microsoft Office Word 2007
- Microsoft Office Word 2003
- Microsoft Word 2002 Standard Edition
| kbmt kbprogramming kbvba kbhowtomaster KB308340 KbMtfr |
Traduction automatiqueIMPORTANT : 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:
308340
(http://support.microsoft.com/kb/308340/en-us/
)
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.