Partager via


Méthode Master.Open (Visio)

Ouvre une forme de base existante pour permettre sa modification.

Syntaxe

expression. Ouvert

Expression Variable qui représente un objet Master .

Valeur renvoyée

Master

Remarques

Utilisez la méthode Open pour un objet Master conjointement avec la méthode Close pour modifier de manière fiable les formes et les cellules d’une forme de base. Dans les versions précédentes de Visio, vous pouviez modifier les formes et les cellules d’un objet Master, mais ces modifications n’étaient pas répercutées sur les instances de la forme de base et les informations du rectangle de sélection affichées lors de la création des instances étaient incorrectes.

Pour modifier les formes et cellules d’un objet Master à partir d’un programme

  1. Ouvrez l’objet Master pour modification à l’aide de masterObjCopy = masterObj. Ouvrez. Ce code échoue si une fenêtre de dessin s’ouvre dans ObjetFormeBase ou si ObjetFormeBase est déjà ouvert dans d’autres programmes. Si la méthode Open réussit, CopieObjetFormeBase est une copie de ObjetFormeBase.

  2. Modifiez les formes et cellules dans masterObjCopy , et non masterObj.

  3. Fermez l’objet Master en utilisant CopieObjetFormeBase. Fermez. La méthode Close échoue si CopieObjetFormeBase n’est pas un objet Master résultant d’un appel ObjetFormeBase. Appel ouvert . Dans le cas contraire, la méthode Close fusionne les modifications effectuées au cours de l’étape 2 à partir de CopieObjetFormeBase dans ObjetFormeBase. Elle met également à jour toutes les instances de ObjetFormeBase pour refléter les modifications et les mises à jour des informations figurant dans ObjetFormeBase. Si ObjetFormeBase. IconUpdate n’est pas visManual (0), la méthode Close met à jour l’icône affichée dans la fenêtre de gabarit de ObjetFormeBase pour représenter une image de CopieObjetFormeBase.

Si vous modifiez les formes et cellules d’une forme de base directement, plutôt qu’en respectant la procédure ci-dessus (ouverture et fermeture de la forme de base), les effets répertoriés à l’étape 3 ne se produisent pas.

Un programme qui crée une copie d’un objet ObjetFormeBase pour le modifier doit fermer et libérer la copie. Microsoft Visual Basic libère généralement la copie automatiquement. Toutefois, lorsque vous utilisez le codage C ou C++, vous devez libérer explicitement la copie, comme vous l’auriez fait pour tout autre objet.

Remarque

À compter de Microsoft Office Visio 2003, seuls les gabarits créés par l’utilisateur sont modifiables. Par défaut, les gabarits de Visio ne sont pas modifiables.

Exemple

Cette macro Microsoft Visual Basic pour Applications (VBA) indique comment ouvrir un objet Master en vue de son édition. Elle ouvre une copie d’une forme de base à partir du gabarit de document et modifie la couleur de remplissage de premier plan de la forme de base et de toutes les formes du dessin dérivées de la forme de base.

Avant d’exécuter cette macro, fermez tous les documents Visio ouverts. Cliquez ensuite sur l’onglet Fichier , sur Nouveau, puis sur Créer pour ouvrir un document sans modèle. Cliquez sur l’outil Rectangle et dessinez un rectangle dans la page de dessin. Ouvrez le gabarit de document (dans la fenêtre Formes, cliquez sur Autres formes, puis sur Afficher le gabarit de document), puis faites glisser la forme de rectangle dans le gabarit de document pour créer une forme de base. Enfin, faites glisser plusieurs copies de la forme de base de rectangle dans la page de dessin.

 
Public Sub OpenMaster_Example() 
 
    Dim vsoMaster As Visio.Master 
    Dim vsoMasterCopy As Visio.Master 
    Dim vsoShape As Visio.Shape 
    Dim vsoCell As Visio.Cell 
 
    Set vsoMaster = Visio.Documents.Masters(1) 
    Set vsoMasterCopy = vsoMaster.Open 
 
    Set vsoShape = vsoMasterCopy.Shapes.Item(1) 
 
    Set vsoCell = vsoShape.CellsU("FillForegnd") 
    vsoCell.Formula = 9 
 
    vsoMasterCopy.Close 
 
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.