Affichage des boîtes de dialogue Word intégrées
Cette rubrique contient des informations et des exemples dans les sections suivantes.
Affichage d'une boîte de dialogue prédéfinie
Vous pouvez utiliser Visual Basic pour Applications (VBA) pour afficher une boîte de dialogue prédéfinie afin de récupérer les saisies effectuées par l'utilisateur ou contrôler Word. La méthode Show de l’objet Dialog affiche et exécute toute action effectuée dans une boîte de dialogue Word intégrée. Pour accéder à une boîte de dialogue Word prédéfinie donnée, affectez l'une des constantes WdWordDialog à la propriété Dialogs. L’instruction de macro ci-dessous, par exemple, permet d’afficher la boîte de dialogue Ouvrir (wdDialogFileOpen).
Sub ShowOpenDialog()
Dialogs(wdDialogFileOpen).Show
End Sub
Si lorsqu'un fichier est sélectionné l'utilisateur clique sur OK, le fichier est ouvert (l'action est exécutée). Cet exemple montre comment afficher la boîte de dialogue Imprimer (wdDialogFilePrint).
Sub ShowPrintDialog()
Dialogs(wdDialogFilePrint).Show
End Sub
Définissez la propriété DefaultTab pour accéder à un onglet particulier dans une boîte de dialogue Word. L'exemple suivant affiche l'onglet Bordure de page dans la boîte de dialogue Bordure et trame.
Sub ShowBorderDialog()
With Dialogs(wdDialogFormatBordersAndShading)
.DefaultTab = wdDialogFormatBordersAndShadingTabPageBorder
.Show
End With
End Sub
Remarque
Vous pouvez également utiliser les propriétés VBA de Word pour afficher les informations utilisateur sans afficher de boîte de dialogue. L’exemple suivant utilise la propriété UserName de l’objetApplication pour afficher le nom d’utilisateur de l’application sans afficher la boîte de dialogue Informations utilisateur.
Sub DisplayUserInfo()
MsgBox Application.UserName
End Sub
Si le nom de l'utilisateur est modifié dans l'exemple précédent, la modification n'est pas répercutée dans la boîte de dialogue. Utilisez la méthode Execute pour exécuter les paramètres d’une boîte de dialogue sans afficher la boîte de dialogue. L'exemple suivant montre comment afficher la boîte de dialogue Utilisateur, et, si le nom n'est pas une chaîne vide, comment répercuter les paramètres dans la boîte de dialogue à l'aide de la méthode Execute.
Sub ShowAndSetUserInfoDialogBox()
With Dialogs(wdDialogToolsOptionsUserInfo)
.Display
If .Name <> "" Then .Execute
End With
End Sub
Remarque
Utilisez les propriétés et les méthodes VBA dans Word afin de définir les informations utilisateur sans afficher de boîte de dialogue. L'exemple de code suivant montre comment modifier le nom de l'utilisateur au moyen de la propriété UserName de l'objet Application, puis comment afficher la boîte de dialogue Utilisateur afin de montrer que la modification a bien été apportée. Notez que l'affichage de la boîte de dialogue n'est pas nécessaire pour modifier une valeur dans une boîte de dialogue.
Sub SetUserName()
Application.UserName = "Jeff Smith"
Dialogs(wdDialogToolsOptionsUserInfo).Display
End Sub
Renvoi et modification des paramètres des boîtes de dialogue
Il n’est pas très efficace d’utiliser un objet Dialog pour retourner ou modifier une valeur d’une boîte de dialogue lorsque vous pouvez la retourner ou la modifier à l’aide d’une propriété ou d’une méthode. En outre, dans la très grande majorité des cas, il est plus simple et plus rapide d'utiliser du code VBA que d'avoir recours à l'objet Dialog. De ce fait, les exemples ci-dessous montrent également comment utiliser les propriétés VBA pour exécuter des tâches identiques.
Avant de retourner ou de modifier un paramètre de boîte de dialogue à l’aide de l’objet Dialog , vous devez identifier la boîte de dialogue individuelle. Pour ce faire, utilisez la propriété Dialogs avec une constante WdWordDialog. Après avoir instancié un objet Dialog, vous pouvez renvoyer ou définir des options dans la boîte de dialogue. L'exemple ci-dessous montre comment afficher le retrait droit défini dans la boîte de dialogue Paragraphe.
Sub ShowRightIndent()
Dim dlgParagraph As Dialog
Set dlgParagraph = Dialogs(wdDialogFormatParagraph)
MsgBox "Right indent = " & dlgParagraph.RightIndent
End Sub
Remarque
Utilisez les propriétés et méthodes VBA de Word pour afficher le paramètre de retrait droit pour le paragraphe. L’exemple suivant utilise la propriété RightIndent de l’objet ParagraphFormat pour afficher le retrait droit du paragraphe à la position du point d’insertion.
Sub ShowRightIndexForSelectedParagraph()
MsgBox Selection.ParagraphFormat.RightIndent
End Sub
De la même façon que vous pouvez renvoyer les paramètres d'une boîte de dialogue, vous pouvez également définir ces paramètres. L'exemple suivant montre comment activer la case à cocher Paragraphes solidaires de la boîte de dialogue Paragraphe.
Sub SetKeepWithNext()
With Dialogs(wdDialogFormatParagraph)
.KeepWithNext = 1
.Execute
End With
End Sub
Remarque
Vous pouvez également utiliser les méthodes et les propriétés VBA de Word pour modifier le retrait droit du paragraphe. L’exemple suivant utilise la propriété KeepWithNext de l’objet ParagraphFormat pour conserver le paragraphe sélectionné avec le paragraphe suivant.
Sub SetKeepWithNextForSelectedParagraph()
Selection.ParagraphFormat.KeepWithNext = True
End Sub
Remarque
Utilisez la méthode Update pour vous assurer que les valeurs de la boîte de dialogue reflètent les valeurs actuelles. La méthode Update peut vous être utile si vous définissez une variable de boîte de dialogue au début d’une macro et que vous voulez revenir en arrière ou modifier les paramètres en cours.
Vérification de l'action effectuée pour fermer une boîte de dialogue
La valeur renvoyée par les méthodes Show et Display indique sur quel bouton l'utilisateur a cliqué pour fermer la boîte de dialogue. Cet exemple montre comment afficher la boîte de dialogue Saut, et, si l'utilisateur clique sur OK, afficher un message dans la barre d'état.
Sub DialogBoxButtons()
If Dialogs(wdDialogInsertBreak).Show = -1 Then
StatusBar = "Break inserted"
End If
End Sub
Le tableau ci-dessous répertorie les valeurs renvoyées qui sont associées à des boutons au sein des boîtes de dialogue.
Valeur renvoyée | Description |
---|---|
-2 | Bouton Fermer. |
-1 | Bouton OK. |
0 (zéro) | Bouton Annuler. |
> 0 (zéro) | Bouton de commande, 1 correspondant au premier bouton, 2 au deuxième, etc. |
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.