Différences conceptuelles entre WordBasic et Visual Basic

La principale différence entre Visual Basic pour Applications (VBA) et WordBasic est que, alors que le langage WordBasic se compose d’une liste plate d’environ 900 commandes, Visual Basic se compose d’une hiérarchie d’objets, chacun d’entre eux exposant un ensemble spécifique de méthodes et de propriétés (similaires aux instructions et fonctions dans WordBasic). Alors que la plupart des commandes WordBasic peuvent être exécutées à tout moment, Visual Basic ne rend accessible que les méthodes et les propriétés des objets qui sont disponibles à un moment donné.

Les objets sont les blocs de construction fondamentaux de Visual Basic; presque tout ce que vous faites dans Visual Basic implique la modification d’objets. Chaque élément de Word( documents, paragraphes, champs et signets) peut être représenté par un objet en Visual Basic. À la différence de WordBasic, certains objets ne sont accessibles qu'à partir d'autres objets. Par exemple, l’objet Font est accessible à partir de différents objets, notamment les objets Style, Selection et Find .

La programmation de l'application d'une mise en forme Gras montre les différences entre ces deux langages de programmation. L'instruction WordBasic ci-dessous met la sélection en gras.

Bold 1

L'exemple ci-dessous est son équivalent Visual Basic.

Selection.Font.Bold = True

Visual Basic does not include a Bold statement and function. Instead, there is a Bold property. (A property is usually an attribute of an object, such as its size, its color, or whether or not it is bold.) Bold is a property of the Font object. Likewise, Font is a property of the Selection object that returns a Font object. En suivant la hiérarchie d’objets, vous pouvez générer l’instruction pour appliquer une mise en forme en gras à la sélection. La propriété Bold est une propriété booléenne en lecture/écriture. This means that the Bold property can be set to True or False (on or off), or the current value can be returned. The following WordBasic instruction returns a value indicating whether bold formatting is applied to the selection.

x = Bold()

Voici l'équivalent Visual Basic destiné à renvoyer la même information :

x = Selection.Font.Bold

Logique Visual Basic

Pour effectuer une tâche dans Visual Basic, vous devez déterminer l'objet adéquat. Par exemple, si vous souhaitez appliquer une mise en forme de caractères disponible à partir de la boîte de dialogue Police, vous devez utiliser l'objet Font. Vous devez ensuite descendre dans la hiérarchie d'objets de Word, c'est-à-dire remonter de l'objet Application jusqu'à l'objet Font, en passant par les objets successifs qui contiennent l'objet Font à modifier. Après avoir déterminé le chemin d’accès à votre objet (par exemple, ), utilisez l’Explorateur d’objets, l’aide ou les fonctionnalités telles que Liste automatique des membres dans Visual Basic Editor pour déterminer les propriétés et méthodes qui peuvent être appliquées à l’objet. Pour plus d'informations sur la descente dans la hiérarchie au moyen des propriétés et des méthodes, voir Objets, propriétés et méthodes.

Les propriétés et les méthodes sont souvent accessibles à plusieurs objets dans la hiérarchie d'objets de Word. L'instruction ci-dessous applique par exemple une mise en gras à la totalité du document.

ActiveDocument.Content.Bold = True

En outre, les objets eux-mêmes existent souvent à plusieurs endroits dans la hiérarchie d’objets.

Objets Selection et Range

La plupart des commandes WordBasic modifient la sélection. Par exemple, la commande Gras met en forme la sélection avec une mise en forme en gras. La commande InsertField insère un champ au niveau du point d’insertion. Lorsque vous souhaitez utiliser la sélection en Visual Basic, vous utilisez la propriété Selection pour renvoyer l’objet Selection . La sélection peut être un bloc de texte ou simplement le point d’insertion.

L'exemple Visual Basic ci-dessous montre comment insérer du texte et un nouveau paragraphe après la sélection.

Selection.InsertAfter Text:="Hello World" 
Selection.InsertParagraphAfter

Outre travailler sur la sélection, vous pouvez définir et travailler sur diverses plages de texte dans un document. Un objet Range fait référence à une zone contiguë (une plage) dans un document, qui est désignée par une position de caractère de début et une position de caractère de fin. Tout comme les signets dans un document, les objets Range sont utilisés dans Visual Basic pour identifier des parties d'un document. Toutefois, contrairement à un signet, un objet Range est invisible pour l'utilisateur, à moins que Range n'ait été sélectionné à l'aide de la méthode Select. Vous pouvez ainsi utiliser Visual Basic pour appliquer une mise en gras à un endroit du document sans modifier la sélection active. L'exemple ci-dessous montre comment appliquer une mise en forme gras aux dix premiers caractères du document actif.

ActiveDocument.Range(Start:=0, End:=10).Bold = True

Cet exemple montre comment appliquer une mise en gras au premier paragraphe du document actif :

ActiveDocument.Paragraphs(1).Range.Bold = True

Les deux exemples ci-dessus montrent comment modifier la mise en forme du document actif sans modifier la sélection. Pour plus d’informations sur l’objet Range, voir Utilisation des objets Range.

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.