Partager via


Conversion de macros WordBasic en procédures Visual Basic

Word 2003 et Word 2007 convertissent automatiquement les macros dans un modèle Word 6.x ou Word 95 la première fois que vous effectuez l’une des opérations suivantes :

  • ouvrez un tel modèle ;

  • créez un document basé sur le modèle ;

  • attachez manuellement le modèle à un document.

Un message s'affiche dans la barre d'état pendant la conversion des macros. Une fois la conversion terminée, vous devez enregistrer le modèle pour enregistrer les macros converties. Si vous n'effectuez pas cet enregistrement, Word devra en effet convertir de nouveau les macros à la prochaine utilisation du modèle.

Note Word ne peut pas convertir directement les macros Word 2.x. Vous devez donc ouvrir et enregistrer vos modèles Word 2.x sous Word 6.x ou Word 95 puis les ouvrir dans Word.

Le processus de conversion convertit chaque macro en module Visual Basic. Pour visualiser les macros converties, appuyez sur ALT-F8. Dans la boîte de dialogue Macros, les noms des macros s'affichent sous la forme nommacro.Main, où Main fait référence à la routine principale de la macro convertie (à savoir la routine qui commençait par Sub MAIN dans les versions précédentes de Word). Pour modifier la macro convertie, sélectionnez un nom de macro et cliquez sur Modifier pour afficher le module Visual Basic dans Visual Basic Editor. Chaque instruction WordBasic est modifiée de telle sorte qu'elle fonctionne dans Visual Basic pour Applications. Les macros WordBasic converties sont fonctionnellement équivalentes aux nouvelles macros Visual Basic pour Applications que vous êtes susceptible d'écrire ou d'enregistrer, mais elles ne sont pas identiques. La macro ci-dessous est une macro WordBasic dans un modèle Word 95 :

Sub MAIN 
FormatFont .Name = "Arial", .Points = 10 
Insert "Hello World" 
End Sub

Lorsque le modèle est ouvert dans Word, la macro est convertie dans le code suivant :

Public Sub Main() 
WordBasic.FormatFont Font:="Arial", Points:=10 
WordBasic.Insert "Hello World" 
End Sub

Chaque instruction de la macro convertie commence par la propriété WordBasic. WordBasic est une propriété du modèle d'objets Word qui renvoie un objet avec toutes les fonctions et instructions WordBasic ; cet objet rend possible l'exécution de macros WordBasic sous Word.

Note Si vous enregistrez le modèle sur le modèle d’origine, les macros WordBasic seront définitivement perdues et les versions précédentes de Word ne pourront pas utiliser les macros converties.

La macro Visual Basic ci-dessous donne les mêmes résultats que la macro WordBasic ci-dessus, mais elle n'utilise pas la propriété WordBasic.

Public Sub Main() 
 With Selection.Font 
 .Name = "Arial" 
 .Size = 10 
 End With 
 Selection.TypeText Text:="Hello World" 
End Sub

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.