Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez effectuer des opérations complexes à l'aide d'un seul appel de méthode en appelant les boîtes de dialogue intégrées dans Microsoft Office Word sans les afficher à l'utilisateur.Pour ce faire, utilisez la méthode Execute de l'objet Dialog sans appeler la méthode Display.
S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau document et de niveau application pour Word 2013 et Word 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.
Exemples
Les exemples de code suivants montrent comment utiliser la boîte de dialogue Mise en page en mode masqué pour définir plusieurs propriétés de mise en page sans entrée d'utilisateur.Ces exemples utilisent un objet Dialog pour configurer une taille de page personnalisée.Les paramètres spécifiques pour la mise en page, tels que les paramètres de marge supérieure, marge inférieure, etc., sont disponibles en tant que propriétés à liaison tardive de l'objet Dialog.Ces propriétés sont créées dynamiquement par Word au moment de l'exécution.
L'exemple suivant montre comment effectuer cette tâche dans les projets Visual Basic dans lesquels Option Strict est désactivé et dans les projets Visual C# qui ciblent .NET Framework 4.Dans ces projets, vous pouvez utiliser des fonctionnalités de liaison tardive dans les compilateurs Visual C# et Visual Basic.Pour utiliser cet exemple de code, exécutez-le dans votre projet à partir de la classe ThisDocument ou ThisAddIn.
Dim dialog As Word.Dialog = Application.Dialogs.Item(Word.WdWordDialog.wdDialogFilePageSetup)
' Set the properties of the dialog box.
' ControlChars.Quote() is used to represent the symbol for inches.
With dialog
.PageWidth = 3.3 & ControlChars.Quote
.PageHeight = 6 & ControlChars.Quote
.TopMargin = 0.71 & ControlChars.Quote
.BottomMargin = 0.81 & ControlChars.Quote
.LeftMargin = 0.66 & ControlChars.Quote
.RightMargin = 0.66 & ControlChars.Quote
.HeaderDistance = 0.28 & ControlChars.Quote
.Orientation = Word.WdOrientation.wdOrientPortrait
.DifferentFirstPage = False
.FirstPage = 0
.OtherPages = 0
' Apply these settings only to the current selection with this line of code:
.ApplyPropsTo = 3
' Apply the settings.
.Execute()
End With
dynamic dialog = Application.Dialogs[Word.WdWordDialog.wdDialogFilePageSetup];
dialog.PageWidth = "3.3\"";
dialog.PageHeight = "6\"";
dialog.TopMargin = "0.71\"";
dialog.BottomMargin = "0.81\"";
dialog.LeftMargin = "0.66\"";
dialog.RightMargin = "0.66\"";
dialog.HeaderDistance = "0.28\"";
dialog.Orientation = "0";
dialog.DifferentFirstPage = "0";
dialog.FirstPage = "0";
dialog.OtherPages = "0";
// Apply these settings only to the current selection with this line of code:
dialog.ApplyPropsTo = "3";
// Apply the settings.
dialog.Execute();
L'exemple suivant montre comment effectuer cette tâche dans les projets Visual Basic où Option Strict est activé.Dans ces projets, vous devez utiliser la réflexion pour accéder aux propriétés à liaison tardive.Pour utiliser cet exemple de code, exécutez-le dans votre projet à partir de la classe ThisDocument ou ThisAddIn.
Friend Sub PageSetupDialogHidden()
Dim dialog As Word.Dialog = Application.Dialogs.Item(Word.WdWordDialog.wdDialogFilePageSetup)
' Set the properties of the dialog box.
' ControlChars.Quote() is used to represent the symbol for inches.
InvokeHelper(dialog, "PageWidth", "3.3" & ControlChars.Quote)
InvokeHelper(dialog, "PageHeight", "6" & ControlChars.Quote)
InvokeHelper(dialog, "TopMargin", "0.71" & ControlChars.Quote)
InvokeHelper(dialog, "BottomMargin", "0.81" & ControlChars.Quote)
InvokeHelper(dialog, "LeftMargin", "0.66" & ControlChars.Quote)
InvokeHelper(dialog, "RightMargin", "0.66" & ControlChars.Quote)
InvokeHelper(dialog, "HeaderDistance", "0.28" & ControlChars.Quote)
InvokeHelper(dialog, "Orientation", "0")
InvokeHelper(dialog, "DifferentFirstPage", "0")
InvokeHelper(dialog, "FirstPage", "0")
InvokeHelper(dialog, "OtherPages", "0")
' Apply these settings only to the current selection with this line of code:
InvokeHelper(dialog, "ApplyPropsTo", "3")
' Apply the settings.
dialog.Execute()
End Sub
Private Shared Sub InvokeHelper(ByVal dialog As Word.Dialog, ByVal member As String, ByVal value As String)
Dim dialogType As System.Type = GetType(Word.Dialog)
' Set the appropriate property of the dialog box.
dialogType.InvokeMember(member,
System.Reflection.BindingFlags.SetProperty Or
System.Reflection.BindingFlags.Public Or
System.Reflection.BindingFlags.Instance,
Nothing, dialog, New Object() {value},
System.Globalization.CultureInfo.InvariantCulture)
End Sub
Voir aussi
Référence
Réflexion (C# et Visual Basic)
Concepts
Comment : utiliser les boîtes de dialogue intégrées dans Word par programmation
Liaison tardive dans les solutions Office