Académique Documents
Professionnel Documents
Culture Documents
Visio
Visual
Basic
Visual Basic
et C++
qui permettent de dvelopper des programmes utilisant Visio en tant que
composant.
Cette prface dfinit les conventions utilises dans ce guide, les connaissances
ncessaires sa comprhension, prsente les toutes dernires fonctions destines aux
dveloppeurs de solutions et rpertorie les matriaux de rfrence en ligne.
A propos du prsent guide....................................................................................... 2
Nouvelles fonctions destines aux dveloppeurs.................................................. 3
Matriaux de rfrence en ligne.............................................................................. 4
2 P RFACE
A propos du prsent guide
Le guide Developing Visio Solutions peut aider tout utilisateur souhaitant
personnaliser les formes ou les solutions Visio, notamment les dveloppeurs
dapplications, les analystes systme, les programmeurs, les architectes, les ingnieurs
et les utilisateurs de logiciels de CAO.
Connaissances ncessaires
Vous devez connatre les techniques de dessin et les commandes, les outils et les
menus de Visio. Vous devez galement matriser les systmes de coordonnes
cartsiens et les bases de la gomtrie. Des connaissances en transformation,
trigonomtrie et gomtrie analytique peuvent galement vous tre utiles.
Pour les chapitres traitant du contrle de Visio laide dun autre langage de
programmation tel que Microsoft Visual Basic pour Applications (VBA) ou C++,
vous devez connatre le langage de programmation utilis. La plupart des exemples
inclus dans cet ouvrage sont crits en langage VBA.
Convent ions
Le prsent guide utilise les conventions typographiques ci-dessous :
Par ailleurs, pour amliorer la lisibilit des exemples de code et de formule, les
conventions suivantes ont t adoptes :
Au sein des formules, des espaces ont t insrs avant et aprs les oprateurs et le
signe gal (=). Ces espaces ntant pas ncessaires, Visio les supprime si vous les
avez insrs dans les formules saisies.
Dans les exemples de code, des constantes de type numrique ou chane ont t
utilises l o vous utilisez gnralement des variables ou des constantes globales,
notamment si vous essayez de localiser des programmes.
Convention typographique Description
Gras Utilis pour reprer les termes de programmation dans le
corps du texte.
Italique Utilis pour les variables, les formules ou les termes
dfinis dans le corps du texte. Egalement utilis dans les
syntaxes pour indiquer les donnes que l utilisateur doit
saisir.
MajusculesInitiales Utilises pour amliorer la lisibilit dans Visio et dans VBA.
En ce qui concerne les termes de programmation, les
langages Visio et VBA ne diffrencient pas les majuscules
des minuscules. En revanche, C+ + fait la diffrence.
Nom de fichier Utilis pour les noms de fichier dans le corps du texte.
Po11ce hoh
popof1ohhe11e
Utilise pour les exemples de code.
P RFACE 3
Nouvelles f onct ions dest ines aux dveloppeurs
La version Visio 2000 offre une plateforme unique et puissante pour les solutions de
dessin personnalises. Elle a t enrichie de nouvelles sections, lignes et cellules
ShapeSheet
O ffice 2000
pour simplifier le codage et amliorer la prise en charge du
dveloppement inter-application. VBA 6.0 offre de nouvelles
fonctions telles que la prise en charge de formulaires standard
et la parit de langage avec M icrosoft Visual Basic 6.0.
Personnalisation des
barres d outils
Crez des solutions hautement personnalises en travaillant
l apparence et le comportement des barres d outils et des
menus en fonction des besoins de la solution.
Dynamique en temps
rel
I nsrez une forme dans un document, puis modifiez-la :
le document est mis jour automatiquement. Cette fonction
permet de bnficier presque immdiatement des
modifications apportes aux dessins.
Enrichissement et
rationalisation de la
gomtrie
Rendez vos solutions plus efficaces en utilisant des nouveaux
types de forme gomtrique, tels que des NURBS, des
ellipses et des lignes sans fin, et en reprsentant d autres
types de forme gomtrique, tels que des polylignes. En outre,
les occurrences de forme peuvent maintenant hriter des
proprits gomtriques des formes de base.
Proprits des
documents
Grez les proprits de l ensemble du document et faites-y
rfrence dans des cellules associes un document.
Raccourcis de formes
de base
Ajoutez des raccourcis aux formes de base des gabarits pour
conomiser du temps lorsque vous grez ces formes et de
l espace pour stocker les fichiers. Les raccourcis peuvent
galement tre dots d actions lies au dplacement qui
permettent aux occurrences de chaque raccourci de
fonctionner ou d apparatre diffremment par rapport la
forme de base.
4 P RFACE
Mat riaux de rf rence en ligne
De nombreux matriaux de rfrence sont livrs sur le CD de Visio 2000. Dautres
matriaux de rfrence sont disponibles sur le site Web de Visio.
Mat riaux de rf rence f ournis sur le CD de Visio 2000
Outre les matriaux fournis dans le guide Developing Visio Solutions, vous pouvez
accder des informations de rfrence dtailles sur le CD de Visio 2000. Ces fichiers
sont stocks dans le dossier \Visio\DVS ou dans celui qui contient le programme
Visio. Pour plus dinformations concernant le contenu de ce dossier, consultez le
fichier \DVS\Lisezmoi.txt.
REMARQUE : lorsque vous utilisez Visio, si un message vous informe quun des fichiers ou
quune des ressources prcdemment mentionns est introuvable, ou que vous ne
parveniez pas les localiser, installez-les partir du CD du produit. Laide en ligne
Rfrence du dveloppeur et les exemples de fichier sont installs avec la fonction
Developing Visio Solutions, disponible uniquement si vous slectionnez loption
Installation personnalise/complte au cours de linstallation. Vous pouvez choisir lun ou
lautre de ces composants dans lcran Installation personnalise du programme
dinstallation.
Rfrences croises au
sein d un document
Faites rfrence toute cellule d un document partir d une
autre cellule de ce document. Une forme peut fonder son
comportement sur les proprits du document ou de tout
autre style, forme, page ou forme de base de ce document.
Amlioration de
l uniformit des objets
Faites pivoter les formes (bitmaps, mtafichiers et objets
O LE). Ajoutez du texte ou des proprits gomtriques aux
formes, y compris aux repres et aux groupes.
Amlioration des
fonctionnalits de
groupe
Ajoutez des proprits gomtriques directement aux groupes
et choisissez entre trois modes de slection de groupes
(le groupe en premier, le membre en premier, le groupe
uniquement).
Amlioration de la prise
en charge de la
localisation
Attribuez des noms universels aux objets et d autres noms aux
documents pour qu ils puissent tre utiliss par des solutions
indpendamment du langage.
M odification des
cellules in situ
Cliquez sur une cellule de la fentre Feuille ShapeSheet et
saisissez-y une formule directement, sans passer par la barre
de formules. Redimensionnez ensuite les colonnes dans cette
fentre pour afficher les longues formules.
Nouveaux outils et nouvelles fonctions (suite)
Outil ou fonction Description
P RFACE 5
Voici la liste des lments disponibles dans le dossier DVS :
Une illustration du modle dobjet Visio.
Des exemples de gabarits qui comprennent un assortiment de formes illustrant
une vaste gamme de fonctionnements de formes courantes.
Des modles contenant de nombreux exemples de macros Microsoft Visual Basic
pour Applications (VBA).
Les fichiers de lAssistant Documentation de gabarit, application exemple qui cre
un dessin avec une occurrence de chaque forme de base dun gabarit, ainsi que du
code source Microsoft Visual Basic utilis pour crer cette application et dautres
applications exemple.
Les fichiers de prise en charge Visual Basic, ainsi que le code source et les
programmes dutilitaire C++ dcrits au chapitre 26, Programmation de Visio
avec Microsoft Visual Basic et au chapitre 27, Programmation de Visio
avec C++ , situs dans le dossier \DVS\Libraries.
Mat riaux de rf rence sur le sit e Web de Visio
Le site Web de Visio (www.visio.com) prsente des informations concernant le
dveloppement de solutions Visio destines aux dveloppeurs de solutions
personnalises qui utilisent la technologie Visio. Ces informations sont les suivantes :
Des donnes techniques dtailles concernant la cration de symboles
SmartShapes
Visio
Visio
Visual Basic
Visual Basic
.
Chaque forme Visio comporte un ensemble de formules correspondant ses
attributs, tels que sa largeur et sa hauteur. Ces formules dterminent galement son
comportement, notamment lorsquun utilisateur double-clique dessus. Etant donn
que les formes Visio peuvent tre programmes laide de formules, vous pouvez leur
faire adopter un comportement proche de celui des objets rels quelles reprsentent.
Vous pouvez par exemple associer des donnes importantes (numro de rfrence,
nom ou fabricant) aux formes reprsentant lquipement dun bureau. Ces formes,
dont le comportement unique est dict par les formules que vous rdigez, peuvent
alors devenir des composants essentiels.
Assemblage dobjet s dans des dessins
Si un graphique nest pour vous quun ensemble de vecteurs, les graphiques Visio
vont vous offrir une toute nouvelle perspective. Les formes Visio sont paramtriques :
la gomtrie et les autres attributs dune forme Visio varient en fonction des valeurs de
certains paramtres, dfinis soit par le moteur Visio, soit par le dveloppeur des
formes. Une gomtrie est fixe lorsquelle repose simplement sur des coordonnes
x, y. En revanche, la gomtrie des formes repose sur des formules qui recalculent les
coordonnes de manire dynamique mesure que lutilisateur modifie la forme.
Au lieu de tirer des traits, vous crez le dessin en assemblant des objets intelligents.
Les formes Visio sont
paramtriques.
Dans cette forme, la longueur et le diamtre du boulon, ainsi que la longueur du
filetage, sont des paramtres contrls par des formules. Le diamtre et lpaisseur de
la tte sont directement lis ces paramtres.
A Diamtre de la tte
B Longueur du boulon
C Longueur du filetage
D Diamtre du boulon
E Epaisseur de la tte
A
B
C
D
E
16 CHAP I TRE 1
Ces paramtres sont indpendants les uns des autres, dans la limite des possibilits
physiques. Pour modifier la longueur ou le diamtre du boulon, lutilisateur dplace
les poignes de slection. Pour modifier la longueur du filetage, il dplace la poigne
de contrle. Ces paramtres peuvent galement tre configurs partir des donnes
numriques provenant de la base de donnes dun fabricant et indiquant les tailles
disponibles.
Ut ilisat ion de f ormes comme composant s
Dans un programme, une procdure est associe une fonctionnalit pour faciliter sa
rutilisation. De mme, les formes Visio sont associes un comportement sur la page
de dessin. Elles doivent tre considres comme des composants dont le
comportement par dfaut est dtermin par le moteur Visio, mais que vous pouvez
ensuite personnaliser laide de formules.
Une solution est gnralement compose de plusieurs formes. En rgle gnrale, vous
tes amen concevoir un ensemble de formes prenant en charge un type de dessin
particulier. Ces formes, une fois assembles, constituent les formes de base dun
gabarit Visio. Une forme de base est une forme figurant dans un gabarit et qui sert
crer des occurrences ou des formes. Les occurrences hritent de la plupart des
caractristiques de la forme de base.
Les utilisateurs (ou les programmes) peuvent insrer les formes de base dun gabarit
en les faisant glisser sur la page de dessin. Le gabarit permet de rutiliser des formes
personnalises. Une mme forme peut avoir diverses applications : un ingnieur
lutilisera pour simuler la configuration dun produit, un commercial pour prsenter
un produit un client, ou un dessinateur pour crer un catalogue de produits.
Lorsquun utilisateur insre pour la premire fois une forme de base dans la page de
dessin, une occurrence de cette forme est cre, et une copie, appele forme de base de
document, est ajoute au gabarit de document du dessin. Le gabarit de document est
stock dans le fichier de dessin lui-mme. Ce principe prsente deux avantages :
Le dessin est entirement autonome et transportable. Une fois le dessin cr,
le gabarit devient inutile.
Les occurrences dune forme de base hritent des attributs de la forme de base
stocke dans le gabarit de document. Un utilisateur peut modifier la forme de base
dans le gabarit de document afin de changer les caractristiques de toutes les
occurrences figurant dans le dessin.
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 17
Comme chaque occurrence dune forme de base hrite des proprits de la forme de
base de document, elle peut prendre en charge de nombreux comportements
complexes tout en conservant une taille modeste. Une formule peut ne pas tre prise
en compte au niveau de loccurrence. En revanche, il est possible de modifier toutes
les occurrences en modifiant la forme de base de document. Le dessin peut tre
diffus sans problme car il contient des copies des formes de base. Le ou les gabarits
ayant servi llaboration des formes de base ne sont plus ncessaires. Pour afficher le
dessin, il vous suffit de disposer dune copie de Visio.
Les formes dquipement rseau sont conues pour pouvoir tre alignes et
connectes aux formes de racks. Un ingnieur rseau peut ainsi crer un modle
prcis reprsentant une salle des serveurs. Chaque forme rpond aux spcifications du
fabricant, et le concepteur des formes a personnalis leur zone dalignement et ajout
des points de connexion pour faciliter leur utilisation.
Formes dquipement rseau
alignes et connectes
avec les formes de racks.
A Rack structur de 7 po. x 19 po.
B Hub Galactica
C ONline 506-C
D Tableau de connexions 32 ports
E Lattis Sys. 5005N
F NetServer LC
G Etagre double face
18 CHAP I TRE 1
Pour aider lutilisateur crer un dessin partir de vos formes de base, fournissez-lui
un modle de dessin. Ce dernier peut comporter des formes se trouvant dj sur la
page de dessin. Mais il permet surtout de configurer la page de dessin grce une
grille et une chelle uniformes, et de crer des styles et des calques spcifiques.
Un modle peut galement ouvrir un ou plusieurs gabarits. Lorsque lutilisateur cre
un dessin partir du modle, Visio ouvre les gabarits et cre un fichier de dessin. Il y
copie les styles et les proprits du modle. Tout comme le gabarit, le modle devient
inutile une fois le dessin cr.
Pour plus dinformations sur les principes de cration de formes Visio, reportez-vous
au chapitre 2, Cration de formes Visio . Pour plus dinformations sur le
regroupement de formes dans des gabarits et sur la mise disposition de modles avec
une solution, reportez-vous au chapitre 3, Formes de base, gabarits, modles
et documents Visio .
Dveloppement de f ormes laide de la t echnologie Smart Shapes
La technologie SmartShapes
Windows
).
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 21
Contrairement un langage de script qui automatise simplement les actions que vous
effectuez dans linterface utilisateur dune application (slection dune commande,
choix dune touche, saisie, etc.), Automation accde aux objets de lapplication.
Un objet intgre des donnes, un comportement, des vnements et une interface qui
vous donne accs ces lments. Chaque objet Visio prsente des proprits
(donnes), des mthodes (comportements) et des vnements grce auxquels vous
pouvez intgrer dans vos programmes les diffrentes fonctionnalits de cet objet.
Les objets Visio se trouvent dans une occurrence de Visio. Un programme VBA
(Microsoft Visual Basic pour Applications) sexcute dans une occurrence de Visio,
puis accde aux objets ncessaires. Un programme externe fonctionne
indpendamment de toute occurrence de Visio. Il lance donc lapplication ou accde
une occurrence de Visio dj en cours. Il accde ensuite aux objets Visio ncessaires.
La plupart des objets du modle conceptuel Visio correspondent aux lments que
vous pouvez afficher et slectionner dans une occurrence de Visio. Par exemple, un
objet Page reprsente une page de dessin et un objet Shape, une forme dans un
dessin. Les formules dune forme sont reprsentes par les objets Cell.
De nombreux chapitres de ce guide sont consacrs lintgration dAutomation dans
une solution Visio. Pour plus dinformations, reportez-vous au chapitre 14,
Automation et le modle dobjet de Visio .
22 CHAP I TRE 1
Exemple de surveillance des vnement s et de calcul dun
t ot al
Pour voir comment une solution accde aux objets Visio laide dAutomation,
prenez lexemple dune solution qui surveille les vnements dclenchs lors de lajout
ou de la suppression de formes dans un dessin. La solution calcule en permanence la
consommation lectrique totale des lments reprsents par les formes afin de
vrifier quelle ne dpasse pas la limite fixe.
Solution surveillant la
consommation lectrique des
lments reprsents par les
formes dun dessin
Lexemple commence par une procdure dinitialisation qui vrifie toutes les formes
dun dessin. La consommation maximale autorise est dfinie par le texte dune
forme, appele Limite, que lutilisateur peut saisir dans cette forme dans le dessin.
La fonction VBA Val convertit le texte en un nombre au format Double qui sera
utilis dans les calculs suivants. La solution calcule en permanence le total dans la
cellule PC dune forme du nom de Courant.
Valeurs cumules
Valeur
Valeur
Valeur
Valeur
Valeur
Valeur
Consommation
lectrique maximale
7,0
Valeur actuelle : 7,20
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 23
Pour chaque forme reprsentant un priphrique consommateur dnergie, la valeur
correspondant cette consommation est enregistre dans une proprit personnalise
appele ConsommationEnergie. Le programme peut y accder via la proprit Cells
dun objet Shape. Le programme effectue une itration de la collection Shapes de
lobjet Page transmis la procdure InitWith et vrifie la consommation de chaque
forme prsentant une proprit ConsommationEnergie. Si la consommation totale
excde la limite dfinie pour le dessin, la solution en informe lutilisateur en donnant
la valeur 2 la cellule Couleur de la section relative au format des caractres de la
forme Limite (Car.Couleur). Le texte de la forme apparat ainsi en rouge.
0pf1oh Exp11c1f
P1vafe W1fhEvehfs LaPage As Page
P1vafe fheL1m1f As 0oub1e
P1vafe fheCuehf As Ce11
Pub11c Sub Th1fW1fh|aPage As Page)
01m 1 As Thfege
Sef LaPage = aPage
fheL1m1f = va1|aPage.Shapes|"L1m1fe").Texf)
Sef fheCuehf = aPage.Shapes|"Couahf").Ce11s|"uf11.PC")
fheCuehf.Pesu1fTu = 0#
Io 1 = 1 To aPage.Shapes.Couhf
W1fh aPage.Shapes|1)
Tf .Ce11Ex1sfs|"Pop.Cohsommaf1ohEheg1e", Ia1se) Theh
fheCuehf.Pesu1f|"") = fheCuehf.Pesu1f|"") +
.Ce11s|"pop.Cohsommaf1ohEheg1e").Pesu1f|"")
Tf fheCuehf.Pesu1f|"") > fheL1m1f Theh
aPage.Shapes|"L1m1fe").Ce11s|"Ca.cou1eu").Pesu1f|"") = 2
Ehd Tf
Ehd Tf
Ehd W1fh
hexf 1
Ehd Sub
24 CHAP I TRE 1
Supposons que lutilisateur ajoute une forme au dessin. Cette action dclenche un
vnement ShapeAdded gr par la procdure dcrite ci-dessous. Tout comme la
procdure dinitialisation de page, elle ajoute au total la valeur indiquant la
consommation de la dernire forme ajoute et vrifie si ce total dpasse la limite
du dessin.
La suppression dune forme dclenche un vnement BeforeShapeDelete. Une
solution ne peut pas annuler la suppression, mais peut nanmoins effectuer les
oprations ncessitant la prsence de la forme avant que cette dernire ne soit
supprime du dessin. La procdure dvnement suivante soustrait du total la valeur
de consommation de la forme supprime afin que le total indiqu soit juste. Si la
suppression de la forme fait repasser le total au-dessous de la limite, le texte de la
forme Limite apparat de nouveau en noir (0).
Pour plus dinformations sur laccs aux formules dune forme via Automation,
reportez-vous au chapitre 17, Automatisation des formules . Pour plus
dinformations sur la gestion des vnements Visio dans une solution, reportez-vous
au chapitre 21, Gestion des vnements dans Visio .
P1vafe Sub fhePageShapeAdded|yva1 Shape As v1s1o.TvShape)
Tf Shape.Ce11Ex1sfs|"Pop.Cohsommaf1ohEheg1e", Ia1se) Theh
fheCuehf.Pesu1f|"") = fheCuehf.Pesu1f|"") +
Shape.Ce11s|"pop.Cohsommaf1ohEheg1e").Pesu1f|"")
Tf fheCuehf.Pesu1f|"") > fheL1m1f Theh
LaPage.Shapes|"L1m1fe").Ce11s|"Ca.cou1eu").Pesu1f|"") = 2
Ehd Tf
Ehd Tf
Ehd Sub
P1vafe Sub fhePageefoeShape0e1efe|yva1 Shape As v1s1o.TvShape)
Tf Shape.Ce11Ex1sfs|"Pop.Cohsommaf1ohEheg1e", Ia1se) Theh
fheCuehf.Pesu1f|"") = fheCuehf.Pesu1f|"") -
Shape.Ce11s|"pop.Cohsommaf1ohEheg1e").Pesu1f|"")
Tf fheCuehf.Pesu1f|"") <= fheL1m1f Theh
LaPage.Shapes|"L1m1fe").Ce11s|"Ca.cou1eu").Pesu1f|"") = 0
Ehd Tf
Ehd Tf
Ehd Sub
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 25
Planif icat ion dune solut ion Visio
Une solution est plus facile intgrer lorsquil sagit dun dessin normalis qui utilise
les lments fournis avec un produit Visio, ainsi que vos formes, gabarits et modles
personnaliss. Les solutions qui comportent des Assistants de dessin (parfois appels
programmes complmentaires) sont galement programmes pour aider lutilisateur
crer des dessins. Si les dessins crer suivent un ensemble strict de rgles, la
solution peut comporter une application utilisant des donnes issues dune autre
source pour gnrer des dessins modifiables par lutilisateur. Si la solution est conue
pour fournir plus que des dessins, elle doit galement permettre une intgration avec
une base de donnes externe et dautres applications externes (du commerce ou
propritaires).
Planif icat ion du processus de dveloppement
Un seul dveloppeur peut souvent crer une solution Visio simple, comportant des
formes personnalises, un modle et du code. Pour les solutions plus complexes,
toutefois, il est parfois ncessaire de recourir une quipe de dveloppeurs,
prsentant chacun des comptences particulires. Par exemple, une quipe de
dveloppeurs peut se composer des personnes suivantes :
Un ingnieur systme rompu la conception de logiciels, connaissant bien
lapplication Visio, son architecture et ses principales fonctions. Lingnieur
systme est responsable des aspects techniques et de la conception dune solution
Visio.
Des dveloppeurs de formes conscients du rle que doit jouer chaque forme dans
la solution, connaissant bien les outils de dessin de Visio et la fentre ShapeSheet
.
Les dveloppeurs de formes doivent avoir de solides connaissances en
mathmatiques et en gomtrie, car la majeure partie de leur travail est consacre
la cration de formules permettant de contrler le comportement des formes.
Des dveloppeurs Automation, spcialistes du langage de programmation utilis
pour dvelopper la solution (Microsoft VBA, Visual Basic ou C++, selon le type
dintgration ncessaire). Ces dveloppeurs doivent possder des connaissances de
base concernant les formes et les formules de Visio, et doivent connatre
parfaitement le modle dobjet Visio.
Des experts du domaine concern par la solution. Ces experts conseilleront
lquipe concernant les normes en vigueur dans le domaine, les processus, lusage
et les exceptions.
26 CHAP I TRE 1
Une fois lquipe forme, le processus de dveloppement peut se drouler de la
manire suivante :
Rencontrez les utilisateurs afin de connatre leurs besoins et didentifier les objets
ncessaires au domaine de la solution.
Aprs concertation avec les utilisateurs, choisissez la procdure suivre pour
effectuer chaque tche. Collectez des exemples de dessins pouvant tre automatiss
ou amliors par la solution. Si le projet est important, vous pouvez envisager de
crer un document recensant ces informations de sorte que dautres utilisateurs et
dveloppeurs puissent les passer en revue et les comprendre.
Dveloppez progressivement la solution et consultez les utilisateurs
chaque tape.
Le dveloppement et lintgration progressifs des fonctions Visio dans une
solution donnent souvent de meilleurs rsultats. En effet, la solution est plus
rapidement mise la disposition de lutilisateur, qui peut faire des commentaires
qui aideront amliorer la solution au cours du dveloppement.
Commencez par dvelopper des formes et par les mettre la disposition des
utilisateurs. Corrigez ces formes en fonction des commentaires des utilisateurs.
Lefficacit dune solution repose sur lutilit et la pertinence des formes.
Par exemple, vous pouvez choisir entre fournir lutilisateur un nombre
important de formes ou prvoir le temps ncessaire la cration de formes
multiples. Certains utilisateurs trouveront plus pratique dutiliser des formes
versatiles dans plusieurs configurations plutt que davoir choisir les formes dans
un gabarit en comportant un certain nombre.
Une fois que les utilisateurs sont satisfaits de lensemble initial de formes,
dveloppez ventuellement des Assistants de dessin ou des programmes
complmentaires pouvant tre utiles llaboration des dessins. Au besoin,
amliorez les formes afin de les rendre plus facilement utilisables.
Un ensemble de dessins normaliss peut suffire aux besoins des utilisateurs. Veillez
ne pas rendre une solution plus complexe que ncessaire. Le fait que lapplication
Visio soit programmable ne vous oblige pas crer des programmes pour vos
solutions.
Enfin, si les formes et les programmes complmentaires de la solution sont conus
pour tre utiliss avec une base de donnes ou avec dautres applications, prenez
cet lment en compte ds le dbut du processus de dveloppement.
La procdure suivre pour cette tape dpend du type de solution que vous
dveloppez. Pour plus dinformations, reportez-vous aux sections Intgration
dune solution Visio et dune base de donnes , page 29 et Choix concernant la
mise en oeuvre dAutomation , page 30.
P RESENTATI ON DU MANUEL DEVEL OP I NG VI SI O SOL UTI ONS 27
Planif icat ion des f ormes et des gabarit s
Le dveloppement dune solution commence par la cration des formes ncessaires.
Les fonctionnalits des formes doivent tre, dans la mesure du possible, dfinies par
des formules. Deux points justifient de commencer par les formes :
Les formes peuvent tre intelligentes. Vous pouvez utiliser les capacits
intrinsques des formes Visio afin de grer une grande partie des fonctionnalits
graphiques sans crire de code.
Les formes sont indpendantes du code qui les contrle. Une fois que vous avez
dvelopp les formes de base utilises par la solution, vous pouvez les modifier
sans avoir recompiler le code, et inversement.
Si le comportement attribuer la forme est prvisible et peut tre dfini laide de
formules (par exemple, un redimensionnement ou une mise lchelle automatique),
intgrez-le dans la forme. Si ce comportement doit pouvoir changer dynamiquement
(par exemple, le texte dune forme ou lorganisation des formes dun dessin peut
varier), grez cet lment dans le programme. Vous pouvez contrler trs prcisment
lapparence et le comportement des formes en dfinissant des formules de forme.
Si vous joignez votre solution un gabarit de formes de base, les utilisateurs peuvent
dans certains cas se passer des outils de dessin de Visio.
Lorsque vous crez des formes de base pour un programme, testez-les dans une
occurrence de Visio en crant manuellement les types de dessin que le programme
sera amen automatiser. Vous vous rendrez ainsi mieux compte de la
programmation faire et des donnes fournir. Vous saurez galement si votre forme
fonctionne comme prvu.
Enfin, noubliez pas que le gabarit qui contient les formes de base constitue llment
principal de linterface utilisateur de la solution :
Veillez ce que les formes de base soient faciles trouver dans le gabarit.
Rpartissez ventuellement les formes de base connexes dans plusieurs gabarits,
surtout si vous les utilisez dans plusieurs solutions.
Pour plus dinformations sur la cration de formes de base et de gabarits,
reportez-vous au chapitre 3, Formes de base, gabarits, modles et documents
Visio . Pour plus dinformations sur la diffusion de gabarits dans une solution Visio,
reportez-vous au chapitre 13, Diffusion de gabarits et de modles .
28 CHAP I TRE 1
Planif icat ion de modles de dessin
Un modle de dessin fournit aux utilisateurs un espace de travail commun. Il facilite
la normalisation en permettant lutilisateur de crer facilement des dessins
normaliss laide de jeux de formes prdfinies.
Un modle de dessin peut comporter des styles, et configurer les pages de dessin
laide dune grille et dun systme de mesure uniformes. Un modle peut crer des
pages de dessin comportant des formes, ou ouvrir un ou plusieurs gabarits pour que
lutilisateur puisse ajouter dautres formes. Un modle peut galement fournir des
dessins comportant leur propre interface utilisateur en incluant des contrles
Microsoft
ActiveX
Word et Microsoft
Excel, permettent
galement de contrler lapplication Visio.
Tout comme les VSL, les macros VBA sont excutes dans le mme processus que
loccurrence de Visio. Leur criture tant plus simple, les programmeurs les
mettent au point plus rapidement. Les macros VBA sont faciles diffuser, ce qui
peut constituer un avantage mais aussi un inconvnient. Chaque dessin contient
une copie du code VBA : les tches de dbogage et dajout de fonctions sont donc
plus difficiles raliser.
Une approche mixte consiste utiliser VBA dans une occurrence de Visio afin de
charger et dexcuter des serveurs Automation (fichiers DLL ou EXE) crs dans
dautres langages.
Cette approche prend en charge lexcution en cours de processus si le serveur
Automation est cr en tant que DLL et prend en charge toute une gamme
darchitectures. Toutefois, cette approche mixte implique une conception plus
soigne du systme.
32 CHAP I TRE 1
Pour plus dinformations sur la programmation de lapplication Visio avec VBA,
reportez-vous aux chapitres 14 25 de ce guide. Pour plus dinformations sur
lutilisation de Visual Basic avec lapplication Visio, reportez-vous au chapitre 26,
Programmation de Visio avec Microsoft Visual Basic
Pour plus dinformations sur la programmation de Visio avec C++ et lcriture de
VSL, reportez-vous au chapitre 27, Programmation de Visio avec C++ .
Sommaire
2
Crat ion de f ormes Visio
Les meilleures solutions Microsoft
Visio
Visio
Visio
, reportez-vous la
section Examen dune forme dans la fentre ShapeSheet , page 70.
Modif icat ion des f ormes
Pour modifier la structure gomtrique de la plupart des formes, slectionnez-les
laide de loutil Crayon ( ), puis faites glisser le pointeur, ajoutez ou supprimez des
sommets. Pour modifier les courbures, faites glisser un point de contrle ou les
poignes dexcentricit dun point.
Lune des mthodes de
modification dune forme consiste
faire glisser un sommet (A) laide
de loutil Crayon.
Pour ajouter un segment, cliquez
avec loutil Crayon (A) sur lendroit
o vous souhaitez ajouter le
segment, tout en maintenant la
touche Ctrl enfonce. Insrez
ensuite, avec ce mme outil, le
nouveau sommet lemplacement
choisi.
A
A
48 CHAP I TRE 2
Pour quune forme comporte moins de segments, supprimez les segments inutiles.
Pour supprimer un segment,
slectionnez un sommet laide de
loutil Crayon (A), puis appuyez sur
la touche Suppr. Le segment auquel
est associ le sommet est alors
supprim. La forme des autres
segments est modifie en
consquence.
La manire dont le moteur Visio redessine la forme aprs la suppression dun sommet
dpend de la position du sommet (au dbut ou la fin dune forme ouverte), de
lordre de cration des segments et de la nature du segment suivant le sommet
supprimer (trait ou arc). Aprs la suppression de segments, vous devrez peut-tre
ajuster la forme ; pour ce faire, faites glisser les sommets et points de contrle en
fonction des besoins.
Pour modifier la courbure dun arc
ou dune courbe dessine main
leve, faites glisser un point de
contrle (A) jusqu ce que le
segment ait laspect souhait.
Modif icat ion des groupes
Vous pouvez examiner les groupes individuellement pour observer leur
fonctionnement et savoir comment les modifier. Bien quun groupe soit considr
comme une forme, il nest techniquement pas stock de la mme manire que les
autres formes. Un groupe peut inclure des repres et des objets issus dautres
applications, ainsi que des formes.
Un groupe peut contenir du texte et des formes gomtriques, indpendamment des
formes qui le composent. Un ensemble de formules spcifique est appliqu chacun
des objets dun groupe, et au groupe lui-mme ; par consquent, lorsque vous dissociez
des formes, les formules appliques au groupe sont perdues. Cependant, si vous
dissociez un groupe contenant du texte ou des formes gomtriques, le moteur Visio
convertit ce texte ou ces formes en une nouvelle forme.
REMARQUE : si vous convertissez un dessin Visio 2000 contenant des groupes dans un
format dune version Visio prcdente, le texte ou les formes gomtriques associs aux
groupes (et non les formes quils contiennent) sont perdus.
Vous pouvez modifier un groupe et les formes quil contient directement sur la page de
dessin. Cependant, pour viter de modifier un comportement de groupe particulier,
ouvrez le groupe dans la fentre de groupe.
A A
A
CRATI ON DE FORMES VI SI O 49
Pour ouvrir un groupe dans la f ent re de groupe :
Slectionnez un groupe, puis choisissez Edition > Ouvrir Grouper. (Si vous avez
attribu un nom au groupe laide de la commande Format > Spcial, le nom du
groupe suit la commande Ouvrir ; sinon, la commande indique Ouvrir Grouper.)
Vous pouvez modifier un groupe
dans la fentre de groupe pour
pouvoir travailler sur chacune des
formes qui le composent. Les
modifications effectues dans
cette fentre sont
automatiquement rpercutes dans
la fentre de dessin.
A Ouvrez un groupe dans la fentre de groupe pour modifier les formes quil contient tout en
conservant les dpendances de formules entre ces formes.
B Les formes apparaissent dans la fentre de groupe comme si elles taient indpendantes, et non
regroupes.
C Si vous dplacez une forme en dehors de la page dans la fentre de groupe, elle est place en
dehors du rectangle de slection du groupe.
CONSEIL : une fois les modifications effectues dans la fentre de groupe, vous devrez
peut-tre rajuster la largeur et la hauteur du groupe de telle sorte que son rectangle de
slection englobe prcisment toutes les formes du groupe. Pour ce faire, slectionnez un
groupe, puis choisissez Forme > Oprations > M. jour rect. slection. Pour plus
dinformations, reportez-vous la section Accrochage de formes une grille laide des
rectangles de slection , page 240.
Pour plus dinformations sur les options de comportement des groupes, notamment
sur la possibilit de placer des formes sur un groupe pour les y ajouter (le
transformant ainsi en cible de dplacement ), reportez-vous la section
Modification dun groupe , page 116.
A
B
C
50 CHAP I TRE 2
Dissociation des groupes
Dissociez un groupe pour annuler lassociation entre les formes quil contient et
travailler sur chacune de ces formes. Le processus de dissociation supprime la feuille
de calcul ShapeSheet du groupe. Si vous dissociez une occurrence dune forme de
base, la forme nhrite pas des caractristiques de la forme de base stockes dans le
gabarit du fichier de dessin.
Pour dissocier les f ormes :
1 Choisissez un groupe.
2 Slectionnez Forme > Groupes > Dissocier.
Droits dauteur sur les formes
Toute forme cre la suite dune modification dune forme Visio conserve le
copyright Visio. Si vous diffusez une forme de base protge par ce copyright, les
destinataires doivent disposer dune licence pour pouvoir utiliser un gabarit
contenant la forme de base dorigine.
Si vous souhaitez diffuser une forme sans restriction de copyright, vous devez crer
intgralement la forme. Lorsque vous crez des formes de cette manire, vous pouvez
leur appliquer votre propre copyright, avant ou aprs avoir cr une forme de base
partir de la forme.
Pour ajout er des droit s daut eur une f orme (ou dt erminer si une f orme
exist ant e est prot ge par un copyright ) :
Slectionnez une forme, puis choisissez Format > Spcial.
IMPORTANT : le champ relatif au copyright ne peut tre complt quune seule fois. Avant
dajouter un copyright, effectuez une copie de sauvegarde de la forme en cas dventuelles
erreurs de frappe.
Sommaire
3
Formes de base, gabarit s, modles
et document s Visio
Si vous envisagez dlaborer une solution de dessin normalis comportant des formes
que vous avez vous-mme cres ou une application personnalise intgrant la
fonction Microsoft
Visio
Visual Basic
Visio
(par exemple,
les pages, les documents, les formes de base, les repres et les styles) sont galement
dots de formules modifiables.
Ce chapitre prsente les termes et les concepts concernant les formules Visio. Tout
dabord, il dcrit le mode daffichage des formes et des autres objets Visio dans la
fentre ShapeSheet
, ainsi que les diverses sections de cette fentre et les lments sur
lesquels porte leur contrle. Il prsente ensuite les composants dune formule Visio
(fonctions, oprateurs, rfrences de cellule et units de mesure) et indique comment
modifier les formules dans la fentre ShapeSheet. Il fournit galement des
informations gnrales concernant la conception des formules : comment les formes
hritent des formules, quand ajouter des cellules dfinies par lutilisateur, comment
paramtrer les formules pour empcher les utilisateurs de les modifier dans une
fentre de dessin et comment contrler les calculs. Enfin, il offre des indications qui
permettent de dcider quand utiliser Automation pour ajouter des formules
une solution.
Fentre ShapeSheet................................................................................................. 64
Elments des formules Visio................................................................................... 72
Conception de formules Visio................................................................................. 80
Ajout de fonctionnalits aux formules Visio laide dAutomation..................... 86
64 CHAP I TRE 4
Fent re ShapeSheet
Un objet Visio est stock en interne en tant quensemble de formules. Par exemple,
lorsque vous affichez une forme dans une fentre de dessin, vous en voyez le rendu
graphique et son fonctionnement en fonction de ses formules. Lorsque vous affichez
cette mme forme dans la fentre ShapeSheet
Visio
2000, tous les objets auxquels vous pouvez attribuer un nom (par exemple, aux
formes ou aux lignes dans une section Cellules personnalises) peuvent en fait accepter
deux noms : un nom local et un nom universel. Lutilisateur voit le nom local qui doit tre
traduit si la solution est localise. Le nom universel est (dans la plupart des cas)
transparent pour lutilisateur ; il na pas besoin dtre traduit et ne peut tre attribu qu
laide dAutomation.
Vous pouvez saisir les noms universels dans les formules de la fentre ShapeSheet ou les
paramtrer avec Automation, mais une fois que la formule est entre, elle est affiche avec
les noms locaux dans la fentre ShapeSheet. Pour obtenir des informations sur
lutilisation des noms universels dans une solution, reportez-vous au chapitre 25,
Distribution dune solution Visio Automation et laide en ligne Rfrence du
dveloppeur fournie avec Visio.
76 CHAP I TRE 4
Rfrences aux cellules situes dans la mme forme
Une rfrence une cellule situe dans la mme forme doit indiquer uniquement le
nom de cette cellule, tel que Hauteur. Si la cellule est situe dans une section avec des
lignes indexes, la section et lindex de ligne font partie du nom de la cellule.
Par exemple, lexpression ci-dessous fait rfrence la cellule situe dans la colonne X
et la ligne 5 de la section Points de connexion :
CONSEIL : pour faire rapidement rfrence une autre cellule de la mme forme,
positionnez le point dinsertion sur la barre de formule, puis cliquez sur la cellule
laquelle vous souhaitez faire rfrence. Visio insre le nom de cette cellule au point
dinsertion.
Rfrences des cellules situes dans dautres formes ou conteneurs
Pour crer une rfrence une cellule situe dans un autre conteneur (forme, page,
forme de base, document ou style), vous devez insrer un prfixe qui identifie ce
conteneur. Par exemple, une rfrence une cellule situe dans une autre forme doit
inclure le nom ou lID de la forme conteneur, suivi dun point dexclamation, puis le
nom de la cellule, comme lindique lexemple ci-dessous :
Cette rfrence mentionne la cellule Largeur de la section Transformation de la forme
de la forme nomme Chaise de bureau.
La rfrence peut comprendre lID de la forme, si cette dernire ne comporte pas de
nom, ou si vous souhaitez utiliser un autre nom. Par exemple, la rfrence suivante
indique la cellule Largeur de la section Transformation de la forme de la forme dont
lID est 2. Cette opration est recommande car lutilisation de noms limite la porte
aux conteneurs (par exemple, deux groupes peuvent chacun contenir une forme
portant le mme nom), tandis que Feuille.ID est unique. Par exemple :
CONSEIL : un objet sur une page de dessin comporte toujours un ID, quil ait un nom
descriptif ou non. Visio attribue cet ID la cration de lobjet. LID ne change pas, sauf si
vous dplacez lobjet vers une autre page ou un autre document. Pour afficher lID dun
objet ou pour donner un nom descriptif, choisissez Format > Spcial.
Cohhecf1ohs.XS
Cha1se de bueau!Lageu
Ieu111e.2!Lageu
FORMUL ES VI SI O 77
Une rfrence une cellule situe dans la page de dessin requiert le nom LaPage suivi
dun point dexclamation et le nom de la cellule. (Dans une forme de base, une
rfrence LaPage mentionne lobjet qui dfinit les proprits globales de la forme de
base, telles que sa taille globale et son chelle de dessin.) Par exemple, lexpression
suivante fait rfrence la cellule EchellePage de la page de dessin :
Rgles concernant les rf rences de cellule dans les f ormules
Le tableau ci-dessous rcapitule les rgles relatives aux rfrences de cellule dans les
formules.
LaPage!Eche11ePage
Rcapitulatif de la syntaxe des rfrences de cellule
Cellule Syntaxe de la rfrence la cellule Exemple
Dans le mme
objet
NomDeCe11u1e Largeur
Dans une
section
Gomtrie
Ceometrie.IndexLigneNomDeCo1onne Ceometriey1.X1
Dans un autre
objet nomm du
mme conteneur
NomDeForme!NomDeCe11u1e Ltoi1e!Ang1e
Dans un autre
objet de mme
nom du mme
conteneur
NomDeForme.ID!NomDeCe11u1e Lxecutive.2!hauteur
Dans tout objet
de la page
feui11e.ID!NomDeCe11u1e feui11e.8!Remp1PremP1an
Dans une
colonne
nomme avec
lignes indexes
NomdeSection.NomDeCo1onne|IndexLigne] Char.Font|8]
Dans une
colonne sans
nom avec lignes
indexes
NomdeSection.IndexLigneNomDeCo1onne Montage.A5
Dans une ligne
nomme
NomdeSection.Rowname uti1.Point de fuite
Sur la feuille de
la page
LaPage!ReferenceDeCe11u1e LaPage!LargeurPage
Une cellule dans
la feuille de la
page d une autre
page du
document
Pages|NomDePage]!ReferenceDeCe11u1e Pages|Page-8]!Lche11eDessin
78 CHAP I TRE 4
Unit s de mesure des f ormules Visio
Visio calcule les rsultats dune formule de diffrentes manires, en fonction de la
cellule dans laquelle elle a t saisie :
En gnral, les cellules reprsentant la position dune forme, une dimension ou un
angle requirent une paire nombre/unit qui consiste en lassociation dun nombre
et de lunit de mesure ncessaire pour interprter ce nombre. Par exemple, une
formule dans la cellule Largeur peut donner comme rsultat 5, signifiant 5 pouces
ou 5 centimtres, en fonction de lunit de mesure en vigueur dans le dessin.
Dautres cellules ne sont pas dotes dunit de mesure intrinsque et donnent
comme rsultat une chane, une expression vrai ou faux, ou un index, en fonction
de la nature de la cellule. Par exemple, la formule =5 dans la cellule
RemplPremPlan signifie la couleur 5 de la palette des couleurs du dessin, alors que
=5 dans la cellule VerrLargeur signifie TRUE (seul zro signifie FALSE) et
verrouille la largeur de la forme.
Pour optimiser les rsultats, indiquez toujours une unit de mesure dans les formules,
plutt que de compter sur Visio. Si vous nassociez pas dunit de mesure un nom-
bre, ce dernier est dfini laide de lunit interne paramtre pour la cellule, que ce
soit une unit de page, de dessin ou dangle :
Les units de page mesurent les dimensions sur la page dimpression, y compris les
tailles de police. Les units de page sont gnralement utilises pour lpaisseur des
traits et les tailles de police qui ne sont pas mises lchelle par rapport au dessin.
Les units de dessin indiquent les mesures relles : une piscine de 50 mtres (units
de dessin) peut tre reprsente par une longueur de 10 cm (units de page) sur le
papier. Par exemple, si vous saisissez la formule =50 dans la cellule Largeur qui
attend une paire nombre/unit en unit de dessin, Visio fournit lunit de dessin
par dfaut dfinie pour la page et calcule la formule en fonction de cette unit.
Les units dangle mesurent les distances angulaires, telles que la rotation dune
forme en degrs ou en radians.
Visio utilise par dfaut les pouces pour mesurer les distances, les radians pour les
angles et les jours pour les dures.
Dans une feuille
de formes de
base
Masters|NomFormeBase]!ReferenceCe11u1e Masters|Porte]!
feui11e.5.Largeur
Dans une feuille
de style
Sty1es!NomDuSty1e!ReferenceDeCe11u1e Sty1es!Lien!Cou1eurTrait
Dans une feuille
de document
LeDoc!ReferenceDeCe11u1e LeDoc!FormatSortie
Rcapitulatif de la syntaxe des rfrences de cellule (suite)
Cellule Syntaxe de la rfrence la cellule Exemple
FORMUL ES VI SI O 79
Unit s mult idimensionnelles
Une formule Visio qui multiplie ou divise des units dimensionnelles gnre un
rsultat en units multidimensionnelles pouvant tre stock dans certaines cellules.
Par exemple, si une forme fait 5 pieds de large et 10 pieds de haut en units de dessin,
la formule = Largeur * Hauteur donne comme rsultat 50 pi^2 (50 pieds carrs). Les
cellules pouvant stocker des rsultats multidimensionnels sont les suivantes :
La cellule Valeur de la ligne Proprit personnalise ou Cellules personnalises.
Les cellules A, B, C et D de la ligne Montage.
La fonction FORMAT permet dafficher des units multidimensionnelles laide
dabrviations telles que po.
2
. Pour plus dinformations, effectuez une recherche sur le
mot FORMAT dans laide en ligne Rfrence du dveloppeur fournie avec Visio.
Noubliez pas que la plupart des multiplications visent associer une valeur dote
dunit une valeur qui nen a pas. Si un tel calcul multiplie deux valeurs avec unit,
le rsultat multidimensionnel peut tre erron. Par exemple, si une cellule de couleur
telle que RemplPremPlan est paramtre sur le produit de deux cellules Gomtrie, le
rsultat est une erreur #DIM car les cellules Gomtrie sont toujours dotes dune
unit, alors que la cellule RemplPremPlan ne peut pas contenir de valeur
multidimensionnelle.
REMARQUE : dans les versions des produits Visio antrieures Visio 2000, les formules
dans lesquelles des valeurs dimensionnelles sont multiplies ou divises risquaient de
gnrer des rsultats incorrects. Prenons lexemple de la formule =1 cm * 1cm convertie
en 0,394 po. * 0,394 po. En multipliant uniquement les constantes et non les units, cette
formule donnait comme rsultat 0,155 po. Si vous convertissiez le rsultat en centimtres
en le multipliant par 2,54 cm./po., vous obteniez un rsultat incorrect de 0,394 cm. au
lieu de 1 cm.^2 (centimtres carrs). Pour bnficier des units multidimensionnelles de
la version Visio 2000, vous devez donc modifier les solutions existantes que vous aviez
mises en oeuvre pour pallier ce dysfonctionnement.
Indicat ion des unit s de mesure
Comme de nombreux dessins reprsentent des objets physiques, vous pouvez
indiquer les units de mesure des systmes imprial ou mtrique, exprimer les angles
dun arc en radians, en degrs dcimaux, ou en degrs, minutes et secondes. Vous
pouvez galement utiliser des mesures typographiques standard telles que les picas, les
points, les cicros et les didots.
80 CHAP I TRE 4
Pour optimiser les rsultats, indiquez toujours une unit de mesure lorsque vous
saisissez une formule dans une cellule qui attend une valeur dimensionnelle, comme
les exemples du tableau ci-dessous lindiquent.
Lindication explicite des units facilite lidentification des paires nombre/unit dans
les calculs ; cela permet dviter de diviser par mgarde une paire nombre/unit par
une autre ou dassocier des units incompatibles, telles que des angles ajouts des
longueurs. Par ailleurs, lindication dune unit de mesure facilite la localisation des
formules dans le cadre dune utilisation internationale.
Pour plus dinformations sur les units de mesure des formules Visio, reportez-vous
laide en ligne Rfrence du dveloppeur (accessible via ? (Aide) > Rfrence du
dveloppeur) fournie avec Visio.
Concept ion de f ormules Visio
La conception de formules Visio adquates va au-del dune syntaxe simplement
correcte. Un dveloppeur de formes doit comprendre do proviennent les formules
par dfaut dune forme, les avantages et les inconvnients de stocker des formules
dans certaines cellules, comment empcher la modification involontaire des formules
personnalises et comment contrler le recalcul dune formule pour optimiser les
performances.
Hrit age des f ormules dune f orme
Lorsque vous ouvrez une fentre ShapeSheet
Visio
enregistre lemplacement de chaque sommet dans lespace de coordonnes de la
forme. Ces sommets, ainsi que les chemins qui les connectent, dfinissent la gomtrie
de la forme. Lorsque vous crivez des formules visant contrler la gomtrie des
formes, vous dterminez lapparence dune forme et son comportement face aux
diffrentes actions de lutilisateur.
Ce chapitre dfinit la gomtrie des formes et indique la manire dont vous pouvez
tirer, rduire, retourner et faire pivoter les formes. Il explique galement la manire
dont vous pouvez contrler les courbes des formes. Vous y trouverez aussi des
suggestions qui vous permettront doptimiser la gomtrie des formes et dutiliser des
verrouillages afin de limiter les types daction applicables une forme.
Gomtrie des formes ............................................................................................. 88
Contrle de ltirement et de la rduction des formes ......................................... 94
Contrle du retournement et de la rotation des formes....................................... 98
Contrle des courbes des formes...........................................................................103
Optimisation de la gomtrie dune forme............................................................110
Limitation du comportement dune forme laide de verrouillages ...................111
88 CHAP I TRE 5
Gomt rie des f ormes
La plupart des logiciels de dessin reposent sur une gomtrie en deux dimensions.
Lorsque vous dessinez un objet, le programme lenregistre sous la forme dun
ensemble demplacements horizontaux et verticaux. Ces emplacements, appels
sommets dans lapplication Visio, sont mesurs partir dun point dorigine sur la
page et sont connects par des segments de traits, comme si vous dessiniez lobjet sur
du papier millimtr.
Un chemin est un ensemble de segments de traits ou de courbes qui connectent les
sommets dune forme. Dans la plupart des cas, chaque chemin correspond une
section Gomtrie que vous pouvez afficher dans une fentre ShapeSheet
ou
laquelle vous pouvez accder via Automation. Chaque sommet dfinissant un chemin
correspond une ligne de la section Gomtrie. Un chemin peut tre ferm ou ouvert,
et chaque forme peut possder plusieurs chemins (et donc plusieurs sections
Gomtrie) ; pour plus dinformations, reportez-vous au chapitre 6, Regroupement
et fusion de formes .
Un chemin est un ensemble de
segments de traits ou de courbes
qui connectent les sommets dune
forme.
A la diffrence des autres logiciels de dessin, lapplication Visio permet de contrler
lemplacement dun sommet par le biais de formules. Au lieu denregistrer
simplement la nouvelle position dune forme qui vient dtre dplace ou
redimensionne, lapplication Visio permet de calculer un sommet par rapport aux
autres sommets ou aux autres formes, ou au contraire de dfinir une position fixe sur
la page. Les formules permettent en outre de faire adopter aux formes des
comportements complexes.
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 89
Lillustration suivante prsente un exemple simple. Dans le rectangle situ gauche, la
largeur et la hauteur sont indpendantes lune de lautre. La modification de lune na
aucune incidence sur lautre. En revanche, dans le rectangle situ droite, la hauteur
est calcule laide dune formule qui fait rfrence la largeur. Toute modification
de la largeur de la forme entrane un nouveau calcul de la formule de la hauteur : la
hauteur de la forme subit une modification.
Lorsque vous crez une formule
pour une forme, lapplication Visio
recalcule les sommets sur la base
de votre formule.
Descript ion de f ormes dans un syst me de coordonnes
Parmi les formules essentielles figurent celles qui permettent de contrler la taille ou
la position dune forme. Chacun des sommets dune forme est enregistr sous la
forme dun couple de coordonnes x, y. Lorsque vous dplacez ou redimensionnez la
forme, lapplication Visio enregistre les modifications apportes ses sommets et
redessine la forme en lui appliquant les nouveaux paramtres de position et de taille.
Pour dplacer, retourner, faire pivoter ou redimensionner une forme Visio laide de
formules, vous devez dcrire la forme en fournissant un systme de coordonnes.
Lapplication Visio utilise divers systmes de coordonnes pour dcrire une forme.
Selon le rle que va jouer la forme, vous pouvez tre amen utiliser trois systmes de
coordonnes :
Coordonnes locales La largeur et la hauteur dune forme dfinissent les deux axes
de coordonnes locales. Lorigine correspond langle infrieur gauche du plan
largeur/hauteur de la forme. Langle suprieur droit prsente les coordonnes
(Largeur, Hauteur). La section Gomtrie utilise des formules pour dcrire les
coordonnes locales des sommets pour les chemins qui composent une forme. En
modifiant ces formules, vous pouvez contrler lapparence dune forme, quel que soit
son emplacement sur la page de dessin.
Coordonnes sur la page Lemplacement dune forme ou dun groupe sur la page de
dessin est indique par les coordonnes sur la page dont lorigine correspond langle
infrieur gauche de la page. Les coordonnes de ce type apparaissent sur la rgle dans
lunit de mesure indique dans la bote de dialogue Mise en page.
A Largeur = 1
B Hauteur = 1
C Largeur = 3
D Hauteur = Largeur * 0,5
90 CHAP I TRE 5
Coordonnes parent Lapplication Visio identifie galement la position dun objet par
rapport son parent. En ce qui concerne les formes situes sur une page de dessin, les
coordonnes parent sont identiques aux coordonnes sur la page. En revanche, si une
forme se trouve dans un groupe, son parent est le groupe, et non la page. Les
coordonnes parent correspondent donc aux coordonnes locales du groupe. Dans ce
cas, lorigine du systme de coordonnes parent correspond langle infrieur gauche
du plan largeur/hauteur du groupe.
Lapplication Visio utilise diffrents
systmes de coordonnes pour
identifier les sommets et la position
des formes.
A Plan largeur/hauteur
B Coordonnes locales
C Coordonnes sur la page
CONSEIL : vous ne pouvez pas modifier lorigine du systme de coordonnes sur la page.
En revanche, vous pouvez modifier le point zro des coordonnes affiches sur les rgles en
maintenant la touche Ctrl enfonce et en faisant glisser la barre lintersection de deux
rgles. Le dplacement du point zro na aucune incidence sur le systme de coordonnes
sur la page, mais il peut servir mesurer la distance sparant deux formes.
Reprsent at ion de la gomt rie dune f orme laide de
f ormules
Lapplication Visio indique la largeur, la hauteur et la position dune forme laide de
formules dans la section Transformation de la forme qui utilise le systme de
coordonnes parent. Visio exprime la valeur de chaque sommet dune forme sous la
forme dune fraction de la largeur/hauteur dans la section Gomtrie. Lorsque vous
dplacez, redimensionnez ou faites pivoter une forme, Visio crit de nouvelles
formules dans la section Transformation de la forme, puis recalcule les formules des
sommets dans la section Gomtrie.
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 91
Lexemple suivant prsente un rectangle accompagn de ses sections Transformation
de la forme et Gomtrie.
Rectangle accompagn de ses
sections Transformation de la
forme et Gomtrie
Dans cet exemple, la cellule Largeur du rectangle contient la valeur = 3 po. et deux de
ses cellules Gomtrie comportent la formule = Largeur*1. Si la forme est tire sur la
page de dessin, la valeur de la cellule Largeur augmente, ce qui modifie la valeur des
coordonnes locales indiques dans la section Gomtrie. La formule Gomtrie,
toutefois, demeure = Largeur*1. Les formules Gomtrie qui reprsentent les
sommets de la forme sont toutes des coordonnes locales, exprimes dans les
units de largeur et hauteur de la forme.
REMARQUE : les types de ligne de gomtrie indiquent la manire dont un segment de
chemin doit tre dessin. Dans lexemple prcdent, les types de ligne DplacerVers et
TraitVers correspondent des segments de droite. Supposons que vous ayez indiquer
une personne de tracer un rectangle sur une feuille de papier. Vous lui donneriez
certainement lexplication suivante : Placez votre stylo sur les coordonnes 0, 0, puis
tirez un trait vers les coordonnes 3, 0... , etc.
Les types de ligne qui dcrivent des courbes (surtout les courbes dessines laide de loutil
Dessin main leve) sont plus complexes que ceux correspondant des droites. Certains
types de ligne peuvent reprsenter plusieurs sommets en une seule ligne. Pour plus
dinformations sur les types de ligne Gomtrie, reportez-vous la section Gomtrie de
laide en ligne ShapeSheet (accessible via ? (Aide) > Rfrence du dveloppeur, puis
slectionnez loption de rfrence de ShapeSheet) de votre produit Visio.
92 CHAP I TRE 5
Reprsent at ion de la posit ion dune f orme sur une page
La position dune forme sur la page est indique par son axe (ou centre de rotation).
Lapplication Visio utilise deux ensembles de coordonnes dans la section
Transformation de la forme afin de stocker lemplacement de laxe dune forme :
Les cellules AxeX et AxeY stockent les donnes x et y de laxe en fonction de son
parent, qui peut tre le groupe ou la page. Les coordonnes AxeX et AxeY sont
donc exprimes dans les coordonnes parent. Elles indiquent la position de la
forme par rapport son parent. Si la forme est dplace, les valeurs AxeX et AxeY
changent.
Les cellules AxeLocX et AxeLocY stockent les donnes dx et de y par rapport la
forme. Les valeurs AxeLocX et AxeLocY sont donc exprimes dans les
coordonnes locales. AxeLocX et AxeLocY reprsentent le point de rotation de la
forme lorsque vous la faites pivoter. Tout comme les formules Gomtrie de la
forme, AxeLocX et AxeLocY sont des formules qui font rfrence la largeur et la
hauteur de la forme. Le dplacement de la forme nentrane aucune modification
des formules AxeLocX et AxeLocY.
Laxe dcrit la position dune forme
dans les coordonnes locales et les
coordonnes parent.
A Les coordonnes locales de laxe dcrivent ce point (Largeur * 0,5, Hauteur * 0,5).
B Les coordonnes parent de laxe dfinissent ce point.
Pour comprendre le fonctionnement de laxe, imaginez que vous placez une fiche
cartonne de 3 x 5 po. sur une feuille de papier et que vous les perforez laide dune
aiguille. Vous pouvez dcrire lemplacement de la carte sur le papier par rapport aux
trous de laiguille.
Laxe fonctionne de cette manire dans lapplication Visio. Les coordonnes locales
de laxe (le trou dans la carte) sont (AxeLocX, AxeLocY). Les coordonnes parent
(le trou dans le papier) sont (AxeX, AxeY). Si vous fixez la carte un autre endroit du
papier (ce qui quivaut dplacer une forme sur une page), le trou de la carte ne
change pas de place. Cela nentrane donc aucune modification des coordonnes
locales de laxe. Toutefois, une nouvelle perforation apparat sur le papier, car les
coordonnes parent de laxe ont t modifies.
A
B
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 93
Dplacement dune forme laide de formules
Lorsque vous dplacez une forme sur une page laide de la souris, lapplication Visio
met jour les valeurs AxeX et AxeY en fonction de la nouvelle position de la forme sur
la page. Pour dplacer une forme par le biais de formules, dfinissez les valeurs AxeX
et AxeY. Par exemple, pour dplacer la flche dun pouce vers le haut dans la figure
suivante, vous pouvez utiliser cette formule :
Vous pouvez galement lier la position de la flche la largeur de la page laide dune
formule du type suivant :
Par dfaut, laxe est au centre de la forme que lapplication Visio exprime sous la
forme de formules utilisant les coordonnes locales (Largeur*0,5, Hauteur*0,5).
Vous pouvez dplacer laxe dune forme de lune des manires suivantes :
En crivant de nouvelles formules dans les cellules AxeLocX et AxeLocY.
En choisissant loption Pos. axe dans la bote de dialogue Taille et position.
Vous pouvez afficher cette bote de dialogue en choisissant Affichage > Fentres >
Taille et position ou Affichage > Taille et position dans le menu contextuel de la
forme (qui apparat lorsque vous cliquez dessus avec le bouton droit).
En faisant glisser laxe avec loutil de rotation dans la fentre de dessin.
Si vous dplacez laxe avec loutil de rotation dans la fentre de dessin, les valeurs AxeX
et AxeY sont modifies pour que la position de la forme sur la page ne change pas.
La section Transformation de la
forme contient les coordonnes
locales et les coordonnes parent
de laxe.
A Coordonnes parent de laxe
B Coordonnes locales de laxe
Les valeurs des cellules AxeX et AxeY correspondent aux valeurs indiques par les
options X et Y de la bote de dialogue Taille et position. Pour modifier les valeurs
AxeX et AxeY, changez les valeurs X et Y dans cette bote de dialogue.
AxeY = 1,S po.
AxeX = LaPage!LageuPage - S po.
B
A
94 CHAP I TRE 5
Mesure visant empcher les ut ilisat eurs de dplacer une
f orme
Lorsquun utilisateur dplace ou tire une forme, lapplication Visio crit de nouvelles
valeurs dans la section Transformation de la forme et crase les formules des cellules
concernes, y compris celles des cellules AxeX et AxeY.
Pour empcher les utilisateurs de dplacer une forme, vous pouvez utiliser la fonction
PROTECTION afin de protger ses formules AxeX et AxeY. Si vous protgez les
formules AxeX, les utilisateurs ne peuvent pas dplacer la forme lhorizontale.
Si vous protgez les formules AxeY, tout dplacement vertical est impossible. (Bien
sr, si vous protgez les formules AxeX et AxeY, tout dplacement est impossible.)
Par exemple, pour protger les formules de lillustration prcdente, procdez ainsi :
CONSEIL : vous pouvez dfinir les cellules VerrPivoter, VerrDplacX et VerrDplacY de
manire empcher les utilisateurs de faire pivoter ou de dplacer la forme, et protger les
autres formules de manire ce quaucune autre action utilisateur ne soit possible. Pour
plus dinformations sur les verrouillages et sur la fonction PROTECTION, reportez-vous
la section Limitation du comportement dune forme laide de verrouillages , la
page 111 de ce chapitre.
Cont rle de lt irement et de la rduct ion des f ormes
Vous pouvez utiliser des formules afin de contrler la rduction ou lagrandissement
dune forme en raction certaines actions des utilisateurs Visio. Gnralement, les
utilisateurs redimensionnent une forme en dplaant ses poignes de slection, mais
ils peuvent galement modifier les sommets dune forme laide de loutil Crayon.
Vous pouvez crer une forme utilisant plusieurs rgles dtirement, selon que
lutilisateur fait glisser une poigne de redimensionnement de largeur ou de hauteur.
Lune des mthodes possibles consiste utiliser une formule calcule sur la base de la
hauteur qui, comme son nom lindique, conserve le rapport hauteur/largeur dune
forme en dfinissant sa largeur par rapport sa hauteur. Pour que cette formule ne
sapplique qu une partie de la forme, vous pouvez placer une formule calcule sur la
base de la hauteur dans les cellules Gomtrie correspondant la partie souhaite.
Pour plus dinformations sur lutilisation de formules calcules sur la base de la
hauteur avec une forme 1D, reportez-vous au chapitre 8, Liaison des formes :
formes 1D et collage .
AxeY = PP0TECTT0h|1,S po.)
AxeX = PP0TECTT0h|LaPage!LageuPage - S po.)
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 95
Exemple de f ormules calcules sur la base de la haut eur
Dans lexemple suivant, une flche est dessine laide de loutil Trait. Cet exemple
illustre lutilisation de formules pour contrler la rduction ou lagrandissement de la
flche. Par dfaut, le programme applique la flche des formules qui dfinissent un
redimensionnement proportionnel en cas dtirement horizontal ou vertical.
Le redimensionnement de la flche
dorigine modifie les proportions de
la forme.
A Flche dorigine utilisant les formules par dfaut
B Flche aprs redimensionnement de la largeur
C Flche aprs redimensionnement de la hauteur
Lorsque vous utilisez les formules par dfaut, les flches de diffrentes longueurs
prsentent des pointes de diffrentes tailles, ce qui entraine un affichage cohrent.
Au moment dutiliser cette flche dans un dessin, vous prfrerez probablement que
le corps de la flche stire et se rduise horizontalement, mais que la taille de la pointe
reste inchange. En revanche, si la forme est tire la verticale, vous prfrerez
probablement que la pointe de la flche soit redimensionne en consquence.
Comme la largeur de la pointe de flche est proportionnelle sa hauteur, une formule
calcule sur base de la hauteur peut dcrire la base de la pointe de flche (trait
connectant les sommets 3, 4, 6 et 7 dans la figure suivante) sous la forme dune
fraction de la hauteur de la forme.
Chaque sommet correspond une
ligne de la section Gomtrie.
A Toutes les ordonnes (y) sont par dfaut des multiples de la hauteur.
B Toutes les abscisses (x) sont par dfaut des multiples de la largeur.
C Hauteur * 0,5
D Hauteur * 0,5
A B C
96 CHAP I TRE 5
Le sommet 5 se place exactement gale distance du haut et du bas de la forme.
Sa coordonne y peut donc tre calcule par la formule Hauteur * 0,5. Si la distance
sur laxe x sparant le sommet 5 de la base de la pointe de flche est dfinie par
rapport la hauteur, la pointe de flche est redimensionne proportionnellement
lorsque la forme est tire la verticale, mais ne change pas lorsque cet tirement est
effectu lhorizontale.
La formule qui produit ce comportement permet de conserver la taille de la base de la
pointe de flche, qui est gale la largeur de la forme moins la distance sparant le
sommet 5 de la base, soit :
La coordonne x de chaque sommet de la base de la pointe de flche (sommets 3, 4, 6
et 7) doit tre calcule laide de cette formule. Pour des raisons defficacit, la
formule peut tre place uniquement dans la cellule du sommet 3 : les autres cellules
font ensuite rfrence cette valeur. La coordonne y du sommet 3 correspond la
cellule X3 de la section Gomtrie1.
Sommets et formules dcrivant la
gomtrie de la flche
A Tous les points de la base de la pointe de flche prsentent la mme coordonne x :
Largeur - Hauteur * 0,5.
B La base de la pointe de flche est dfinie par une fraction de la hauteur.
C Hauteur
D Hauteur * 0,75
E Hauteur * 0,5
F Hauteur * 0,25
G Largeur
= Lageu - haufeu " 0,S
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 97
Lillustration suivante prsente la nouvelle gomtrie de la flche aprs
redimensionnement.
Nouvelle gomtrie de la flche
Opt imisat ion de lexemple de f lche
Les formules calcules sur la base de la hauteur de la section Exemple de formules
calcules sur la base de la hauteur , page 95, produisent le comportement souhait et
fonctionnent correctement. Toutefois, comme la flche est symtrique, vous pouvez
ensuite affiner les formules personnalises laide de rfrences de cellule afin de
rduire le nombre de calculs. La forme est ainsi plus facile personnaliser.
Par exemple, les cellules Gomtrie1.Y1 et Gomtrie1.Y7 contiennent toutes les deux la
mme formule :
Cette formule peut galement prendre la forme suivante :
La cellule Gomtrie1.Y2 contient dj la formule = Hauteur * 0,25. Il vous suffit donc
de faire rfrence cette cellule dans une partie de la formule au lieu de rpter
lensemble de la formule. La formule de Gomtrie1.Y1 et de Gomtrie1.Y7
devient donc :
Dsormais, la flche ncessite uniquement deux formules personnalises
(= Hauteur * 0,5 et = Hauteur * 0,25) pour calculer les sommets. Vous pouvez
galement modifier lapparence de la flche en ne changeant quune formule
(= Hauteur * 0,25).
= haufeu " 0,7S
= haufeu - haufeu " 0,2S
= haufeu - Comf1e1.Y2
98 CHAP I TRE 5
Cont rle du ret ournement et de la rot at ion des f ormes
Lors de la cration des formes, vous pouvez dcider de laisser aux utilisateurs la
possibilit de les retourner ou de les faire pivoter.
Lorsque vous crez une forme, vous devez connatre ds le dpart la manire dont les
utilisateurs vont la retourner ou la faire pivoter, puis crer le comportement
correspondant. La section Transformation de la forme enregistre lorientation dune
forme par rapport son parent. Lorsquun utilisateur retourne ou fait pivoter une
forme, sa section Transformation de la forme prend en compte la transformation qui
a rellement lieu.
Consquences du ret ournement dune f orme
Lorsquune forme est retourne, la valeur de la cellule RetournementX ou
RetournementY devient TRUE. Les coordonnes parent de lorigine de la forme
changent, mais lemplacement de laxe de la forme ne change pas par rapport aux
coordonnes locales ou aux coordonnes parent. Dans la figure suivante, la forme est
pivote afin que vous puissiez constater linteraction qui existe entre les cellules
RetournementX et RetournementY.
Les coordonnes locales dune
forme aprs retournement (valeurs
RetournementX et RetournementY)
ont chang.
A RetournementX = FALSE, RetournementY = FALSE, Angle = 30 deg.
B RetournementX = FALSE, RetournementY = TRUE, Angle = 30 deg.
C RetournementX = TRUE, RetournementY = FALSE, Angle = 30 deg.
D RetournementX = TRUE, RetournementY = TRUE, Angle = 30 deg.
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 99
Si vous crez des formes pouvant tre retournes, vous devez connatre les diffrents
comportements rsultant de chaque mthode employe. Pour retourner une forme,
les utilisateurs peuvent effectuer les oprations suivantes :
Choisir la commande Retournement vertical ou Retournement horizontal dans la
barre doutils Action ou dans le menu Forme.
Dfinir la valeur de la cellule RetournementX ou RetournementY dans la section
Transformation de la forme.
Selon la mthode employe par lutilisateur pour retourner une forme, deux
transformations peuvent avoir lieu :
Lorsque lutilisateur choisit la commande Retournement horizontal de la barre
doutils Action ou du menu Forme, la forme est retourne autour dun trait
vertical sur la page qui passe par laxe de la forme du systme de coordonnes.
La valeur de la cellule RetournementX bascule entre TRUE et FALSE. Si la forme
subit une rotation, la valeur de la cellule Angle devient angle, ce qui entrane une
transformation de la forme, comme le montre la figure suivante.
Lorsque lutilisateur modifie les valeurs de la cellule RetournementX dans la
section Transformation de la forme, et que la valeur de la cellule RetournementX
est paramtre sur TRUE, la forme est retourne lhorizontale par une inversion
de la direction de laxe de la coordonne locale x. La valeur de la cellule Angle nest
pas modifie.
La commande Retournement
horizontal retourne et fait pivoter la
forme.
A Forme dorigine
B Consquence de lutilisation de la commande Retournement horizontal
C Consquence du paramtrage de RetournementX sur TRUE
D Systme de coordonnes sur la page
Lutilisation de la commande Retournement vertical de la barre doutils Action ou du
menu Forme permet dactiver/de dsactiver la valeur de la cellule RetournementY et
de paramtrer la valeur de la cellule Angle sur angle.
100 CHAP I TRE 5
Consquence de la rot at ion dune f orme
Pour faire pivoter une forme, lutilisateur peut faire glisser une poigne de forme avec
loutil Rotation ou utiliser la fentre Taille et position qui comporte un champ Angle
modifiable. (Pour afficher la fentre Taille et position, choisissez Affichage >
Fentres > Taille et position.) Lorsquune forme est pivote, la valeur de sa cellule
Angle dcrit la rotation du systme de coordonnes locales de la forme par rapport au
systme de coordonnes parent.
Une forme pivote autour de son axe : les coordonnes parent de lorigine dune forme
changent paralllement la rotation, mais lemplacement de laxe ne change pas par
rapport aux coordonnes locales ou parent.
REMARQUE : si loption de rotation de page est active, lutilisateur peut faire pivoter la
page de dessin en faisant glisser son angle avec loutil Rotation. Les formes existantes et les
repres peuvent apparatre pivots : en ralit, ils conservent leur position et leur angle par
rapport lorigine de la page. La rotation dune page na aucune incidence sur la page lors
de limpression. Elle ne modifie pas non plus lapparence des rgles et de la grille de la
fentre de dessin.
Loption de rotation de page est active par dfaut dans certains produits Visio. Pour
activer (ou dsactiver) loption de rotation de page, choisissez Outils > Options, cliquez
sur longlet Dessin, puis slectionnez (ou dslectionnez) la case cocher Activer la
rotation des pages.
Une page naffiche pas de section de transformation dans la fentre ShapeSheet
. Vous ne
pouvez donc ni afficher, ni modifier sa cellule Angle comme vous le feriez sil sagissait
dune forme. Toutefois, vous pouvez y accder laide de la proprit PageSheet
dAutomation. Pour plus dinformations sur laccs aux formules par le biais
dAutomation, reportez-vous au chapitre 17, Automatisation des formules .
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 101
Crat ion de f ormes pouvant t re ret ournes et pivot es
Pour que les utilisateurs puissent retourner et faire pivoter une forme, vous devez
la concevoir de manire ce quelle puisse avoir plusieurs angles et orientations. Par
exemple, vous pouvez modifier la manire dont une forme est retourne ou pivote
en dplaant son axe local. Dans la figure suivante, lorsquun utilisateur retourne le
symbole du transistor la verticale, la position de la broche horizontale reste
identique. Lorsque la forme est retourne lhorizontale, la position de la broche
verticale reste identique. Ce comportement permet de positionner correctement les
diffrents transistors dun schma lectrique.
Forme de transistor sans
retournement, aprs retournement
vertical et aprs retournement
horizontal
A Laxe local est align sur les broches verticales et horizontale.
B La broche horizontale ne bouge pas.
C La broche verticale ne bouge pas.
Vous pouvez utiliser loutil Rotation pour dplacer laxe de la forme. Les valeurs AxeX
et AxeY changent. Les formules AxeLocX et AxeLocY changent galement pour
compenser le mouvement de laxe de manire ce que la forme ne bouge pas sur la
page. Vous pouvez galement dplacer laxe en ne changeant que les formules des
cellules AxeLocX et AxeLocY. Vous modifiez ainsi la relation existant entre laxe local
et laxe parent, si bien que la forme est galement dplace sur la page de dessin.
Par exemple, la forme de transistor dcale laxe local par le biais des formules
suivantes :
AxeLocX = Lageu " 0,7S
AxeLocY = haufeu " 0,S
A
B
C
102 CHAP I TRE 5
Certaines formes, telles que le symbole du transistor de lillustration suivante, sont
frquemment pivotes selon un angle multiple de 90 degrs. Lorsque vous crez une
forme de ce type, le rectangle de slection concide avec la grille, et son axe et les
points de connexion se trouvent sur les points de la grille ; la forme est aligne plus
rapidement que dans le cas dune rotation ou dun retournement manuel.
Symbole de transistor destin
tre pivot selon un angle multiple
de 90 degrs
A Le rectangle de slection est un multiple de la grille et laxe se trouve galement sur un point de
la grille.
B Lorsque vous faites pivoter la forme, les points de connexion se trouvent toujours sur les lignes
de la grille.
Pour plus dinformations sur lutilisation des rectangles de slection et de la grille,
reportez-vous au chapitre 11, Rorganisation des formes dun dessin .
Mesure permet t ant dempcher t out ret ournement ou t out e
rot at ion des f ormes
Vous pouvez empcher les utilisateurs de faire pivoter une forme en protgeant la
formule de la cellule Angle :
La forme peut toujours tre retourne, mais toute utilisation de loutil Rotation ou
des commandes Forme > Pivoter est impossible moins que les utilisateurs ne
modifient la formule Angle de la fentre ShapeSheet. Cette technique est simple mais
elle nest pas conseille. Elle peut en effet prter confusion car les poignes de
rotation continuent dapparatre tant que loutil Rotation est actif, de mme que les
commandes Pivoter restent accessibles alors quelles ne sont daucune utilit.
Il est donc prfrable de verrouiller la forme afin dempcher toute rotation en
cochant la case Rotation dans la bote de dialogue Protection (choisissez Format >
Protection) ou en paramtrant la cellule VerrPivoter (dans la section Protection) sur
une valeur non nulle. Lorsque loutil Rotation est actif, des cadenas apparaissent sur
les poignes de rotation de la forme et indiquent donc clairement aux utilisateurs
quelles ne sont pas disponibles lorsque vous protgez la valeur de la cellule Angle.
Ahg1e = PP0TECTT0h|0 deg.)
B
A
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 103
Toutefois, malgr ce verrouillage, la forme peut toujours tre pivote par le biais des
commandes Retournement vertical et Retournement horizontal. Pour empcher tout
retournement dune forme, protgez les formules des cellules RetournementX et
RetournementY :
La bote de dialogue Protection ne fournit aucune option quivalente.
Cont rle des courbes des f ormes
Pour crer une forme aux angles arrondis, vous pouvez appliquer le style
correspondant ou crer un arc. Ce choix dtermine la manire dont la forme est
redimensionne. La figure suivante illustre les rsultats obtenus avec chaque mthode.
Mode de redimensionnement des
formes selon le type dangle utilis
A Ltirement du rectangle aux angles arrondis na aucune incidence sur la courbure de ses
angles.
B Les arcs de cercle peuvent dformer la forme lorsque celle-ci est redimensionne.
C Les arcs dellipse sont redimensionns et lisss en mme temps que la forme. Cependant,
les angles obtenus risquent de ne pas rpondre vos attentes.
Si vous dessinez une forme laide de loutil Crayon, Trait, Arc ou Rectangle, vous
pouvez connecter les segments de droite avec un segment darc dellipse. Lorsque
vous tirez une forme, les sommets de dbut et de fin dune courbe sont gnralement
dplacs proportionnellement. Lutilisation de segments darc cet effet permet de
mieux contrler la forme, car les segments darc ne dpendent pas du style de trait ou
dangle, et les arcs peuvent tre contrls par des formules.
PefouhemehfX = PP0TECTT0h|IALSE)
PefouhemehfY = PP0TECTT0h|IALSE)
A
B C
104 CHAP I TRE 5
Vous pouvez modifier lexcentricit dun arc dellipse afin de conserver son aspect
liss. Un arc de cercle tente dinsrer un cercle entre les sommets de dbut et de fin, ce
qui peut entraner lapparition dune dformation entre une courbe et un trait. Pour
viter ce problme, vous pouvez contrler la courbure de larc par le biais de
formules. Si vous utilisez cette mthode pour crer une forme angles arrondis, la
gamme prdfinie des angles permet un redimensionnement liss.
Ut ilisat ion des st yles dangle arrondi
Lorsque vous utilisez la commande Coins du menu Format, vous appliquez un style
arrondi aux angles dun trait. Vous pouvez crer la forme partir de segments de
droite plutt que dutiliser un ensemble de traits et darcs. Le style dangle ne modifie
pas la gomtrie de la forme, mais uniquement son mode daffichage lcran.
Polygone (A) format avec des
coins arrondis (B), puis
redimensionn (C)
Mme si le redimensionnement dune forme prsentant un style dangle arrondi
se droule selon vos attentes, lutilisation dun autre style de trait spcifiant dautres
attributs dangle (ou aucun attribut) peut nanmoins craser le style dangle arrondi.
Vous pouvez donc tre amen protger le formatage dune forme en paramtrant
sa cellule VerrFormat sur TRUE ou en protgeant la formule de la cellule
Arrondissement dans sa section Format. Pour plus dinformations sur les styles,
reportez-vous au chapitre 10, Gestion des styles, des formats et des couleurs .
Prsent at ion des arcs
Un arc de cercle est une partie dun cercle. Un arc dellipse est une partie dune ellipse.
Un arc dellipse peut sembler circulaire, car un cercle nest quun type spcial dellipse.
Les arcs dessins laide de loutil Arc correspondent toujours un quart dellipse, et
ceux dessins par le biais de loutil Crayon sont une partie dun cercle. Toutefois, ces
deux types darc sont reprsents dans la section Gomtrie en tant quarcs dellipse,
dfinis par les lignes ArcElliptiqueVers. Pour obtenir un vritable arc de cercle, vous
devez paramtrer son type de ligne sur ArcVers dans sa section Gomtrie.
A B C
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 105
Arcs de cercle
Dans un arc de cercle, lampleur de larc correspond la distance entre le point central
de la corde et le point central de larc, comme lindique la figure suivante.
Arc de cercle
La valeur de la courbure est positive si larc est dessin dans le sens inverse des
aiguilles dune montre ; dans le cas contraire, elle est ngative. Le point de contrle
dun arc slectionn se trouve au point central, cest--dire le long de la bissectrice
perpendiculaire de la corde. Si vous tentez de dplacer le point de contrle avec loutil
Crayon, le point se dplace librement mais il reprend toujours sa position le long de la
bissectrice perpendiculaire.
Lorsque vous redimensionnez un arc de cercle, vous modifiez le rayon du cercle dont
fait partie larc. Larc peut tre plat ou bomb, ce qui correspond au comportement de
redimensionnement normal dun cercle. Cependant, ce comportement nest peut-tre
pas adapt vos souhaits. (Pour obtenir un redimensionnement proportionnel, vous
devez utiliser un arc dellipse suivant les indications qui figurent plus loin dans
cette section.)
Redimensionnement dun arc de
cercle
A Lorsque le point de contrle est dplac, la valeur de courbure de larc change.
Par dfaut, tous les arcs crs avec les outils de dessin Visio sont des arcs dellipse.
Pour crer un arc de cercle, vous devez modifier le type de ligne dans la section
Gomtrie.
A Cordes
B Points de contrle
C Courbures
A
B
C
A
A
106 CHAP I TRE 5
Pour crer un arc de cercle :
1 Slectionnez une forme et choisissez Fentre > Afficher la feuille ShapeSheet.
2 Dans la section Gomtrie, slectionnez la ligne TraitVers ou ArcElliptiqueVers
convertir en arc de cercle.
3 Choisissez Edition > Modifier le type de ligne.
4 Slectionnez ArcVers, puis cliquez sur OK.
Le tableau suivant indique la signification des cellules dune ligne ArcVers.
* Les cellules X et Y de la ligne prcdente dans la section Gomtrie dterminent le point de dpart de l arc.
Arcs dellipse
Lorsquun arc dellipse est tir, son excentricit change en fonction de ltirement, si
bien que larc conserve une courbe lisse. Lexcentricit contrle le niveau dasymtrie
de larc.
Arc dellipse
A Axe majeur
B Axe mineur
C Point de contrle
D Angle
Lexcentricit dun arc rsulte de la division de son axe majeur par son axe mineur.
Reprsentation dun arc de cercle dans la section Gomtrie
Ligne Cellule Valeur
Ligne prcdant
la ligne ArcVers*
X Coordonne x du point de dpart
Y Coordonne y du point de dpart
ArcVers X Coordonne x du point de fin
Y Coordonne y du point de fin
A Taille de la courbure de l arc
A
B
C
D
CONTRL E DE L A GOMTRI E DES FORMES L AI DE DE FORMUL ES 107
Vous serez probablement plus souvent amen utiliser un arc dellipse quun arc de
cercle. En effet, la nature intrinsque de larc de cercle limite ses possibilits de
redimensionnement.
REMARQUE : dans les versions antrieures de Visio, une ellipse tait reprsente par deux
lignes ArcElliptiqueVers. Dans Microsoft
Visio
. Certaines
cellules de cette section correspondent aux options de la bote de dialogue accessible
via Format > Protection ; dautres ne peuvent tre dfinies que dans la fentre
ShapeSheet. Pour plus dinformations sur les cellules de la section Protection,
reportez-vous laide en ligne Rfrence du dveloppeur (choisissez ? (Aide) >
Rfrence du dveloppeur) fournie avec Visio.
112 CHAP I TRE 5
La dfinition de verrouillages permet dviter toute modification fortuite dune
forme. Par exemple, si vos formes reprsentent des lments dont les dimensions sont
standard, par exemple du matriel de construction, vous pouvez verrouiller leurs
poignes de redimensionnement car les utilisateurs ne doivent pas tre en mesure
dtirer les formes dans toutes les directions. Lorsquun verrouillage est dfini, un
cadenas apparat la place de certaines poignes de slection sur la forme, ce qui
indique que la fonction correspondante ne peut pas tre modifie.
Le paramtrage de verrouillages se
traduit par des informations
visuelles. Les cadenas (A) indiquent
que vous ne pouvez pas
redimensionner la forme.
Pour verrouiller une fonction, paramtrez sur un nombre non nul la cellule
approprie dans la section Protection. Pour dverrouiller une fonction, saisissez 0
dans la cellule.
Le fait de dfinir des verrouillages na aucune incidence sur les commandes actives et
nempche pas la modification des autres formules. Par exemple, si vous verrouillez la
largeur et la hauteur dune forme appartenant un groupe, puis que vous modifiiez
lchelle du groupe, la largeur et la hauteur de la forme peuvent changer. Si vous
dfinissez un verrouillage, ce verrouillage ne porte que sur la modification de lchelle
de la forme laide de la souris. Pour plus dinformations sur le contrle des actions
autorises sur les groupes, reportez-vous au chapitre 6, Regroupement et fusion de
formes .
REMARQUE : vous pouvez galement utiliser la fonction PROTECTION de vos formules
personnalises afin dempcher leur crasement par un utilisateur ou par le programme
Visio. La fonction PROTECTION et les verrouillages de protection protgent vos formes
de deux manires diffrentes et complmentaires. La fonction PROTECTION empche
toute modification des formules mais autorise lexcution dactions utilisateur. En
revanche, si vous dfinissez des verrouillages dans la section Protection, les actions
utilisateur sont impossibles, mais les formules de cellule ne sont pas protges.
Par exemple, si vous paramtrez la formule Largeur dune forme sur = PROTECTION
(5 picas), les utilisateurs peuvent faire glisser les poignes de slection latrales de la forme
afin de ltirer, mais la forme retrouve sa largeur initiale ds que Visio recalcule sa
formule Largeur. En revanche, si vous paramtrez la cellule VerrLargeur sur TRUE (1),
les utilisateurs ne peuvent pas faire glisser les poignes de slection latrales.
Pour plus dinformations sur la fonction PROTECTION, reportez-vous la section
Conception de formules Visio , page 80.
A
Sommaire
6
Regroupement et f usion de f ormes
Vous pouvez regrouper ou fusionner des formes afin de crer des formes gomtrie
complexe, ou de contrler le comportement de plusieurs formes. La mthode choisie
dtermine le mode dutilisation des formes et les rsultats obtenus.
Ce chapitre prsente les principaux lments qui distinguent les formes regroupes
des formes fusionnes. Il indique galement la manire dont vous pouvez crer des
groupes et des formes fusionnes, ou contrler le comportement de formes
fusionnes ou de groupes par le biais de formules ShapeSheet
.
Diffrences entre formes regroupes et formes fusionnes.............................. 114
Cration et contrle des groupes.......................................................................... 115
Contrle du comportement des groupes............................................................. 118
Protection du formatage des formes figurant dans des groupes ...................... 126
Cration et contrle des formes fusionnes........................................................ 126
114 CHAP I TRE 6
Dif f rences ent re f ormes regroupes et f ormes f usionnes
Les formes regroupes et fusionnes nont pas le mme comportement. Cette
diffrence doit guider votre choix entre formes regroupes et formes fusionnes.
Contexte dutilisation des groupes
Cration dune forme complexe contenant plusieurs blocs de texte, ou prsentant
plusieurs styles ou formats
Conservation des formules personnalises pour chacune des formes composant
le groupe
Mise la disposition des utilisateurs de fonctions de slection et de modification
des formes dans une forme complexe
Contexte dutilisation des formes fusionnes
Regroupement de formes en une seule forme dont la fusion ne peut pas tre
annule par lutilisateur
Cration dune forme rpondant plus rapidement quun groupe aux actions des
utilisateurs
Cration dune forme comportant des sections Gomtrie qui peuvent tre
masques ou affiches selon certains critres
Cration dune forme dont le remplissage peut contenir des zones transparentes
Caractristiques des groupes
Un groupe peut tre dissoci. Vous obtenez ainsi de nouveau des formes
indpendantes.
Un groupe permet de dplacer ou de redimensionner plusieurs formes
simultanment, tout en conservant leurs attributs de formatage propres, y compris
les formules personnalises.
Vous pouvez appliquer divers styles et formats de texte aux formes du groupe.
Les formes dun groupe peuvent tre slectionnes, puis directement dplaces ou
redimensionnes.
Chaque forme conserve sa propre feuille de calcul ShapeSheet, mais le groupe
possde galement sa propre feuille de calcul ShapeSheet.
Caractristiques des formes fusionnes
Une forme fusionne peut tre reprsente par une seule interface ShapeSheet
contenant plusieurs sections Gomtrie.
Une forme fusionne crase les formules personnalises des formes.
Une forme fusionne se limite un seul bloc de texte et un seul jeu dattributs de
formatage.
REGROUP EMENT ET FUSI ON DE FORMES 115
Crat ion et cont rle des groupes
Vous pouvez tre amen crer un groupe lorsque vous disposez de plusieurs formes
que vous souhaitez dplacer et redimensionner simultanment, tout en conservant
leurs attributs de formatage propres et leurs divers blocs de texte. Lorsque vous
regroupez des lments, une nouvelle feuille de calcul ShapeSheet
Visio
Visio
Visio
, ou en utilisant la fentre
Proprits personnalises ou la bote de dialogue Dfinir des proprits
personnalises. Attribuez chaque proprit personnalise un nom unique et
dfinissez au besoin dautres caractristiques, telles que le type de donnes, le format
et la valeur par dfaut.
Cette section traite de lutilisation de formules ShapeSheet pour la dfinition et la
modification de proprits personnalises. Vous pouvez galement utiliser
Automation pour intgrer des informations provenant dautres sources dans vos
dessins Visio. Pour plus dinformations, reportez-vous au chapitre 20, Intgration
de donnes et dune solution Visio .
Ut ilisat ion de proprit s personnalises
Les proprits personnalises vous offrent toute une gamme de possibilits vous
permettant de rendre vos solutions plus labores et plus ralistes. En associant des
donnes votre forme, vous pouvez notamment :
Ajouter des donnes lorsque vous crez une forme. Par exemple, vous pouvez
dfinir des proprits personnalises de rsistance, de tension et dintensit, et
saisir les donnes correspondantes dans des formes de base qui reprsentent les
composants lectroniques. Lorsque lutilisateur insre lune des formes dans un
dessin, les donnes sont galement insres.
Collecter des donnes auprs dun utilisateur. Lapplication Visio peut inviter
lutilisateur dfinir les proprits personnalises dune forme de base chaque
insertion dans un dessin. Lutilisateur fournit ainsi les donnes ncessaires votre
solution. Il peut galement afficher et modifier les proprits personnalises dune
forme partir du menu contextuel.
Afficher des donnes dans le texte dune forme. Vous pouvez insrer un champ
de texte dans le texte dune forme afin dafficher le rsultat dune formule de
proprit personnalise. Un champ de texte peut indiquer une valeur, le rsultat
dune formule ou toute valeur globale fournie par le moteur Visio, par exemple le
rcapitulatif du fichier, ou la date et lheure actuelles.
AML I ORATI ON DU COMP ORTEMENT DES FORMES 147
Parfois les donnes ne sont pas visibles, mais vous prfrerez certainement les afficher
dans un dessin ou modifier le dessin lorsquelles changent. Vous pouvez utiliser les
proprits personnalises dune forme afin deffectuer les oprations suivantes :
Contrler le comportement dune forme. Les proprits personnalises sont
stockes dans des cellules ShapeSheet et peuvent donc entrer en ligne de compte
dans dautres formules. Ainsi, la gomtrie dune forme peut tre lie ses
proprits personnalises, et volue alors selon des donnes saisies par lutilisateur.
Extraire des donnes dun dessin. Vous pouvez extraire des donnes des
proprits personnalises dune forme et les transmettre vers une destination
externe, par exemple vers une feuille de calcul ou vers une base de donnes. Pour
plus dinformations, reportez-vous au chapitre 20, Intgration de donnes et
dune solution Visio .
Transfrer des donnes depuis une source externe. Vous pouvez dfinir des
proprits personnalises afin dutiliser les donnes fournies par une source
externe, par exemple par une feuille de calcul ou par une base de donnes. Pour ce
faire, crivez un programme utilisant Automation pour transmettre le flux de
donnes. Pour plus dinformations, reportez-vous au chapitre 20, Intgration de
donnes et dune solution Visio .
Les proprits personnalises peuvent servir de conteneurs pour les donnes qui
proviennent dune source externe. Elles peuvent aussi fournir une interface de saisie de
donnes pour les formes dun dessin. Vous pouvez dcider de placer simplement les
donnes des proprits dans la forme ou de les faire interagir avec une source externe.
Par exemple, vous pouvez utiliser les proprits personnalises pour mettre jour une
liste de contrle de stock. Vous pouvez crer un gabarit contenant les formes de base
qui reprsentent les pices en stock. Pour chaque forme de base, vous pouvez dfinir
les proprits personnalises Nom, Cot unitaire et Quantit. Vous avez galement la
possibilit dindiquer la valeur de ces proprits lorsque vous crez les formes. Vous
pouvez galement laisser les utilisateurs saisir le nom, le cot et la quantit des pices,
et ventuellement dfinir des messages les invitant le faire.
Proprits personnalises dune
liste de contrle de stock
A Forme munie de proprits personnalises
B La valeur saisie dans ce champ est la valeur de la cellule Prop.Cot.
A
B
148 CHAP I TRE 7
Df init ion des proprit s personnalises
Vous pouvez dfinir une proprit personnalise afin de stocker des donnes
(chane, donnes numriques, boolennes, date/heure, dure, devise, liste fixe ou liste
variable) avec un objet reprsent par une feuille, par exemple une forme, un groupe,
une forme de base, un repre, une page ou un document. Une proprit personnalise
est stocke sous la forme dune ligne ShapeSheet, dont vous pouvez dfinir le nom et
les cellules. Vous pouvez afficher et modifier les proprits laide des commandes de
menu Visio, crer des rapports partir de ces informations ou faire rfrence aux
valeurs des autres cellules ShapeSheet. Les proprits personnalises permettent
dassocier des champs de type base de donnes une forme ou une page.
Pour crer une proprit personnalise contenant les donnes, sans que ces donnes
napparaissent dans la fentre Proprits personnalises, vous pouvez crer une
proprit personnalise qui napparatra pas dans la bote de dialogue Proprits
personnalises en paramtrant la cellule Invisible sur TRUE. La fonction
PROTECTION ne protge pas les donnes de la cellule Valeur dune ligne de
proprit personnalise.
Vous pouvez dfinir les proprits personnalises dune seule forme ou dune page en
ajoutant une section Proprits personnalises sa feuille ou en utilisant la fentre
Proprits personnalises. Lorsque vous modifiez un gabarit, la mthode la plus
efficace consiste dfinir les proprits personnalises de la forme de base du gabarit
de manire ce que chaque occurrence contienne les mmes proprits. Lditeur de
proprits personnalises permet de dfinir des proprits pour un gabarit de base, un
gabarit local ou un gabarit autonome.
La fentre Proprits personnalises permet de connatre en un clin doeil les
proprits associes une page ou la forme slectionne, et fournit une interface
permettant de saisir les nouvelles valeurs de ces proprits.
Vous pouvez attribuer de nouvelles
valeurs aux proprits
personnalises dans la fentre
Proprits personnalises.
AML I ORATI ON DU COMP ORTEMENT DES FORMES 149
Pour ajout er des proprit s personnalises une f orme ou une page
laide de la f ent re Proprit s personnalises :
1 Choisissez Affichage > Fentres > Proprits personnalises afin douvrir la fentre
Proprits personnalises.
2 Slectionnez la forme ou cliquez sur la page laquelle vous souhaitez ajouter des
proprits personnalises. Cliquez ensuite avec le bouton droit dans la fentre
Proprits personnalises et choisissez Dfinir les proprits dans le menu
contextuel.
3 Dans la bote de dialogue Proprits, saisissez les valeurs des champs Libell, Nom
(correspondant au nom de la ligne dans la fentre ShapeSheet), Type, Format,
Valeur, Message d'aide et Cl de tri.
4 Cliquez sur Crer pour ajouter des proprits personnalises, ou sur OK pour
fermer la bote de dialogue et ajouter les proprits personnalises la forme ou
la page.
Pour ajout er des proprit s une f orme ou une page laide de la f ent re
ShapeSheet :
1 Slectionnez une forme ou cliquez dans la page de dessin, puis choisissez Fentre >
Afficher la feuille ShapeSheet.
2 Si la section Proprits personnalises nexiste pas, choisissez Insertion > Section.
Dans la bote de dialogue Insrer une section, slectionnez Proprits
personnalises, puis cliquez sur OK.
3 Dans la section Proprits personnalises de la fentre ShapeSheet, slectionnez le
libell de ligne Prop.Ligne_1 qui apparat en rouge. Dans la barre de formule,
saisissez un nom vocateur.
Par exemple, saisissez Cot_Unitaire pour crer la proprit personnalise
Prop.Cot_Unitaire. Le libell de la ligne correspond au nom de la cellule Valeur
de cette ligne. Utilisez ce nom (par exemple, Prop.Cot_Unitaire) dans les
rfrences de cellule.
4 Dans la cellule Libell, saisissez le libell qui apparat dans la bote de dialogue
Proprits personnalises pour cette proprit.
Par exemple, saisissez Cot par unit. Le moteur Visio place automatiquement
cette chane entre guillemets.
5 Dans la cellule Message, saisissez le texte vocateur ou explicatif qui apparat dans
la bote de dialogue Proprits personnalises lorsque la proprit est slectionne.
Par exemple, saisissez Entrez le cot unitaire de cette pice. Le moteur Visio place
automatiquement cette chane entre guillemets.
150 CHAP I TRE 7
6 Dans les cellules Type et Format, saisissez le type et le format de donnes pour la
valeur de votre proprit personnalise.
Pour plus dinformations, reportez-vous au tableau suivant.
7 Facultatif : paramtrez la cellule Invisible sur un nombre non nul (TRUE) afin
dempcher lapparition de la proprit personnalise dans la bote de dialogue
Proprits personnalises. Paramtrez la cellule Demande sur un nombre non nul
(TRUE) afin dafficher la bote de dialogue Proprits personnalises ds quune
occurrence de la forme est cre.
Pour afficher la proprit personnalise dfinie, slectionnez la forme dans la page
de proprits ou annulez toutes les slections pour afficher les proprits
personnalises de la page. Choisissez ensuite Forme > Proprits personnalises.
Types et formats de proprits personnalises
Type
Formule de la cellule
ShapeSheet Description
Chane Type = 0
Iomaf = "<1mage>"
Paramtre par dfaut. Utilisez un format
image* valide dans la cellule Format (chanes
telles que les paires nombre/unit, les dates,
les heures, etc.).
Liste fixe Type = 1
Iomaf = "E1f 1,E1f Z"
Affiche dans l ordre alphabtique les
lments de liste dans une zone de liste
droulante de la bote de dialogue Proprits
personnalises. I ndiquez les lments de
liste dans la cellule Format. Les utilisateurs
ne peuvent slectionner qu un lment dans
cette liste.
Numrique Type = ?
Iomaf = "<1mage>"
Utilisez un format image* dans la cellule
Format afin d indiquer l unit de mesure et
les autres formats numriques.
Boolen Type = 3 Affiche les lments FALSE et TRUE que les
utilisateurs peuvent slectionner dans une
zone de liste droulante modifiable de la
bote de dialogue Proprits personnalises.
Liste de
variables
Type = 4
Iomaf = "E1f 1,E1f ?"
Affiche les lments de liste dans une zone
de liste droulante modifiable de la bote de
dialogue Proprits personnalises. I ndiquez
les lments de liste dans la cellule Format.
Les utilisateurs peuvent slectionner un
lment de liste ou saisir un nouvel
lment ; les nouveaux lments sont
ajouts la liste.
Date/heure Type = S
Iomaf = "<1mage>"
Utilisez un format image* dans la cellule
Format afin d indiquer les jours, les mois, les
annes, les heures, les minutes, les
secondes, ou tout autre format de date et/ou
d heure.
Dure Type = 6
Iomaf = "<1mage>"
Utilisez un format image* dans la cellule
Format afin d indiquer le temps coul en
heures, jours, semaines, mois, ou dans
d autres formats de dure.
AML I ORATI ON DU COMP ORTEMENT DES FORMES 151
* Par exemple, Format = "# #/10 UU" dfinit le format du nombre 10, 92 cm sous la forme "10 9/10
CENTI M ETRES" ("10" est le dnominateur et l unit apparat sous sa forme dveloppe, en majuscules). Pour
plus de dtails sur les images prsentant un format valide, reportez-vous la section Formatage des chanes
et sortie du texte , page 200. Vous pouvez galement rechercher format, fonction dans l aide en ligne
Rfrence du dveloppeur fournie avec Visio.
Ajout de proprit s personnalises une f orme de base
Vous pouvez ajouter des proprits personnalises des formes de base comme vous
le feriez pour une autre forme. Toutefois, pour modifier simultanment les proprits
personnalises de plusieurs formes, vous pouvez utiliser linterface fournie par
lAssistant de lditeur de proprits personnalises. Vous pouvez choisir de modifier
une partie ou lensemble des formes de base dun gabarit donn, les formes de base de
document du dessin en cours ou celles dun autre dessin.
Pour ajout er des proprit s personnalises une f orme de base :
1 Choisissez Outils > Macros > Editeur de proprits personnalises.
2 Suivez les instructions lcran afin didentifier les formes de base modifier.
Lditeur ajoute la section Proprits personnalises la forme de base
slectionne et utilise les donnes slectionnes comme valeurs des cellules Libell,
Message, etc.
Pour afficher la proprit personnalise dfinie, slectionnez la forme de base dans
le gabarit, puis choisissez Forme > Proprits personnalises.
Et ablissement dune liaison ent re les proprit s
personnalises et une base de donnes
Une fois que vous avez dfini les proprits personnalises dune forme, vous pouvez
tablir une liaison entre ces donnes et une base de donnes. En tablissant des liens
entre des formes et des enregistrements de base de donnes, vous pouvez crer des
dessins Visio qui donnent une reprsentation visuelle des donnes.
Par exemple :
La base de donnes du personnel peut vous permettre de crer des cartes de visite
pour chacun de vos employs.
La base de donnes des spcifications techniques dune pice permet de crer des
formes de base que vos employs pourront utiliser dans leurs dessins.
Vous pouvez lier une base de donnes dinventaire un plan damnagement de
bureau afin deffectuer le suivi du mobilier et des quipements. Si vous supprimez
un fauteuil du plan du bureau, vous supprimez lenregistrement correspondant de
la base de donnes.
Devise Type = 7
Iomaf = "<1mage>"
Utilisez un format image* dans la cellule
Format afin d indiquer des formats de
devise.
Types et formats de proprits personnalises (suite)
Type
Formule de la cellule
ShapeSheet Description
152 CHAP I TRE 7
LAssistant Base de donnes permet dautomatiser ce processus. Dans la section
Proprits personnalises, il lie les valeurs des cellules ShapeSheet une base de
donnes cre dans une application compatible ODBC (Open Database Connectivity)
standard, comme Microsoft
SQL
Server ou Oracle SQL Server. Si vous modifiez la base de donnes, vous pouvez
rafrachir les valeurs des cellules ShapeSheet afin quelles prennent en compte ces
rvisions. Une fois que vous avez li la forme lenregistrement, les informations
peuvent circuler entre votre dessin Visio et la base de donnes. Les deux versions des
donnes sont ainsi synchronises en permanence.
Lorsque lAssistant Base de donnes lie une forme une base de donnes, il ajoute les
sections Proprits personnalises et Cellules personnalises la feuille de la forme.
LAssistant stocke des informations sur la cl primaire de la base de donnes, les
champs de la base de donnes qui sont lis aux cellules ShapeSheet et les dernires
donnes valides extraites de la base de donnes et utilises dans les cellules
personnalises.
Pour excuter cet Assistant, choisissez Outils > Macros > Supplements Visio >
Assistant Bases de donnes. Pour plus dinformations sur les options, cliquez sur le
bouton Plus d'infos dans lAssistant. Vous pouvez galement rechercher Base de
donnes, Assistant dans laide en ligne Rfrence du dveloppeur (accessible via ?
(Aide) > Rfrence du dveloppeur) fournie avec Visio.
Formules dvnement s
De nombreuses mthodes permettent au moteur Visio de dclencher des vnements
ou de rpondre des vnements. Vous pouvez insrer dans les cellules ShapeSheet
des formules qui effectuent une action, par exemple qui excutent une macro ou qui
accdent une autre page de dessin en rponse un vnement. Ces formules peuvent
tre utilises dans la section Evnements qui gre un groupe dvnements
slectionn, ou dans dautres cellules. Vous pouvez galement utiliser la fonction
DEPENDDE afin de simuler dautres vnements dans une section personnalise.
Outre la fonction DEPENDDE, le produit comporte de nombreuses fonctions
intgres de gestion des vnements qui dclenchent des actions.
Le moteur Visio prend galement en charge lutilisation dAutomation pour crire du
code permettant de grer les vnements. A laide dAutomation, vous pouvez
dvelopper des solutions puissantes utilisant des programmes VBA (Microsoft
Visual Basic
Visio
de la forme.
Pour crer une forme 1D, il est souvent plus simple de tracer une forme 2D
approximativement, de la convertir en forme 1D, puis dajuster les sommets et de
dfinir des formules personnalises. Pour gagner du temps et limiter les efforts, tracez
la forme initiale horizontalement (cest--dire en faisant glisser le curseur de gauche
droite ou de droite gauche, selon la direction que la ligne doit suivre). Microsoft
Visio
place les points de fin 1D sur les cts gauche et droit de la forme trace. Une
forme trace sur un plan horizontal est plus proche du rsultat recherch aprs la
conversion en forme 1D.
La section Points de fin 1D de la fentre Feuille ShapeSheet constitue une diffrence
essentielle qui caractrise les formes 1D. Une forme 2D ne comporte pas cette section.
La conversion dune forme 2D en forme 1D ajoute cette section la fentre Feuille
ShapeSheet, ainsi que des formules par dfaut. En revanche, la conversion dune
forme 1D en forme 2D provoque la suppression de cette section, quelle que soit la
protection dfinie (y compris les fonctions PROTECTION).
Lorsque vous convertissez une forme 2D en forme 1D, la section Alignement est
supprime, et les formules des cellules Largeur, Angle, AxeX et AxeY de la section
Transformation de la forme sont remplaces par des formules 1D par dfaut. Bien que
la conversion dune forme nait aucune incidence sur les points de connexion, les
liaisons avec dautres formes ou repres sont supprimes.
Pour convert ir une f orme 1D en f orme 2D :
1 Slectionnez une forme.
2 Choisissez Format > Comportement.
3 Dans la zone Style d'interaction, slectionnez Trait (1D) pour dfinir une forme
1D ou Bote (2D) pour dfinir une forme 2D.
4 Cliquez sur OK.
Visio modifie la forme et ajuste le rectangle de slection en fonction du
comportement slectionn.
160 CHAP I TRE 8
Galerie de f ormes 1D
Des formules personnalises permettant de gnrer un comportement intelligent sont
associes aux formes 1D illustres la figure suivante.
Exemples de formes 1D
Par exemple :
Les formules du lien S permettent de garantir la position du lien. Lors du
dplacement des points de fin de la forme, celle-ci est redimensionne par
tirement des segments horizontaux et verticaux de faon rester dans la
mme position.
Les formules de la forme de vanne dformable permettent de la redimensionner en
fonction de la hauteur. Lorsquun utilisateur dplace un point de fin, le trait est
tir alors que les dtails au centre conservent la mme taille. En revanche, si un
utilisateur augmente la hauteur de la forme, les dtails du milieu sont
redimensionns de faon proportionnelle alors que le trait reste inchang.
La forme Flche de la figure prcdente peut aussi correspondre une forme 2D. Pour
dterminer si cette forme doit se comporter comme un trait ou une bote, vous devez
dfinir son utilisation : si la flche a t conue pour pointer vers la gauche ou vers la
droite, ou vers le haut ou vers le bas uniquement, il est plus facile de positionner la
forme 2D verticalement ou horizontalement. Par ailleurs, il est impossible de faire
pivoter les formes 2D sans avoir recours loutil Rotation, alors que langle dune
forme 1D peut facilement tre modifi par inadvertance en dplaant lun des points
de fin. Toutefois, seules les flches 1D ou celles comportant un point de connexion
vers lextrieur peuvent tre lies dautres formes par le biais de linterface utilisateur
de Visio (et non la phase de dveloppement). Pour plus dinformations sur les
points de connexion vers lextrieur, reportez-vous Prsentation des points de
connexion , page 171. Pour plus dinformations sur la liaison de formes lors du
dveloppement, reportez-vous au chapitre 19, Automatisation des connexions
dune solution Visio .
A Trait de dimension vertical
B Lien S
C Flche
D Goutte--goutte
E Vanne dformable
F Mur
G Secteur
H Bus
25%
A B
C
D
E
F G
1
1
/
8
"
H
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 161
Les formes 1D ne ncessitent pas toutes des formules spciales. Pendant son
dplacement, une forme 1D prend lapparence dun trait, ce qui rend son
positionnement plus rapide dans un dessin. Pensez utiliser des formes 1D toutes les
fois que vous souhaitez crer des formes de base que les utilisateurs seront amens
aligner avec prcision dans un dessin. Par exemple, le positionnement prcis dune
lgende ou dune annotation sera facilit si lutilisateur peut visualiser avec exactitude
o pointe le trait.
Crat ion de liens 1D reposit ionnables et daut res t ypes de lien
Lors de la conception de solutions de diagrammes comportant des liaisons, vous
pouvez soit utiliser les outils Lien intgrs dans Visio, soit crer vos propres liens.
Loutil Lien dynamique, la commande Lier les formes et la forme Lien dynamique
gnrent des liens repositionnables entre des formes positionnables. Un lien
repositionnable est une forme 1D qui contourne dautres formes sur la page de dessin
au lieu de les traverser. Une forme positionnable est une forme 2D avec laquelle
fonctionne le lien repositionnable. La faon dont ragit Visio aux changements tels que
lajout, la suppression, le redimensionnement et le repositionnement des formes varie
selon que les formes du dessin sont positionnables ou repositionnables. Pour rpondre
ces modifications, Visio repositionne automatiquement les formes positionnables et
repositionnables.
Les liens repositionnables permettent aux utilisateurs de raliser un important gain de
temps lors de la rvision de diagrammes avec liaisons complexes. Dans certains cas,
vous pouvez cependant prfrer un lien au comportement plus prvisible, qui ne se
repositionne pas de faon automatique. Par exemple, si un type de dessin ncessite
des liens formant toujours un angle de 90 degrs, ou raccordant des formes laide
dun arc de cercle ou dune courbe spline, vous pouvez crer votre propre lien 1D non
repositionnable.
162 CHAP I TRE 8
Crat ion de liens reposit ionnables
Vous pouvez crer un lien repositionnable partir de tous les traits 1D en
paramtrant sur 2 la valeur de la cellule TypObj de la section Divers. Le tableau
suivant rpertorie les valeurs possibles de la cellule TypeObj.
Par dfaut, lorsque vous crez une forme 2D, Visio paramtre TypeObj sur Pas de
formule, ce qui revient 0 et signifie que lapplication dtermine si la forme peut tre
positionnable en fonction de son contexte. Par exemple, si vous tracez un rectangle
simple, la valeur par dfaut de la cellule TypeObj est 0. Si vous raccordez ensuite ce
rectangle une autre forme laide de la commande Lier les formes ou de loutil Lien
dynamique, Visio dcide que ce rectangle peut tre positionnable et attribue la
valeur 1 (positionnable) la cellule TypeObj correspondante. Vous pouvez galement
crer une forme 1D positionnable (via la fentre ShapeSheet
uniquement), utile
lorsquune forme ne constituant pas un lien est utilise dans un dessin avec mise en
page automatique. Le paramtrage dune forme 2D en tant que forme repositionnable
na toutefois aucune incidence sur son comportement.
Si vous crez des formes qui ne doivent pas fonctionner avec des liens
repositionnables, paramtrez la cellule TypeObj sur 4. Les liens peuvent tre colls
aux points de connexion de la forme, mais la forme non positionnable est ignore
dans un diagramme contenant des liens positionnables et repositionnables
(cest--dire que ces derniers se comportent comme si la forme nexistait pas).
Pour contrler le chemin emprunt par un lien repositionnable, dfinissez son
comportement (correspondant la valeur de la cellule StylePositionForme de la
section Mise en page des formes). Par dfaut, la valeur de cette cellule est Pas de
formule, ce qui revient 0 et signifie que le lien utilise le comportement dfini pour
la page.
La commande Outils > Mettre en page les formes permet de dfinir plusieurs types de
comportement pour les formes slectionnes ou pour la page par combinaison de
plusieurs styles de lien avec des directions diverses. Vous pouvez galement
dterminer le comportement dune forme ou de la page en paramtrant les cellules
Feuille ShapeSheet suivantes :
Valeurs de la cellule TypeObj dune forme
Valeur Signification
0 Visio dcide si la forme est positionnable ou repositionnable en fonction du
contexte du dessin.
1 Positionnable
2 Repositionnable
4 Non positionnable, ni repositionnable
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 163
Par exemple, en paramtrant la valeur de la cellule StylePositionForme dun lien
sur 7, vous crez un lien repositionnable qui gnre toujours une arborescence
avec une orientation haut-bas (comme si vous slectionniez Diagramme de flux/
arborescence dans la liste Style et De haut en bas dans la liste Direction, dans la
zone Placement de la bote de dialogue Mettre en page les formes).
Pour que ce comportement soit celui par dfaut de la page, attribuez la valeur 7
la cellule StylePosition de la section Mise en page de la page (ou slectionnez Page
en cours dans la zone Appliquer de la bote de dialogue Mettre en page
les formes).
Pour plus dinformations sur les autres paramtres des cellules StylePositionForme et
StylePosition, recherchez les noms laide de ces cellules dans laide en ligne
Rfrence du dveloppeur (accessible via ? (Aide) > Rfrence du dveloppeur)
fournie avec Visio.
Lorsque vous crez un modle de diagramme liens repositionnables et formes
positionnables, vous pouvez personnaliser les valeurs par dfaut que Visio utilise pour
router et positionner les formes. La commande Outils > Mettre en page les formes
permet de dfinir les valeurs par dfaut de la page. Les utilisateurs peuvent ne pas
prendre en compte les paramtres de la page et modifier les formes qui sy trouvent ;
toutefois, lorsquils crent ou ajoutent des formes positionnables, les paramtres de la
page sont utiliss par dfaut.
Pour plus dinformations sur la cration de diagrammes qui utilisent les liens
repositionnables et des formes positionnables, effectuez une recherche laide des
mots mise en page automatique dans laide en ligne fournie avec Visio.
Aut res exemples de crat ion de liens 1D
Lorsquune solution requiert un lien dont le comportement puisse tre contrl
laide dun programme, vous pouvez crer un lien qui nest pas affect par le routage
automatique. Des formules permettent de contrler le mode dtirement dun lien
entre son point de dpart et celui de fin.
164 CHAP I TRE 8
Crat ion dun lien avec angle
La figure suivante illustre un lien avec angle comportant deux angles droits (pratique
pour crer des diagrammes hirarchiques tels que des organigrammes). Les formules
personnalises pour ce lien sont prsentes ici pour dmontrer le type de formule
ncessaire au contrle des formes 1D. Dautres liens 1D sont disponibles dans le
gabarit Liens (accessible via Fichier > Ouvrir un gabarit > Supplments Visio >
Liens).
Les quatre types de courbure dun
lien avec angle en cas de
dplacement
A DpartY <= FinY
B DpartX > FinX
C DpartX <= FinX
D DpartY > FinY
E Le lien suit toujours une courbure (verticale) de 0,25 po. par rapport au point de dpart.
Avec deux coudes placs en son milieu, le lien avec angle dispose de deux sommets
ncessitant des formules personnalises. Pour calculer les coordonnes du premier
sommet aprs le point de dpart, noubliez pas que la coordonne x est identique la
valeur du point de dpart. La coordonne y est gale 0,25 po. si la forme est trace de
bas en haut. Si, en revanche, elle est trace partir du haut, y se calcule de la manire
suivante :
La valeur x du sommet suivant est identique celle de la dernire ligne TraitVers qui
dfinit le point de fin de la forme, et, par consquent, qui correspond toujours la
valeur Largeur ou 0. Sa valeur y est identique celle du sommet prcdent.
= haufeu - 0,2S po.
A B
C D
E
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 165
Pour crer un lien avec angle :
1 Slectionnez loutil Trait et tracez une ligne droite 1D de la gauche vers la droite.
2 Choisissez Fentre > Afficher la feuille ShapeSheet.
3 Saisissez les formules suivantes dans la section Transformation de la forme :
4 Choisissez Insertion > Section, puis cochez Cellules personnalises.
5 Dans la section Cellules personnalises, saisissez le nom de la cellule, tel que
Dpl_y, puis saisissez 0,25 po. dans la cellule Valeur.
6 Slectionnez la dernire ligne de la section Gomtrie, puis choisissez Insertion >
Ligne aprs. Rptez cette opration pour ajouter deux lignes.
Chaque ligne correspond un sommet de la forme.
7 Dans la section Gomtrie, saisissez les formules rpertories dans le tableau
suivant.
8 Dans la section Protection, paramtrez sur 1 les cellules VerrHauteur et
VerrModifVtx.
Le paramtrage de la cellule VerrModifVtx permet de protger les formules de
gomtrie en empchant les utilisateurs de modifier les sommets de la forme.
Le paramtrage de la cellule VerrHauteur permet de protger la formule relative
la hauteur et supprime les poignes superflues en haut et en bas des liens.
9 Faites glisser le point de dpart ou de fin du lien sur la page de dessin pour voir
langle et le dcalage.
Pour permettre aux utilisateurs de modifier la position du coude du lien avec angle en
dplaant une poigne de contrle, associez Util.Dpl_y la poigne et verrouillez sa
position x de sorte quelle puisse uniquement tre dplace dans la direction y.
Lageu = PP0TECTT0h|AS|I1hX - 0pafX))
haufeu = PP0TECTT0h|AS|I1hY - 0pafY))
Ahg1e = PP0TECTT0h|0 deg.)
Formules personnalises pour un lien avec angle
Ligne X Y
Dpart = ST{0patX <= I1nX, 0,Lageu) = ST{0patY <= I1nY,0,hauteu)
TraitVers = Comt1e1.X1 = ST{0patY <=I1nY,ut1T.0pTy,
hauteu - ut1T.0pTy)
TraitVers = Comt1e1.X4 = Comt1e1.Y2
TraitVers = ST{0patX <= I1nX, Lageu,0) = ST{0patY <= I1nY,hauteu,0)
166 CHAP I TRE 8
CONSEIL : lAssistant SmartShape permet dajouter un lien une forme. Vous obtenez
ainsi un groupe compos de la forme dorigine et dun trait comportant une poigne de
contrle que vous pouvez coller une autre forme. Par exemple, vous pouvez ajouter un
lien une forme ne comportant que du texte, puis le coller une pice que vous souhaitez
annoter dans un dessin.
Lutilisation de cet Assistant permet de crer des liens intgrs qui se connectent de
diffrentes faons, par exemple, du haut vers le bas, ct vers ct, etc. Pour lancer
lAssistant, choisissez Outils > Macros > Supplments Visio > Assistant SmartShape.
LAssistant SmartShape nest pas automatiquement install avec Visio. Sil nest pas
rpertori dans le chemin Outils > Macros > Supplments Visio, installez-le partir du
CD-ROM Visio. Pour installer lAssistant, excutez de nouveau le programme
dinstallation de Visio en vous assurant que vous avez slectionn loption dinstallation
de cet Assistant.
Crat ion dune f orme 1D en f onct ion de la haut eur
Certaines formes, telles que la forme 1D de canalisation et vanne illustre la figure
suivante, peuvent tre tires entre deux points de faon lier dautres formes. Vous
pouvez crer ce type de forme 1D en tant que forme unique compose de plusieurs
lments de gomtrie ayant des comportements de redimensionnement diffrents.
Les points de fin dune forme 1D contrlent sa largeur. Lorsquun utilisateur fait
glisser un point de fin dune forme de canalisation et vanne, ltirement porte
uniquement sur le composant trait. Lorsquil fait glisser une poigne suprieure ou
infrieure, seule la vanne est redimensionne, mais elle conserve ses proportions.
Formules par dfaut et formules en
fonction de la hauteur pour une
forme de canalisation et vanne
A Canalisation
B Vanne
C Si vous utilisez les formules par dfaut, la forme de vanne est dforme, quelle que soit la
direction de ltirement.
D Si vous utilisez les formules en fonction de la hauteur, ltirement horizontal porte uniquement sur
la longueur de la canalisation.
E Si vous utilisez les formules en fonction de la hauteur, la taille de la vanne change de faon
proportionnelle en cas dtirement vertical.
A
B
C D
E
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 167
Pour tirer ou rduire une forme de vanne, dfinissez sa largeur par rapport sa
hauteur laide dune formule reposant sur la hauteur. Pour crer ce lien en tant que
forme unique, dessinez deux segments de droite chaque extrmit de la forme
Vanne, puis slectionnez Forme > Oprations > Combinaison.
Pour conserver les proportions de la vanne lors du redimensionnement de la forme,
dfinissez les coordonnes x de ses sommets en fonction du centre et de la hauteur de
la forme, comme lindique la figure suivante. Cela permet en outre la vanne de rester
centre dans le cadre largeur/hauteur. Cette approche ncessite la dfinition de
formules dans la cellule X de la section Gomtrie.
Formule reposant sur la hauteur
pour une forme 1D compose de
plusieurs lments de gomtrie
A Largeur * 0,5 - Hauteur * 1
B Largeur * 0,5
C Largeur * 0,5 + Hauteur * 1
D Hauteur
E Largeur
Pour crer cet t e f orme de sort e que les lignes Gomt rie correspondent
t oujours aux chif f res et aux t ableaux suivant s :
1 Slectionnez loutil Trait et tracez un trait de gauche droite pour former le
segment gauche de la canalisation.
2 Avec loutil Trait, tracez la vanne, en commenant au point 1 de la figure
prcdente.
3 Avec loutil Trait, tracez le segment droit de la canalisation, de gauche droite.
4 Slectionnez les formes dans lordre suivant : vanne, trait de gauche et segment
de droite.
5 Choisissez Forme > Oprations > Combinaison.
6 Choisissez Format > Comportement.
7 Cochez loption Trait (1D), puis cliquez sur OK.
168 CHAP I TRE 8
Pour contrler le composant vanne de la forme, ouvrez la fentre Feuille ShapeSheet
associe la forme combine et saisissez les formules rpertories ci-dessous dans la
section Gomtrie1.
Pour contrler le point de jonction du segment gauche de la canalisation et de la
vanne (point 6 de la figure prcdente), saisissez la formule suivante :
Pour contrler le point de jonction du segment droit de la canalisation et de la vanne
(point 7 de la figure prcdente), saisissez la formule suivante :
CONSEIL : lorsque vous tracez des formes 1D telles que la forme de canalisation et vanne,
il est souvent ncessaire de dessiner plusieurs formes que, par la suite, vous regroupez ou
combinez. La commande Combinaison permet dobtenir de meilleurs rsultats. Si aucun
des composants ne doit tre slectionn indpendamment, il est inutile de grouper les
lments, ce qui gnre une feuille de groupe. Vous devez toutefois vous assurer que les
points de fin de la forme 1D cre sont positionns correctement.
Visio place toujours le point de dpart gauche de la forme 1D et son point de fin droite.
Si vous dessinez une forme du haut vers le bas et que vous la convertissiez ensuite en forme
1D, les points de fin risquent de ne pas tre correctement positionns. Tracez donc les
diffrents composants de la gauche vers la droite.
Il est dconseill dajouter des formules personnalises aux formes des composants avant
de combiner ces formes car la commande Combinaison les supprime.
Formules personnalises dans la section Gomtrie1 de la forme canalisation
et vanne
Ligne X Y
0p1aceves = Lageu " 0,S - haufeu " 1 = haufeu " 1
Ta1fves = Comf1e1.X1 = haufeu " 0
Ta1fves = Lageu " 0,S + haufeu " 1 = haufeu " 1
Ta1fves = Comf1e1.X3 = haufeu " 0
Ta1fves = Comf1e1.X1 = Comf1e1.Y1
Comf1e2.X2= Comf1e1.X1
Comf1e3.X1= Comf1e1.X3
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 169
Cont rle du mode de connexion des f ormes
Le comportement qui permet la connexion dune partie dune forme une autre
forme est appele collage. La dfinition dun point de connexion permet dindiquer la
partie dune forme laquelle une autre forme peut tre colle.
Vous pouvez coller les points de fin dune forme 1D ou un point de connexion vers
lextrieur sur une forme 2D, un repre, un point de repre, un sommet de forme, une
poigne de slection ou un point de connexion (vers lintrieur ou vers lintrieur/
lextrieur). Visio cre automatiquement un point de connexion vers lintrieur sur
une forme lorsquune autre forme est colle ses sommets ou ses poignes.
Lorsquun point de fin dune forme 1D est coll une autre forme, il reste attach
lorsque vous dplacez cette dernire ; paralllement, la forme 1D dont le point de fin
non coll est ancr sur la page est tire. Lorsquune forme 2D est colle une autre
forme et que vous dplacez cette dernire, la forme 2D suit son mouvement.
Df init ion du comport ement de collage dun lien
Vous pouvez associer un comportement de collage point point ou forme forme un
lien 1D :
Lorsque le point de fin dune forme 1D est fix un point de connexion donn, il
sagit dun collage point point : la liaison sopre toujours entre les deux mmes
points, indpendamment du dplacement de la forme. Par dfaut, les formes
traces ou toutes les formes non positionnables ou repositionnables ont un
comportement de collage point point.
En revanche, si le point de fin de la forme 1D passe dun point de connexion
lautre pour optimiser la visibilit de la liaison lors du dplacement de la dernire
forme, il sagit de collage forme forme. Ce dernier est utilis par les liens
repositionnables colls aux formes positionnables : il permet de lier deux formes
par la voie la plus courte, ce qui simplifie le dessin.
Lorsque vous crez un lien, vous pouvez faire en sorte quil utilise le collage forme
forme pour permettre aux points de fin de se dplacer dun point de connexion
lautre lorsquun utilisateur dplace les formes auxquelles il est coll. Visio redessine le
lien pour quil lie les formes au niveau des deux points de connexion les plus
rapprochs. Toutefois, pour activer le collage forme forme, les utilisateurs doivent
170 CHAP I TRE 8
appuyer sur la touche Ctrl lorsquils font glisser le lien vers une forme non
positionnable. Sinon, le lien utilise le collage point point. Dans ce dernier cas, les
symboles de point de dpart ( ) ou de fin ( ) par dfaut associs la poigne de
slection du lien apparaissent en rouge fonc. Si le point de fin utilise le collage forme
forme, sa poigne de slection est rouge uni.
Un lien dfini pour le collage forme
forme permet dtablir une
connexion par collage point point
ou forme forme.
Pour df inir un collage f orme f orme ou point point pour un lien :
1 Slectionnez une forme, puis choisissez Fentre > Afficher la feuille ShapeSheet.
2 Si la section Infos sur le collage napparat pas, choisissez Affichage > Sections.
Dans la bote de dialogue Sections, cochez loption Infos sur le collage, puis cliquez
sur OK.
3 Dans la section Infos sur le collage, saisissez 0 dans la cellule AttacheType pour
choisir le collage point point, ou 3 pour slectionner le collage forme forme.
Par dfaut, le collage forme forme tablit la connexion suivant la voie la plus courte
entre deux points de connexion ou poignes de slection du milieu de la forme. Vous
pouvez indiquer si vous prfrez quune forme utilisant le collage forme forme passe
par le point de connexion situ en haut, en bas ou sur un ct lorsque le point de fin
coll est dplac. Pour ce faire, paramtrez la cellule LienInscable de la section Infos
sur le collage. Les liens repositionnables passent outre au paramtrage de la cellule
LienInscable ; leur comportement de routage est contrl par la valeur de la cellule
StylePositionForme. Pour plus dinformations sur les paramtres de la cellule
LienInscable, recherchez WalkPreference dans laide en ligne Rfrence du
dveloppeur (accessible via ? (Aide) > Rfrence du dveloppeur) fournie avec Visio.
REMARQUE : lorsquun utilisateur colle un lien 1D une autre forme laide du collage
forme forme, Visio gnre une formule qui fait rfrence la cellule EvnXFMod de
lautre forme. Lorsque cette dernire est modifie, Visio recalcule toutes les formules qui
font rfrence la cellule EvnXFMod, notamment celles des cellules DbAction et
FinAction. Ces deux cellules contiennent des formules gnres par Visio pour une forme
1D colle dautres formes. Dautres formules associes au lien 1D font rfrence aux
cellules DbAction et FinAction, et dplacent les points de dpart ou de fin du lien ou en
changent la forme selon les besoins.
A Faites glisser un point de fin pour tablir une
connexion avec collage point point.
B Appuyez sur la touche Ctrl et faites
glisser un point de fin pour tablir une
connexion avec collage forme forme.
A B
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 171
Prcision des lment s pouvant t re colls
La bote de dialogue Magntisme et collage permet de dfinir les emplacements dune
forme auxquels une autre forme peut tre colle sur une page. Par exemple, la plupart
des modles Visio permettent aux utilisateurs de coller les formes 1D aux repres, aux
points de repre et aux points de connexion uniquement. Choisissez Outils >
Magntisme et collage et cochez les options Coller supplmentaires correspondant
au dessin ou modle.
Les formes 2D sont gnralement lies entre elles par des formes 1D, mais elles
peuvent galement tre lies par les lments suivants :
lintgralit dun ct dune forme un repre ou un point de repre ;
un bord du rectangle de slection un repre ;
une poigne de slection un point de repre ;
une poigne de contrle un point de connexion ;
un point de connexion vers lextrieur ou vers lintrieur/lextrieur un point de
connexion vers lintrieur ou vers lintrieur/lextrieur dune autre forme.
Prsent at ion des point s de connexion
Lors de la conception dune forme, vous devez lui associer des points de connexion
pour dfinir les emplacements permettant le collage. Lorsque vous crez des formes
de base, pensez aux points dont les utilisateurs auront vraisemblablement le plus
besoin pour le collage. Evitez par ailleurs de crer des points supplmentaires qui
pourraient nuire lefficacit du comportement de la forme.
Le type dun point de connexion a une incidence sur le collage dautres formes ce
point ou sur le collage de la forme dote de ce point de connexion dautres formes :
Dautres formes peuvent tre colles un point de connexion vers lintrieur. Les
points de connexion vers lintrieur se comportent comme les points de connexion
des versions Visio antrieures Visio 2000. Un point de connexion vers lintrieur
attire, dune part, les points de fin des formes 1D et, dautre part, les points de
connexion vers lextrieur ou vers lintrieur/lextrieur des autres formes. Les
diagrammes tels que les diagrammes de flux et les organigrammes, composs de
formes 2D et de liens 1D, ncessitent uniquement des points de connexion vers
lintrieur associs aux formes 2D.
Une forme dote dun point de connexion vers lextrieur peut tre colle une
autre forme. Un point de connexion vers lextrieur est attir par les points de
connexion vers lintrieur et vers lintrieur/lextrieur dautres formes. Les
diagrammes dagencement despace et les diagrammes CAO composs
essentiellement de formes 2D peuvent bnficier des avantages des points de
connexion vers lextrieur.
172 CHAP I TRE 8
Un point de connexion vers lintrieur/lextrieur se comporte comme un point de
connexion vers lintrieur lorsque vous lui collez le point de fin dune forme 1D ou
une forme avec un point de connexion vers lextrieur. Il se comporte comme un
point de connexion vers lextrieur lorsque vous le collez une autre forme. Les
points de connexion vers lintrieur/lextrieur sont pratiques pour les formes qui
peuvent tre colles ensemble sans contrainte dordre. Par exemple, si les formes
de segment de mur possdent un point de connexion vers lintrieur/lextrieur
chaque extrmit, lune ou lautre des extrmits dune des formes de segment
peut tre colle lune ou lautre extrmit dune autre forme de segment de mur,
lordre nayant aucune importance. Si une forme de ce type possde un point de
connexion vers lextrieur une extrmit et un point de connexion vers
lintrieur lautre, vous tes tenu de coller une extrmit vers lextrieur une
extrmit vers lintrieur, ce qui rduit les possibilits.
REMARQUE : Visio 2000 importe les points de connexion crs dans des versions
prcdentes des programmes Visio en tant que points de connexion vers lintrieur sans
direction prtablie. Toutes les formules Montage figurant dans les cellules A, B, C et D de
ces lignes sont importes sans subir de modification.
La figure suivante illustre une forme de carreau de carrelage dote de trois points
de connexion.
Forme de carreau de carrelage
dote de points de connexion vers
lintrieur, vers lextrieur et vers
lintrieur/lextrieur
A Point de connexion vers lextrieur
B Point de connexion vers lintrieur/lextrieur
C Point de connexion vers lintrieur
D Un point de connexion vers lintrieur/lextrieur est attir par le point de connexion vers
lintrieur ou vers lintrieur/lextrieur le plus proche.
Pour coller un point de connexion vers lextrieur un point de connexion vers
lintrieur/lextrieur, cochez loption Points de connexion dans la section Coller de
la bote de dialogue Magntisme et collage sur le systme de lutilisateur. Lorsquun
utilisateur fait glisser une forme dote de points de connexion vers lextrieur ou vers
lintrieur/lextrieur, la forme est attire par le point de connexion vers lintrieur ou
vers lintrieur/lextrieur le plus proche. Si une forme comporte plusieurs points de
connexion vers lextrieur, Visio attire le point de connexion le plus proche du
pointeur de la souris.
A C
B
D
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 173
Un point de connexion peut possder une direction, ou vecteur, qui dtermine si les
formes pivotent lorsquelles sont colles ensemble. A lorigine, si un point de
connexion est plac sur les lments de gomtrie dune forme, son vecteur est
perpendiculaire au segment sur lequel le point de connexion est plac. Sinon, le point
de connexion est dot dun vecteur gal 0 (cest--dire aucune direction). Lorsquun
point de connexion vers lextrieur est coll un point de connexion vers lintrieur
(ou vers lintrieur/lextrieur) et que les deux points de connexion sont dots dun
vecteur diffrent de zro, Visio aligne ces deux vecteurs et fait pivoter la forme selon
les besoins. Si lun ou lautre des points de connexion a un vecteur gal 0, les formes
ne sont pas pivotes.
Le vecteur dun point de connexion
dtermine le mode de rotation
dune forme lorsquelle est colle.
A Vecteur perpendiculaire (par dfaut)
B Vecteur angulaire
C Pour modifier le vecteur dun point de connexion, slectionnez ce point de connexion, et faites
glisser la poigne de direction verte et arrondie jusqu ce que vous obteniez langle souhait.
D Aucun vecteur
E Pour viter quune forme pivote lorsquelle est colle, faites glisser la poigne de direction sur le
point de connexion. Cette poigne devient grise, ce qui signifie que le point de connexion na pas
de vecteur.
A B
C
D
E
174 CHAP I TRE 8
Lorsquune forme dote dun point de connexion vers lextrieur est colle, Visio
gnre des formules dans ses cellules AxeX, AxeY et Angle reprsentant la liaison de
cette forme avec la forme laquelle elle est colle. Par exemple, les formules suivantes
sont celles gnres pour lune des formes colles le long du vecteur perpendiculaire.
Cercle1 est le nom de la forme laquelle elle est colle ; les rfrences la cellule
EvnXFMod de la forme de cercle et la page garantissent que la forme colle sera
dplace ou pivote selon les besoins pour conserver la liaison. Les formules
LOCVERSPAR et ANGLEVERSPAR convertissent les coordonnes locales de la
forme colle en systme de coordonnes de la forme laquelle elle est colle (Cercle1).
Comparez les formules AxeX et AxeY dune forme dote dun vecteur gal 0.
Comme la forme na fait lobjet daucune rotation, Visio ne gnre pas de
formule Angle.
Ajout de point s de connexion une f orme
Visio cre automatiquement un point de connexion vers lintrieur au niveau du
sommet ou de la poigne de slection dune forme lorsquun lien est coll cet
emplacement ; najoutez des points de connexion manuellement que lorsque vous
avez besoin dun point de connexion vers lintrieur un emplacement inhabituel,
ou dun point de connexion vers lextrieur ou vers lintrieur/lextrieur.
Pour ajouter un point de connexion une forme, utilisez loutil Point de connexion
de la barre doutils. Pour ajouter des points de connexion vers lextrieur ou changer
le type dun point de connexion, choisissez Outils > Options, cliquez sur longlet
Options avances, puis vrifiez que loption Excuter sous le mode dveloppeur de la
section Paramtres dveloppeurs est coche.
AxeX = L0CvEPSPAP|PhT|Cec1e1!Cohhecf1ohs.X2+-0,3S36 po.
Cec1e1!Cohhecf1ohs.Y2+0,3S36 po.)
Cec1e1!EvhXIModLaPage!EvhXIMod)
AxeY = L0CvEPSPAP|PhT|Cec1e1!Cohhecf1ohs.X2+-0,3S36 po.
Cec1e1!Cohhecf1ohs.Y2+0,3S36 po.)
Cec1e1!EvhXIModLaPage!EvhXIMod
Ahg1e = AhCLEvEPSPAP|-4S degCec1e1!EvhXIMod,EvhXIMod)
AxeX =
PhTX|L0CvEPSPAP|PhT|Cec1e3!Cohhecf1ohs.X2Cec1e3!Cohhecf1ohs.Y2)
Cec1e3!EvhXIModLaPage!EvhXIMod))+-0,S po.
AxeY =
PhTY|L0CvEPSPAP|PhT|Cec1e3!Cohhecf1ohs.X2Cec1e3!Cohhecf1ohs.Y2)
Cec1e3!EvhXIModLaPage!EvhXIMod))+0 po.
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 175
Pour crer un point de connexion :
1 Slectionnez une forme.
2 Slectionnez loutil Point de connexion.
REMARQUE : loutil Point de connexion permet dajouter un point de connexion la
forme slectionne. Vous devez donc toujours slectionner la forme laquelle vous
souhaitez ajouter le point de connexion avant dutiliser cet outil.
3 Effectuez lune des oprations ci-dessous :
Pour crer un point de connexion vers lintrieur, maintenez la touche Ctrl
enfonce, puis cliquez sur lemplacement o vous souhaitez ajouter ce point.
Pour crer un point de connexion vers lextrieur, maintenez les touches
Ctrl+Alt enfonces, puis cliquez sur lemplacement o vous souhaitez ajouter ce
point.
Pour crer un point de connexion vers lintrieur/lextrieur, slectionnez un
point de connexion, cliquez dessus avec le bouton droit et choisissez Vers
l'intrieur et l'extrieur dans le menu contextuel.
Lorsque vous ajoutez un point de connexion, Visio ajoute la section Points de
connexion dans la fentre Feuille ShapeSheet. Cette section contient une ligne qui
dcrit les coordonnes locales x et y du point, les coordonnes x et y de sa direction, et
son type (vers lintrieur, vers lextrieur ou vers lintrieur/lextrieur). Vous pouvez
contrler le comportement dun point de connexion lors du redimensionnement de
la forme en modifiant les formules de ses coordonnes.
Si vous ajoutez un point de connexion la gomtrie de la forme, Visio oriente le
vecteur de direction perpendiculairement au segment sur lequel le point de
connexion a t ajout (vers lintrieur pour un point de connexion vers lintrieur,
vers lextrieur pour un point de connexion vers lextrieur, ou vers lintrieur et vers
lextrieur pour un point de connexion vers lintrieur/lextrieur).
176 CHAP I TRE 8
CONSEIL : si loption Coller sur Gomtrie des formes est active et que lutilisateur fasse
glisser une forme dote dun point de connexion vers lextrieur vers une autre forme,
Visio cre automatiquement un point de connexion vers lintrieur avec le vecteur
appropri et colle les formes. Si les formes sont spares, rompant ainsi le collage, Visio
supprime automatiquement le point de connexion cr.
Pour empcher dautres formes dtre colles aux lments de gomtrie dune forme,
paramtrez sur TRUE la cellule NoSnap de la section Gomtrie de la forme. Cette
opration dsactive les fonctionnalits de collage et dattraction des formes 2D, et des
lments de gomtrie, de dcalage des formes 1D par rapport ces lments, et
dattraction des extensions de forme. Par exemple, effectuez ce paramtrage pour
empcher une forme de fentre de se connecter un appareil lectrique, ou une chaise
dtre connecte une autre chaise. Le paramtrage de NoSnap implique que les
utilisateurs ne peuvent faire pivoter les formes que dune faon trs limite lorsquils les
approchent dventuels points dattraction, et filtre les extensions gomtriques superflues.
At t ribut ion dun nom aux point s de connexion
Vous pouvez renommer la ligne Points de connexion et faire rfrence de faon plus
explicite aux valeurs contenues dans les cellules X ou Y quelle contient. Le nom de
cellule que vous saisissez doit tre unique au sein de la section. Lorsque vous crez un
nom pour une cellule de cette section, Visio attribue le nom par dfaut
Connections.Ligne_n aux autres cellules de cette section. Si aucune ligne de la section
nest nomme, la cellule du nom est vierge.
Par exemple, pour renommer la cellule de la premire ligne, saisissez Personnalise
dans la barre de formule afin de crer le nom de cellule Connections.Personnalise.
Visio attribue le nom Connections.Ligne_2 la cellule de la deuxime ligne. Pour
faire rfrence la cellule X de la premire ligne, utilisez Connections.Personnalise.X
ou Connections.X1. Pour faire rfrence la cellule Y de la premire ligne, utilisez
Connections.Personnalise.Y1 ou Connections.Y1. Pour faire rfrence la cellule X
de la deuxime ligne, utilisez Connections.Ligne_2.X ou Connections.X2, et
Connections.Ligne_2.Y ou Connections.Y2 pour faire rfrence la cellule Y.
L I AI SON DES FORMES : FORMES 1D ET COL L AGE 177
Concept ion de f ormes de lien dynamique
Dans Visio 2000, un lien dynamique peut tre tir lintrieur de la zone dlimitant
une forme et couper la gomtrie de la forme. (La zone dlimitant une forme est le
plus petit rectangle impossible faire pivoter entourant le rectangle de slection de la
forme.)
Intersection dynamique avec la
gomtrie de la forme
Un lien dynamique peut galement tre tir dans des groupes et couper la gomtrie
dune forme au sein du groupe. Dans les programmes Visio antrieurs Visio 2000, le
lien dynamique ne pouvait pas tre tir dans la zone dlimitant la forme ou au sein
des groupes.
Intersection dynamique avec des
formes incluses dans des groupes
Lintersection dynamique est active par dfaut pour les formes. Elle implique
toutefois que le moteur Visio effectue des calculs complexes qui peuvent avoir une
incidence sur les performances de la forme lorsquun lien est coll dynamiquement,
notamment dans les formes complexes ou composes de plusieurs lments, ou dans
les groupes contenant plusieurs formes.
A Intersection dynamique
active
B Intersection dynamique
dsactive
C Intersection dynamique
active pour une forme
partiellement en dehors
de son rectangle
dalignement. Le lien
dynamique
recherche la
gomtrie la plus
lextrieur sur la bordure
laquelle elle est colle.
A B C
A Intersection dynamique active B Intersection dynamique dsactive
A B
178 CHAP I TRE 8
La cellule CodeFixeForme de la section Mise en page des formes permet de contrler
lintersection dynamique dune forme. CodeFixeForme contient un nombre entier de
huit bits, chaque bit contrlant un comportement de liaison dynamique. Pour
dsactiver lintersection dynamique dune forme, paramtrez la valeur de sa cellule
CodeFixeForme sur sa valeur actuelle laquelle vous ajoutez 128. Pour activer de
nouveau lintersection dynamique pour cette forme, tez 128 de la valeur actuelle de
sa cellule CodeFixeForme. Pour plus dinformations sur lattribution dautres valeurs
CodeFixeForme sur dautres valeurs, reportez-vous laide en ligne Rfrence du
dveloppeur (accessible via ? (Aide) > Rfrence du dveloppeur) fournie avec Visio.
Pour dvelopper des formes ayant de bonnes performances lorsquelles sont utilises
avec un lien dynamique, prenez en compte les suggestions suivantes :
Concevez la forme en veillant ce que tous ses lments de gomtrie soient
lintrieur du rectangle de slection. Vous obtenez ainsi les meilleurs rsultats
lorsquun lien dynamique est coll la forme.
Crez des points de connexion sur la forme si vous souhaitez que le lien
dynamique soit coll des emplacements particuliers. Si une forme est dote dun
point de connexion sur le ct vers lequel le lien dynamique pointe, ce lien sera
coll au point de connexion plutt quaux lments de gomtrie de la forme ; les
longs calculs provoqus par une intersection dynamique sont ainsi vits.
Si vous souhaitez empcher systmatiquement le lien dynamique de couper les
lments de gomtrie dune forme, dsactivez lintersection dynamique en
paramtrant la cellule CodeFixeForme de la forme. Cette dsactivation est tout
spcialement recommande pour les formes incluses dans dautres formes, comme
dans le cas des groupes.
Sommaire
9
Crat ion dun comport ement
de t ext e
Par dfaut, lutilisateur peut ajouter du texte nimporte quelle forme Microsoft
Visio
.
186 CHAP I TRE 9
Cette section dcrit le contrle de la taille dun bloc de texte au fur et mesure que
lutilisateur saisit des informations, le redimensionnement dune forme en fonction
de la quantit ou de la valeur de son texte, les modifications proportionnelles de la
police de caractres dune forme au fur et mesure du redimensionnement de
la forme.
Cont rle de la t aille du bloc de t ext e
Lorsque vous utilisez lAssistant SmartShape pour personnaliser le comportement du
bloc de texte, lAssistant suppose que vous souhaitez que le bloc de texte sagrandisse
au fur et mesure que lutilisateur y ajoute du texte ; cest pourquoi il ajoute des
formules pour contrler la taille du bloc de texte. Ces formules permettent de dfinir
les limites initiales du bloc de texte, puis de sassurer que le bloc de texte peut tre
redimensionn pour accueillir lintgralit du texte ajout. Vous pouvez modifier ces
formules ou en crer dautres qui dfinissent un comportement diffrent.
Pour contrler la taille du bloc de texte, lAssistant utilise la fonction MAX pour
dfinir la taille maximale permise, et les fonctions HAUTEURTEXTE et
LARGEURTEXTE, qui permettent de calculer la largeur et la hauteur du texte
compos (leTexte) dans une forme. LAssistant ajoute ces formules la section
Transformation du texte de la forme :
Cont rle de la largeur du bloc de t ext e
Par dfaut, la largeur du bloc de texte est paramtre sur la valeur la plus grande : soit
la valeur de la plus longue ligne de texte termine par un retour chariot, soit la valeur
de huit fois la taille de police (ce qui garantit que le bloc de texte est au moins assez
large pour contenir un mot ou deux). Si le bloc de texte contient du texte format
avec plusieurs tailles de police, cette formule utilise la taille de la premire police
employe dans le bloc de texte lors de la cration de la formule.
Pour associer la largeur dun bloc de texte une variable : vous pouvez saisir des
formules qui associent la largeur dun bloc de texte une variable diffrente, comme
la largeur de la forme ou la taille de police du texte ; vous pouvez galement dfinir
une largeur fixe pour le bloc de texte. Par dfaut, la largeur du bloc de texte est
identique la largeur de la forme. Si vous voulez que le bloc de texte corresponde la
moiti de la largeur de la forme, vous devez entrer la formule suivante dans la section
Transformation du texte de la feuille de la forme :
LageuTxf= MAX|hAuTEuPTEXTE|LeTexfe) " Ca.Ta111e)
haufeuTxf= LAPCEuPTEXTE|LeTexfe LageuTxf)
LageuTxf= Lageu/2
CRATI ON D UN COMP ORTEMENT DE TEXTE 187
Si vous voulez que le bloc de texte corresponde 20 fois la largeur de la taille de la
police, vous devez saisir la formule suivante :
Pour paramtrer la largeur minimale dun bloc de texte : vous pouvez aussi paramtrer la
largeur minimale dun bloc de texte en utilisant la fonction MIN. Par exemple, cette
formule garantit que, lorsquune forme est redimensionne, son bloc de texte ne
stire pas sur une largeur suprieure 4 pouces ou nest pas rduit une largeur
infrieure 0,5 pouce :
Dans ce cas, la valeur de la largeur minimale du bloc de texte est suprieure soit 0,5
pouce, soit la largeur de la forme. La valeur attribu la largeur minimale est la plus
faible valeur de la comparaison valeur maximale/4 pouces.
Pour empcher le redimensionnement dun bloc de texte : si vous voulez empcher le
redimensionnement du bloc de texte en cas de redimensionnement de la forme, vous
pouvez saisir une largeur fixe pour le bloc de texte. Par exemple, pour paramtrer la
largeur dun bloc de texte sur 2 pouces, vous devez saisir la formule suivante :
Cont rle de la haut eur dun bloc de t ext e
Normalement, vous voulez que la hauteur dun bloc sagrandisse lorsque lutilisateur
y ajoute du texte. Lorsque vous crez le comportement des blocs de texte, vous
souhaitez quil soit aussi souple que possible de manire ce que lutilisateur puisse
ajouter tout le texte ncessaire. Par dfaut, HauteurTxt est gal la hauteur de la
forme. Lorsque vous utilisez lAssistant SmartShape, la formule HauteurTxt quil
saisit renvoie la hauteur du texte compos de la forme, aucune ligne de texte ne
dpassant LargeurTxt :
Cette formule renvoie une valeur qui reprsente la hauteur du texte dans la forme, y
compris linterligne et lespace avant et aprs chaque paragraphe du bloc, lhypothse
tant quaucune ligne du bloc nest plus longue que la valeur maximale de
LargeurTxt. Cette formule donne de bons rsultats dans la plupart des cas, car elle
permet au bloc de texte de sagrandir en hauteur lorsque lutilisateur ajoute du texte.
LageuTxf= 20 " Ca.Ta111e
LageuTxf= MTh|4 po. MAX|0,S po. Lageu))
LageuTxf= 2 po.
haufeuTxf= LAPCEuPTEXTE|LeTexfe LageuTxf)
188 CHAP I TRE 9
Choix de la t aille de la f orme daprs la quant it de t ext e
Vous pouvez crer une forme dont la taille dpend de la quantit de texte quelle
contient. Si vous souhaitez une forme juste assez grande pour accueillir le texte saisi,
comme une bulle ou une lgende de texte, utilisez les fonctions HAUTEURTEXTE et
LARGEURTEXTE dans les formules de largeur et de hauteur de la forme.
Par exemple, la formule suivante de la section Transformation de la forme limite la
largeur dune forme la longueur des lignes de texte quelle contient, augmente
dune petite marge :
La fonction renvoie la largeur de tout le texte de la forme (leTexte). La largeur de la
forme est limite cette valeur plus 0,5 pouce ; lorsque le bloc de texte est vide, la
largeur de la forme est de 0,5 pouce. La fonction PROTECTION empche lutilisateur
dtirer la forme en largeur avec les poignes de slection, ce qui provoquerait
lcrasement des valeurs de la cellule Largeur. Pour que lutilisateur comprenne
rapidement que ltirement manuel de la forme est impossible, vous pouvez aussi
paramtrer la cellule VerrLargeur dans la section Protection.
Cette formule associe limite la hauteur dune forme au nombre de lignes de texte
quelle contient :
CONSEIL : les fonctions HAUTEURTEXTE et LARGEURTEXTE dclenchent la
recomposition par le moteur Visio du texte de la forme chaque slection de touche.
Pour maximiser les performances, vous pouvez inclure dans la formule un test de taille
minimale de manire ce que le texte sagrandisse seulement une fois quil atteint une
largeur ou une hauteur donne. Au-del de cette largeur ou de cette hauteur, le moteur
Visio doit recomposer le texte chaque slection de touche. Par exemple, vous pouvez
crer une zone de 2 pouces par 0,5 pouce qui augmente en hauteur pour sadapter au texte
supplmentaire. Pour dcaler les problmes de performances ventuels, la zone ne se
redimensionne pas tant que la hauteur du texte natteint pas 0,5 pouce. Pour crer ce
comportement, ajoutez ces formules dans la section Transformation de la forme :
Lageu = 2 po.
haufeu = PP0TECTT0h|MAX|0,S po. LAPCEuPTEXTE|LeTexfe Lageu)))
Lageu = PP0TECTT0h|hAuTEuPTEXTE|LeTexfe) + 0,S po.)
haufeu = PP0TECTT0h|LAPCEuPTEXTE|LeTexfeLageu))
CRATI ON D UN COMP ORTEMENT DE TEXTE 189
Choix de la t aille de la f orme daprs la valeur du t ext e
Vous pouvez crer une forme dont la taille est contrle par la valeur du texte quelle
contient. Par exemple, dans un histogramme, vous pouvez faire en sorte que la taille
dune barre dpend de la valeur quelle reprsente. Avec la fonction EVALTEXT, vous
pouvez crer des formes dorganigramme simples, ou dautres formes dans lesquelles
lutilisateur saisit une valeur qui dtermine la largeur ou la hauteur de la forme.
Par exemple, pour associer la largeur dune forme sa valeur de texte, placez la
formule suivante dans la section Transformation de la forme :
La fonction EVALTEXT calcule le texte prsent dans le bloc de texte de la forme
comme sil sagissait dune formule et renvoie le rsultat. Par exemple, si vous saisissez
10 cm, la largeur de la forme passe 10 cm. Sil ny a pas de texte ou si le texte ne peut
pas tre calcul, en cas, par exemple, de saisie dune valeur non numrique, la largeur
de la forme est gale zro. Vous pouvez affiner davantage la forme en la
redimensionnant seulement dans la direction du redimensionnement, dans le cas par
exemple dune barre qui est redimensionne du ct droit. Pour ce faire, utilisez
loutil de rotation pour dplacer laxe de la forme vers lextrmit stationnaire.
Modif icat ion de la t aille de la police lors du
redimensionnement dune f orme
Par dfaut, lorsquun utilisateur redimensionne une forme, sa gomtrie et le bloc de
texte associ sont modifis, mais pas la taille de la police. Vous pouvez dfinir la taille
de police comme tant une fonction de la gomtrie de la forme en utilisant
lAssistant SmartShape ou en crivant vos propres formules. Les formules traites
dans cette section ajustent uniquement la taille des caractres. Si vous souhaitez
modifier les retraits de texte ou linterligne, vous devez utiliser des formules
semblables dans les cellules qui contrlent ces attributs.
REMARQUE : si une forme doit tre utilise dans des dessins lchelle, prenez en compte
lchelle du dessin lorsque vous dfinissez la taille de la police en tant que fonction de la
hauteur de la forme.
Crat ion de f ormules de redimensionnement du t ext e laide
de lAssist ant Smart Shape
Vous pouvez utiliser lAssistant SmartShape pour dfinir la taille de la police comme
tant une fonction de la taille de la forme. Lorsquun utilisateur redimensionne la
forme, son texte augmente par rapport la valeur de sa hauteur.
Lageu = PP0TECTT0h|EvALTEXT|LeTexfe))
190 CHAP I TRE 9
Pour redimensionner le t ext e laide de lAssist ant Smart Shape :
1 Slectionnez une forme, puis choisissez Outils > Macros > Supplments Visio >
Assistant SmartShape.
2 Dans la zone des options SmartShape, choisissez Personnaliser le texte de la forme,
puis cliquez sur Modifier les options.
3 Cliquez sur Suivant jusqu ce que lcran Taille du texte apparaisse, puis
choisissez Taille de police proportionnelle.
4 Suivez les instructions lcran pour mettre fin lAssistant.
LAssistant paramtre la taille de la police proportionnellement la hauteur de la
forme en ajoutant la formule suivante dans la section Caractres :
La troisime valeur de la formule est un ratio driv de la division de la taille dorigine
du texte par la hauteur de la forme. Par exemple, si vous utilisez la forme Triangle du
gabarit Formes de base sans changer sa taille par dfaut, cette valeur peut tre
comprise entre 0,037 pour le texte qui tait lorigine de 4 points et 1,1852 pour celui
qui tait lorigine de 128 points.
Ecrit ure de f ormules de redimensionnement personnalises
Si vous souhaitez que la taille dune forme et que sa taille de police associe soient
redimensionnes proportionnellement, vous pouvez utiliser cette formule gnrale
dans la section Caractres :
Pour amliorer les performances des formes, vous pouvez stocker la formule
proportionnelle dans une cellule dfinie par lutilisateur. Par exemple, supposons que
la hauteur dorigine de la forme soit de 3 cm et que la taille dorigine de la police soit
de 10 pt. Insrez la section Cellules personnalises dans la fentre ShapeSheet, puis
ajoutez ces formules :
Ta111e = 1 " haufeu " 0,0741
Ta111e = |haufeu/<haufeu o1g1ha1e>) " |<fa111e de 1a po11ce
o1g1ha1e>)
uf11.Ta111ePo11ce = haufeu/3cm " 10pf
Ca.Ta111e = uf11.Ta111ePo11ce
CRATI ON D UN COMP ORTEMENT DE TEXTE 191
Pour que la taille de la police soit toujours lisible, vous pouvez limiter lintervalle des
tailles acceptables. Par exemple, pour limiter la taille de la police aux valeurs
comprises entre 4 et 128 points, vous utilisez les fonctions MIN et MAX, et la formule
proportionnelle prcdente pour obtenir la formule suivante :
Pour plus dinformations sur la syntaxe de la formule MIN et MAX, reportez-vous
laide en ligne Rfrence du dveloppeur (accessible via ? (Aide) > Rfrence du
dveloppeur) fournie avec Visio.
Veillez utiliser des tailles de police minimales et maximales prises en charge par les
imprimantes et les pilotes du systme. Pour garantir la cohrence lorsque la section
Caractres dune forme contient plus dune ligne, les cellules Taille des lignes associes
doivent utiliser les mmes formules.
Cont rle de la rot at ion du t ext e
Pour que lutilisateur nait pas lire le texte lenvers, vous pouvez contrler
lapparence du texte faisant lobjet dune rotation. Par dfaut, lorsquune forme est
pivote, le bloc de texte pivote galement, ce qui provoque des problmes de lisibilit
dans le cas dune rotation de 90 270 degrs. Si vous crez des formes destines tre
utilises dans des dessins o la lisibilit est importante, vous pouvez personnaliser le
comportement de rotation du texte en utilisant lune des mthodes suivantes :
Pour empcher que le texte soit lenvers lorsquune forme fait lobjet dune
rotation, utilisez la fonction PESANTEUR, qui oriente la ligne de base des lettres
vers le ct infrieur ou droit de la page.
Pour empcher systmatiquement le texte de pivoter, utilisez une formule de
rotation inverse pour que le bloc de texte reste droit par rapport au bas de la page
lors de la rotation dune forme.
uf11.Ta111ePo11ce = MTh|12pf MAX|4pf haufeu/3cm " 10pf))
192 CHAP I TRE 9
Cont rle de la rot at ion du t ext e laide de lAssist ant
Smart Shape
Pour accder la fonction PESANTEUR et viter dafficher du texte lenvers, ou
pour garantir que les blocs de texte sont toujours droits par rapport au bas de la page
laide dune formule de rotation lenvers, vous pouvez utiliser lAssistant
SmartShape. Par ailleurs, vous pouvez choisir de centrer ou de dcaler la pesanteur ou
le bloc de texte droit par rapport la forme. Par exemple, un pointeur de texte comme
ceux prsents dans les figures suivantes est format avec un arrire-plan de couleur
unie tout en restant centr sur la forme. En revanche, si vous crez les formes des rues
dun plan, vous avez la possibilit de dcaler les noms des rues par rapport aux lignes
qui reprsentent ces rues.
Le texte peut pivoter ou ne pas
pivoter avec la forme. Le
comportement par dfaut risque
dafficher le texte lenvers (A). Les
formules de pesanteur ajustent
lorientation du bloc de texte pour
plus de lisibilit (B), tandis que les
formules de texte droit font pivoter
le bloc de texte lenvers pour le
maintenir lendroit (C).
La rotation est cumulative. Si vous faites pivoter le bloc de texte dune forme, puis la
forme elle-mme, le pourcentage de rotation de la forme est ajout celui du bloc
de texte.
Crat ion dun t ext e droit ou applicat ion dune pesant eur une f orme
laide de lAssist ant Smart Shape :
1 Slectionnez une forme, puis choisissez Outils > Macros > Supplments Visio >
Assistant SmartShape.
2 Dans la zone Options SmartShape, choisissez Personnaliser le texte de la forme,
puis cliquez sur Modifier les options.
3 Cliquez sur Suivant jusqu ce que lcran Rotation de texte apparaisse, puis
choisissez Texte droit ou Pesanteur du texte.
4 Suivez les instructions lcran pour mettre fin lAssistant.
CRATI ON D UN COMP ORTEMENT DE TEXTE 193
Formules de pesant eur
Lorsque vous choisissez le comportement de pesanteur, lAssistant SmartShape ajoute
cette formule la section Transformation du texte :
La formule PESANTEUR calcule la rotation du bloc de texte pour la rotation de la
forme indique. La variable Angle reprsente la rotation courante de la forme. Si la
valeur dAngle figure dans lintervalle dfini par les deux angles suivants, dans ce cas
60 degrs et 120 degrs, la formule renvoie une valeur de 180 degrs et le bloc de texte
fait lobjet dune rotation de 180 degrs pour une lecture correcte. Si la valeur Angle
ne tombe pas dans cet intervalle, la formule renvoie une valeur de 0 degr et le bloc de
texte ne fait lobjet daucune rotation. Par cette formule, le texte reste droit pour la
plupart des angles de rotation. Pour plus dinformations sur la syntaxe de la formule
PESANTEUR, reportez-vous laide en ligne Rfrence du dveloppeur (accessible
via ? (Aide) > Rfrence du dveloppeur) fournie avec Visio.
Sans comportement PESANTEUR,
le texte ayant fait lobjet dune
rotation de 120 300
(ou 60) degrs (A) apparat
lenvers.
Si vous dcalez galement le bloc de texte de la forme, lAssistant ajoute des formules
aux cellules AxeXTexte et AxeYTexte pour dcaler laxe du bloc de texte en fonction
de la taille de la forme et de la quantit de texte quelle contient.
Formules de rot at ion inverse du t ext e droit
Si vous avez utilis lAssistant SmartShape pour crer du texte droit, la formule
suivante sajoute la section Transformation du texte pour faire pivoter dans le sens
inverse le bloc de texte lorsque la forme fait lobjet dune rotation :
Ahg1eTexfe = PESAhTEuP|Ahg1e -60deg. 120deg.)
Ahg1eTexfe = ST|TTX0P|PefouhemehfX PefouhemehfY) Ahg1e -Ahg1e)
194 CHAP I TRE 9
Cette formule permet de vrifier si la forme a t retourne, et dtermine langle
utiliser en fonction de ces informations. Si la forme a t retourne dans les deux
dimensions ou na pas t retourne du tout (si RetournementX et RetournementY
sont soit tous les deux TRUE, soit tous les deux FALSE), la formule BITXOR renvoie
la valeur FALSE et la formule SI renvoie la valeur Angle. Langle dorigine est conserv
si la forme a t retourne dans une dimension seulement (si RetournementX ou
RetournementY est TRUE). Le moteur Visio crit seulement les valeurs FALSE (0) ou
TRUE (1) dans les cellules RetournementX et RetournementY, pour que vous puissiez
partir du principe que ce sont les seules valeurs prsentes.
Si la forme ne doit jamais tre retourne, vous pouvez utiliser une formule plus simple
pour faire pivoter le bloc de texte lenvers :
Si vous faites pivoter le bloc de texte dune forme (de manire ce quAngleTexte >
0 degr), puis faites pivoter la forme, langle de texte apparent correspond alors la
somme des valeurs dAngleTexte et dAngle.
Exemples de cont raint e de t aille du bloc de t ext e
Avec lAssistant SmartShape, vous pouvez crer un comportement de texte droit pour
une varit de cas frquents, mais vous pouvez avoir besoin dun contrle
supplmentaire. Lorsque vous crez du texte droit pour une petite forme, la forme
peut tre obscurcie par le texte sil est volumineux ou si la forme est pivote. A laide
des formules dcrites ci-dessous, vous pouvez contraindre la largeur du bloc de texte
pour ladapter aux formes.
Lorsque vous crez le
comportement de texte dune
forme, vous pouvez empcher le
texte dobscurcir cette forme.
Ahg1eTexfe = -Ahg1e
A Un texte droit centr peut obscurcir la forme
lorsquil fait lobjet dune rotation, et par
dfaut, contraint la largeur du bloc de texte.
B Des formules intelligentes largissent le
bloc de texte si la forme fait lobjet dune
rotation.
CRATI ON D UN COMP ORTEMENT DE TEXTE 195
Cont raint e de largeur dun bloc de t ext e droit
Avec certaines formes, comme les flches 1D ou les formes courtes, il ne suffit pas de
faire pivoter le texte lenvers pour le maintenir droit. Au fur et mesure que la
forme pivote, le texte droit peut obscurcir des parties de la forme, comme dans la
figure prcdente, notamment lorsque le bloc larrire-plan opaque est centr
horizontalement et verticalement sur la forme. Vous pouvez crire des formules qui
maintiennent le bloc de texte droit et ajustent sa largeur lorsquun utilisateur fait
pivoter la forme ou ajoute du texte.
Lorsque vous utilisez la formule de rotation inverse dcrite dans la section Formules
de rotation inverse du texte droit , page 193, le bloc de texte reste droit tandis que la
forme pivote. Les formules Transformation du texte par dfaut adaptent la largeur du
bloc de texte la largeur de la forme, ce qui peut savrer inutile ou non esthtique si
la forme est tire lors de sa rotation. Pour adapter la largeur du bloc de texte la
largeur de la forme seulement si la forme est pivote jusqu 15 degrs par rapport
lhorizontale, utilisez les formules suivantes :
Pour plus de lisibilit, la formule de la cellule LargeurTxt ci-dessus conserve au bloc
de texte une largeur dau moins 0,5 pouce. Si la forme fait lobjet dune rotation
au-del de la limite dfinie dans la cellule B1 de la section Montage, la largeur du bloc
de texte est paramtre sur 2,5 pouces ; sinon, pour empcher le texte dobscurcir la
forme, elle est paramtre sur la largeur de la forme moins 0,25 pouce. La formule
contenue dans la cellule Montage.B1 effectue le test de rotation, et renvoie FALSE si le
bloc de texte est limit par la largeur de la forme ou TRUE si la largeur du texte nest
pas limite. La formule contenue dans la cellule A1 gnre un angle de forme
normalis dune valeur comprise entre 0 et 180 degrs pour dterminer la dflection
par rapport lhorizontale.
Ces formules fonctionnent, mais elles chouent pour les formes courtes qui sont
proches de la limite horizontale et qui ont du texte large. Une solution plus labore
doit prendre en compte la largeur de la forme ainsi que la largeur et la profondeur
composes du texte. Vous devez nanmoins noter que ce comportement amlior
peut tre contrebalanc par des performances moindres.
Mohfage.A1 = 0EC|M00uLuS|Ahg1e 10 deg.))
Mohfage.1 = Ah0|Mohfage.A1 >= 1S deg. Mohfage.A1 <= 16S deg.)
LageuTxf = MAX|0,S po. ST|Mohfage.1 2,S po. Lageu - 0,2S po.))
haufeuTxf = 0,2S po.
Ahg1eTexfe = ST|TTX0P|PefouhemehfX PefouhemehfY) Ahg1e -Ahg1e)
196 CHAP I TRE 9
Cont rle de la largeur dun bloc de t ext e droit dcal
Vous pouvez utiliser lAssistant SmartShape pour personnaliser le bloc de texte dune
forme afin quil reste droit tout en tant dcal par rapport la forme. Par exemple,
dans un plan damnagement de lespace, vous pouvez, comme le montre la figure
suivante, dplacer et faire pivoter les meubles tout en conservant les libells au mme
endroit. Pourtant, en fonction de lalignement du bloc de texte, de la rotation de la
forme et de la quantit de texte, le bloc peut obscurcir la forme. Vous pouvez crire
des formules de manire ce que le bloc de texte reste toujours dcal par rapport la
limite imaginaire qui dfinit les cts de la forme.
Dcalage du texte droit par rapport
une forme
Les formules permettant de crer ce comportement sont les suivantes :
A Langle le plus proche du bloc de texte est
dcal par rapport au ct de la forme.
B Au fur et mesure de lajout du texte, le
dcalage change pour que le bloc de
texte ncrase pas la forme.
LageuTxf= MAX| " Ca.Ta111e hAuTEuPTEXTE|LeTexfe))
haufeuTxf= LAPCEuPTEXTE|LeTexfe LageuTxf)
Ahg1eTexfe= ST|TTX0P|PefouhemehfX PefouhemehfY) Ahg1e -Ahg1e)
AxeXTexfe = Lageu + |LageuTxf/2 " AS|C0S|Ahg1e))
+ haufeuTxf/2 " AS|STh|Ahg1e)))
AxeYTexfe = haufeu/2
CRATI ON D UN COMP ORTEMENT DE TEXTE 197
Les cellules LargeurTxt et HauteurTxt permettent au bloc de texte de sagrandir au fur
et mesure de lajout du texte. Dans la cellule AngleTexte, la formule de rotation
inverse permet de conserver le texte droit. Le dcalage de laxe du bloc de texte
(AxeXTexte) est calcul partir de lhypothse selon laquelle, dans le systme de
coordonnes locales de la forme, le ct du bloc de texte se trouve lextrieur du
bord de la forme. La figure suivante montre que le dcalage correspond la somme
des lignes 1 et 2.
Calcul du dcalage du bloc de texte
La ligne 1 correspond au ct dun triangle rectangle dont lhypotnuse est gale
HauteurTxt/2 ; sa longueur est calcule laide de la cellule Angle de la section
Transformation de la forme dans la formule suivante :
La ligne 2 correspond au ct dun triangle rectangle dont lhypotnuse est gale
LargeurTxt/2 ; sa longueur est calcule laide de la formule suivante :
A Bord de la forme
B LargeurTxt/2
C HauteurTxt/2
D Dcalage AxeXTexte = 1 + 2
L1ghe 1 = |haufeuTxf/2) " AS|STh|Ahg1e))
L1ghe 2 = |LageuTxf/2) " AS|C0S|Ahg1e))
A
B
C
D
1
2
198 CHAP I TRE 9
Le dcalage est toujours une valeur positive, mme lorsque la forme fait lobjet dune
rotation ayant une valeur dangle ngative, car la fonction ABS est toujours utilise
pour renvoyer la valeur absolue des lignes 1 et 2. Ce type de calcul du dcalage ne
ncessite pas de formules supplmentaires pour empcher le bloc de texte dcraser la
forme au moment de sa rotation.
Ut ilisat ion des f ormules de t ext e
La modification des formules de texte dune forme permet de dfinir, dans les
solutions que vous dveloppez, un comportement des formes trs labor. Vous
pouvez afficher les valeurs des formules que vous saisissez et formater ces valeurs pour
quelles refltent davantage le rle de la forme. Cette section traite de certaines des
approches les plus avances que vous pouvez utiliser lors de la modification des
formules de texte dune forme ; elle fournit par ailleurs des informations sur la
protection des formules que vous crez et sur le test des formes permettant de garantir
que leur comportement correspond vos attentes.
Af f ichage et f ormat age des rsult at s dune f ormule
Vous pouvez afficher les rsultats dune formule et formater ses rsultats. Lorsque
vous slectionnez le bloc de texte, puis choisissez Insertion > Champ, le champ de
texte cr correspond rellement la valeur issue de la formule calcule dans une
cellule ShapeSheet
Windows
Visio
, les styles
fonctionnent un peu diffremment de ceux des autres logiciels, tels que les
programmes de traitement de texte ou les tableurs. En effet, dans Visio, vous pouvez
dfinir des styles qui appliquent simultanment des attributs de formatage au texte,
aux traits et aux remplissages. De mme, vous pouvez dfinir des styles qui appliquent
un formatage au texte seulement, aux traits seulement, aux remplissages seulement ou
une combinaison des trois.
Ce chapitre explique comment appliquer et crer des styles lorsque vous travaillez
avec des formes ; il contient des instructions permettant de crer les styles qui
apparaissent dans vos modles ; il explique comment modifier les attributs de
formatage des formes de base et comment protger les styles de celles que vous crez ;
enfin, il indique comment crer des motifs de trait, de remplissage et des extrmits
de trait que lutilisateur peut appliquer comme dans tout format Visio.
Utilisation des styles dans la page de dessin...................................................... 206
Instructions concernant lapplication de styles aux formes ............................... 209
Utilisation de styles dans les gabarits et les modles ........................................ 213
Protection des formats locaux des formes .......................................................... 215
Gestion de la couleur dans les styles, les formes et les fichiers........................ 216
Motifs personnaliss.............................................................................................. 219
206 CHAP I TRE 10
Ut ilisat ion des st yles dans la page de dessin
Les styles sont des ensembles nomms dattributs de formatage applicables une
forme. Dans Visio, un seul style peut dfinir des attributs de texte, de trait et de
remplissage, lapplication dun style peut donc constituer un moyen efficace dassurer
la cohrence des formes.
Lorsque vous appliquez un style une forme, vous formatez les attributs suivants :
Pour le texte : la police, la taille, le style (par exemple, gras ou italique), la couleur
et lespacement des caractres, lalignement du bloc de texte, les marges et la
couleur darrire-plan, lalignement des paragraphes, les retraits et lespacement,
lespacement des tabulations et le formatage des puces
Pour les traits : lpaisseur de trait, la couleur, le motif, lextrmit, le style de la
pointe de flche et le style de langle
Pour les remplissages : le motif et les couleurs de premier plan et darrire-plan de
lintrieur dune forme (son remplissage) et de son ombre, sil en existe une.
Prsent at ion des st yles
Vous pouvez appliquer un style une forme ou bien lui appliquer un formatage local
en utilisant les commandes du menu Format pour crer le mme effet. Si plusieurs
formes ont le mme format, les styles permettent dutiliser plus efficacement les
ressources de lordinateur que le formatage local. Dans un document Visio, une
dfinition de style est stocke un endroit seulement, et plusieurs formes peuvent y
faire rfrence. Avec le formatage local, toutes les instructions de formatage sont
stockes sparment avec chaque forme. Les formes formates laide de styles
rpondent plus rapidement que les formes formates localement lorsquelles sont
cres, dplaces, mises lchelle et pivotes.
Les attributs de format local sont
stocks avec chaque forme (A).
Lorsque vous appliquez un style
plusieurs formes, la dfinition du
style stocke les informations de
formatage un seul endroit (B).
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 207
Dans les documents que vous crez, vous pouvez dfinir sparment des styles pour
les attributs de texte, de trait et de remplissage, ou bien dfinir des styles qui
appliquent une combinaison dattributs. Visio rpertorie tous les styles qui appliquent
des attributs de texte dans la liste Tous les styles de la barre doutils Format ; les styles
qui concernent uniquement les remplissages et les traits sont rpertoris au-dessous
des attributs quils affectent dans la bote de dialogue Styles (Format > Style). Tous les
styles dun document sont rpertoris dans le dossier Styles de Drawing Explorer
(Affichage > Fentres > Drawing Explorer).
Lorsque lutilisateur applique un style issu de la liste Tous les styles une forme qui
prsente un formatage local, les attributs dfinis dans le style remplacent
automatiquement le formatage local correspondant. Les attributs formats
localement qui napparaissent pas dans le style ne sont pas modifis. Par exemple, si le
trait dune forme est format localement et que vous appliquiez un style qui indique
seulement un formatage de texte et de remplissage, le formatage local du trait restera
intact. En cliquant avec le bouton droit sur une forme et en choisissant Format > Style
dans le menu contextuel, lutilisateur peut aussi appliquer indpendamment des styles
pour chaque attribut. Par exemple, supposons quun formatage local ait t appliqu
au texte dune forme, mais que lutilisateur souhaite utiliser un style qui applique
normalement les trois attributs pour le remplissage et le trait. En choisissant les styles
de remplissage et de trait dans la bote de dialogue Styles, ces attributs sont appliqus,
tandis que le formatage du texte nest pas modifi. Pour plus dinformations,
reportez-vous la section Protection des formats locaux des formes , page 215.
Paramt rage des st yles par df aut dun dessin
Lorsque vous dessinez plusieurs formes, vous pouvez garantir une certaine cohrence
en indiquant les styles que vous utilisez le plus souvent comme styles par dfaut du
document. Le moteur Visio applique les styles de texte, de trait et de remplissage par
dfaut dfinis pour une page de dessin lorsque vous dessinez en utilisant lun des
outils de la barre doutils Standard. Vous pouvez aussi dfinir des styles par dfaut
pour la page de dessin dun modle afin que les utilisateurs dessinent de manire
cohrente ou en fonction de normes spcifiques.
Pour changer les st yles par df aut dun document :
1 Veillez ce quaucun lment ne soit slectionn et que la fentre de la page de
dessin soit active, puis choisissez Format > Style.
2 Dans les zones Style du texte, Style de trait et Style de remplissage, slectionnez de
nouveaux styles par dfaut, puis cliquez sur OK.
Les nouveaux styles par dfaut ont une incidence sur toutes les formes que vous
dessinez avec les outils de dessin. Les occurrences des formes de base insres sur la
page de dessin ne sont pas modifies : elles hritent du style de la forme de base.
Les nouveaux styles par dfaut restent actifs dans une page de dessin jusqu ce que
vous les changiez de nouveau.
208 CHAP I TRE 10
Crat ion dun st yle
Vous pouvez crer un style pour linclure dans votre modle ou pour formater
plusieurs formes rapidement et de manire cohrente. Les styles que vous dfinissez
dans vos modles apparaissent dans la fentre Drawing Explorer, dans les botes de
dialogue Style et Dfinir le style, et, sils appliquent un formatage de texte, dans la liste
Tous les styles de la barre doutils Format.
Vous pouvez crer intgralement un style ou llaborer partir dun style existant.
Par exemple, supposons que vous ayez cr un trait de 3 mm pour lequel vous avez
saisi une formule dans la cellule EpaisseurTrait. Si vous dessinez plusieurs traits de 3
mm, il est plus commode de crer un style que vous pouvez rutiliser. En crant des
styles bass sur des styles existants, vous pouvez dvelopper une hirarchie de styles,
dans laquelle les modifications apportes lun des styles sappliquent, comme le
montre la figure suivante, tous les styles quil a permis dlaborer. Vous devez vous
mfier, toutefois, de ne pas modifier par inadvertance plusieurs styles, ainsi que toutes
les formes formates avec ceux-ci, lorsque vous ne souhaitez en modifier quun seul.
Elaboration dun style partir dun
style de base existant
Lorsque vous crez un style, les paramtres sont hrits en fonction du mode de
cration du style, cest--dire partir de zro ou partir dun style existant :
Un style labor partir dun autre style hrite des attributs du style de base.
Un style entirement nouveau hrite des paramtres par dfaut du document pour
les attributs que vous cochez dans la zone Inclure de la bote de dialogue Dfinir les
styles. Pour dfinir votre style, vous pouvez modifier ces paramtres.
Pour crer un style, choisissez Format > Dfinir les styles. Loption Bas sur permet de
savoir si le style est bas sur un autre style. Pour plus dinformations sur lutilisation
de la bote de dialogue Dfinir les styles, recherchez styles dans laide en ligne
fournie avec Visio.
A Dfinition du style de base
B Dfinition du style driv
C Le style driv hrite du trait et du
remplissage du style de base.
D Toute modification du style de base est
reprsente sur le style driv.
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 209
Si vous dfinissez un style pour un dessin et que vous souhaitiez lutiliser dans un
autre dessin, vous pouvez copier le style. Pour cela, faites glisser une forme formate
avec le style dans le fichier dans lequel vous voulez ajouter le style (vous pouvez aussi
insrer la forme par copier-coller). Supprimez ensuite la forme. La dfinition du style
reste dans le fichier. Si le fichier contient dj un style portant le mme nom,
la dfinition existante est prioritaire et le style nest pas copi dans le fichier.
Modif icat ion dun st yle
Vous pouvez modifier un style de deux manires :
En choisissant Format > Dfinir les styles, puis en slectionnant un style existant
dans la liste Style dans la bote de dialogue Dfinir les styles et en changeant les
attributs Texte, Trait ou Remplissage du style.
En apportant des modifications aux formules du style.
Lapport de modifications dans la bote de dialogue Dfinir les styles est rapide et
conviviale. Toutefois, les options disponibles dans la fentre ShapeSheet
du style ne
sont pas toutes accessibles par lintermdiaire de la bote de dialogue Dfinir les styles.
Par exemple, vous pouvez dfinir des formules associes un style en modifiant les
cellules de la feuille de style.
Pour modif ier les f ormules dun st yle :
1 Choisissez Affichage > Fentres > Drawing Explorer.
2 Ouvrez le dossier Styles dans la fentre Drawing Explorer, cliquez avec le bouton
droit sur le style, puis choisissez Afficher la feuille ShapeSheet dans le menu
contextuel.
3 Apportez des modifications aux formules dans la feuille de style.
Inst ruct ions concernant lapplicat ion de st yles aux f ormes
Lorsque vous crez des formes pour vos propres gabarits ou que vous utilisez des
formes de base existantes, lutilisation des styles est un moyen efficace de formater les
formes. Visio offre plusieurs techniques dapplication et de modification des styles.
La technique utiliser dpend de ce que vous souhaitez faire : reformater toutes les
formes qui utilisent un style particulier, reformater la forme de base elle-mme et, par
extension, toutes les occurrences qui lui sont associes, ou modifier les occurrences
qui figurent sur la page de dessin.
Pour modifier lapparence de toutes les occurrences dune forme de base sur la
page de dessin et de celles que vous ajouterez par la suite, vous pouvez modifier les
styles du fichier de dessin.
210 CHAP I TRE 10
Pour modifier lapparence dune forme de base dans un gabarit, vous pouvez
reformater la forme en appliquant diffrents styles dans le gabarit autonome.
Pour reformater rapidement les occurrences dune forme de base sur la page de
dessin, vous pouvez modifier la copie de la forme de base dans le gabarit du
document.
Lorsque vous dfinissez un style,
vous pouvez modifier chaque
paramtre de texte, de trait et de
remplissage (A).
Ref ormat age des f ormes sur la page de dessin
Vous pouvez modifier un style pour changer lapparence de toutes les formes dun
document qui utilisent ce style. Pour cela, utilisez la commande Dfinir les styles du
menu Format afin de rviser les attributs de texte, de trait ou de remplissage dun style
existant. Toutes les formes formates avec le style modifi seront transformes.
Par exemple, supposons que vous utilisiez le gabarit Formes Diagramme de flux -
Elmentaire, mais que vous vouliez que le texte apparaisse en italique avec une taille
de 10 points et une police Times Roman. Les formes issues de ce gabarit sont
formates avec le style de texte Flow Normal. Vous pouvez utiliser la commande
Dfinir les styles pour modifier la dfinition du style Flow Normal afin de formater le
texte dans la police souhaite. La nouvelle dfinition affecte toutes les formes du
document auxquelles le style est appliqu, ainsi que toutes les formes que vous ajoutez
et qui sont formates dans ce style.
Une nouvelle dfinition de style est enregistre seulement avec le fichier de dessin
actuel. Le gabarit autonome et ses formes de base ne sont pas modifies, car le fichier
de gabarit contient ses propres dfinitions de styles.
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 211
Ref ormat age des f ormes de base dans un gabarit aut onome
Vous pouvez reformater des formes de base dans un gabarit autonome en choisissant
de nouveaux styles et en reformatant toutes les occurrences cres par la suite partir
de ces formes de base. Contrairement lopration de modification dun style pour
reformater les formes qui lutilisent, cette procdure modifie la dfinition de la forme
de base dans un gabarit et enregistre les modifications dans le gabarit. Utilisez cette
procdure pour modifier les formes de base dans les gabarits que vous utilisez dans
plusieurs dessins diffrents.
Pour ref ormat er une f orme de base avec un aut re st yle :
1 Ouvrez le fichier de gabarit contenant la forme de base modifier. Pour rendre le
gabarit modifiable, cliquez sur sa barre de titre avec le bouton droit, puis choisissez
Modifier dans le menu contextuel. Dans la zone Ouvrir de la bote de dialogue
Ouvrir un gabarit, vous pouvez galement choisir Original, puis cliquer sur
Ouvrir.
Lorsquun gabarit est modifiable, un astrisque rouge apparat dans langle
suprieur gauche de licne sur la barre de titre du gabarit.
2 Dans la fentre du gabarit, cliquez avec le bouton droit sur la forme de base
modifier, puis choisissez Modifier la forme de base dans le menu contextuel pour
louvrir dans la fentre de dessin de la forme de base.
3 Choisissez la forme modifier ou slectionnez une forme secondaire si la forme de
base est un groupe, puis reformatez la forme selon vos besoins.
Par exemple, choisissez Format > Style, choisissez un style de texte, de trait ou de
remplissage appliquer, puis cliquez sur OK.
4 Dans la fentre de dessin de la forme de base, cliquez sur la case Fermer.
Lorsquun message vous demande de mettre jour la forme de base, cliquez
sur Oui.
5 Assurez-vous que la fentre de gabarit est active, puis choisissez Fichier >
Enregistrer. Vous pouvez galement cliquer avec le bouton droit sur la barre de
menus du gabarit et choisir Enregistrer dans le menu contextuel.
La forme de base modifie est enregistre dans le gabarit. Si vous devez rtablir la
version prcdente de la forme de base, vous pouvez la modifier de nouveau pour
la reformater en utilisant les styles originaux. Sil sagit dun gabarit Visio, vous
pouvez rinstaller loriginal partir du CD de Visio.
212 CHAP I TRE 10
Ref ormat age de t out es les occurrences dune f orme de base
Vous pouvez rapidement reformater toutes les occurrences dune forme de base dun
document sans modifier celle-ci ni sa dfinition de style. Pour reformater dans un
dessin toutes les occurrences dune forme de base, vous pouvez modifier la copie de la
forme de base dans le gabarit du document.
En modifiant la copie dune forme
de base dans le gabarit du
document (A), vous modifiez toutes
ses occurrences sur la page de
dessin.
Pour ref ormat er t out es les occurrences dune f orme de base :
1 Choisissez Fentre > Afficher le gabarit de document.
2 Cliquez avec le bouton droit sur la forme de base dont vous souhaitez modifier les
occurrences, puis choisissez Modifier la forme de base dans le menu contextuel.
3 Dans la fentre de dessin de la forme de base, effectuez des modifications de
reformatage.
4 Fermez la fentre et, lorsquun message vous le demande, enregistrez vos
modifications pour visualiser les effets sur la page de dessin.
REMARQUE : cette technique fonctionne seulement si les occurrences de la forme de base
conservent leur formatage dorigine. Les formes auxquelles vous avez appliqu un style
diffrent ou un formatage local ne sont pas modifies.
A
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 213
Ut ilisat ion de st yles dans les gabarit s et les modles
Lorsque vous crez des gabarits et des modles destins tre utiliss par dautres, vos
styles doivent tre cohrents et faciles appliquer. Lutilisateur peut croire que les
styles sont les seules options de formatage disponibles. Il est donc prfrable dinclure
dans vos modles davantage de styles que ncessaire.
La liste Tous les styles de la barre
doutils Format permet daccder
facilement aux styles qui appliquent
le formatage du texte.
Maint ien de la cohrence dans les f ichiers
Lorsque vous crez un gabarit qui sera utilis avec un modle, les dfinitions de styles
doivent tre identiques dans les fichiers de gabarit et les fichiers de modle. Lorsquun
utilisateur cre une occurrence de forme de base, loccurrence hrite des styles de la
forme de base, qui sont appliqus comme suit :
Si aucun style du mme nom nexiste dans le fichier de dessin, il est copi depuis le
fichier de gabarit et ajout au fichier de dessin.
Si un style du mme nom existe dj dans le fichier de dessin, le style existant est
utilis.
Si, dans le fichier de dessin, la dfinition du style diffre de celle du fichier de gabarit,
la dfinition du dessin est utilise, et lapparence de la forme dans le dessin est
diffrente de celle de la forme de base. Ce comportement est parfois appel rgle de
lquipe qui reoit qui lemporte car le style sur la page de dessin lemporte sur
les attributs de formatage dun style portant le mme nom dans une forme de base. En
inspectant chaque dfinition de style, vous pouvez vrifier que les styles dun modle
sont cohrents avec ceux dun gabarit, mais cette opration est plutt fastidieuse. Une
technique plus simple consiste enregistrer une copie du fichier de gabarit (.vss) sous
la forme dun fichier de modle (.vst), supprimer toutes les formes de base du fichier
de modle et enregistrer le fichier despace de travail (.vsw) pour obtenir des styles et
des couleurs identiques.
Si vous projetez denregistrer la page de dessin sous la forme dun gabarit ou dun
modle, vous enregistrerez lespace de travail en supprimant tous les styles qui ne sont
pas utiliss par vos formes. Pour cela, utilisez la commande Dfinir les styles du menu
Format et supprimez les styles que vous navez pas utiliss. Une autre mthode
consiste ouvrir un nouveau fichier de dessin contenant seulement les styles par
dfaut, puis faire glisser dans le nouveau fichier les formes formates dotes des
styles copier. Pour plus dinformations sur le nettoyage des gabarits et des modles,
reportez-vous au chapitre 13, Diffusion de gabarits et de modles .
214 CHAP I TRE 10
Si une forme de la page de dessin ou du gabarit du document utilise un style que vous
supprimez, vous vous trouvez dans lune des situations suivantes :
Si le style est bas sur un autre, la forme utilise par dfaut le style de base.
Si le style nest bas sur aucun autre style, la forme utilise par dfaut le style Visio
Sans style, qui ne peut pas tre supprim.
Ut ilisat ion de convent ions de dnominat ion pour les st yles
Les styles que vous crez pour vos gabarits et vos modles sont plus faciles utiliser si
vous suivez de manire cohrente une convention. Des noms de styles explicites
comme Trait noir quart de pouce ou 8pt Arial Left sont plus vocateurs et
comprhensibles que des noms abrgs comme Ligne2 ou T8L . Les styles
apparaissent dans lordre alphabtique dans la liste de la barre doutils, et dans les
botes de dialogue Style et Dfinir les styles.
Lutilisation dune convention de dnomination correcte permet de conserver les
liens qui existent entre les divers styles dans les listes, facilitant ainsi la recherche du
style dsir. Les styles de trait, de remplissage et de texte avec des attributs similaires
doivent avoir des noms similaires. Par exemple, si vous nommez Trait 1 pxl un
style de trait large de 1 pixel, vous devez nommer Ligne 3 pxl plutt que Ligne3
un style de trait large de 3 pixels. Il est prfrable de nommer les styles en fonction de
la manire dont vous souhaitez quils soient utiliss :
Nommer des styles spcifiques une forme ou un gabarit en fonction des formes
auxquelles ils sont appliqus, comme Flux - Texte lien.
Nommer des styles de type gnral en fonction de leurs attributs de formatage,
comme Black Line ou Arial Centered.
CONSEIL : pour faire apparatre un style au dbut de la liste Tous les styles, faites prcder
son nom dun caractre ayant une valeur ASCII faible, comme un tiret (-). Par exemple,
- Standard Line ou - Corporate Blue .
Inst ruct ions concernant la df init ion des st yles
Les dveloppeurs Visio suivent ces instructions lors de la dfinition des styles. Elles
peuvent vous tre utiles pour dfinir des styles destins aux solutions que vous crez.
Les styles de texte doivent utiliser les polices TrueType livres avec
Microsoft
Windows
.
Limitez le choix des polices celles dont disposent tous les utilisateurs de
Windows 95, Windows 98 ou Windows NT
correspondantes. Par
exemple, vous pouvez crire une formule personnalise dans la cellule Taille de la
section Caractres dune forme de base pour modifier de manire dynamique la taille
de la police de cette forme de base, en fonction de la hauteur de son bloc de texte. Si
un utilisateur applique la forme un style de texte diffrent, la formule personnalise
est crase.
Vous pouvez protger les formats locaux des formes en utilisant loption Conserver le
formatage local, en activant la cellule VerrFormat ou en utilisant la fonction
PROTECTION pour protger les formules.
216 CHAP I TRE 10
Ut ilisat ion de lopt ion Conserver le f ormat age local
Vous pouvez protger le formatage local des formes en cochant loption Conserver le
formatage local dans la bote de dialogue Style lors de lapplication dun autre style.
Lorsque vous cochez loption Conserver le formatage local, le style est appliqu, mais
le formatage local est conserv. Si la case Conserver le formatage local nest pas
coche, le nouveau style est appliqu et tout formatage local est cras.
Ut ilisat ion de la cellule VerrFormat et de la f onct ion
PROTECTION
Dans la section Protection de la feuille dune forme, vous pouvez donner la cellule
VerrFormat la valeur 1 afin de protger la forme contre toute modification de
formatage et de style. Lutilisation de la fonction PROTECTION dans une formule
empche cette cellule dtre modifie lorsquun utilisateur applique un formatage ou
des styles. Si vous protgez un groupe en utilisant la cellule VerrFormat, vous
empchez automatiquement les formes et les autres groupes quil contient dhriter
du formatage ; en revanche, lutilisateur peut slectionner des formes secondaires du
groupe qui ne sont pas explicitement verrouilles et modifier leur formatage. Pour
plus dinformations sur la protection du formatage dans un groupe, reportez-vous au
chapitre 6, Regroupement et fusion de formes .
Utilisez la cellule VerrFormat et la fonction PROTECTION avec prcaution.
Lorsquune forme est verrouille contre le formatage, le moteur Visio affiche
automatiquement un message si un utilisateur essaie de formater la forme. Au
contraire, la fonction PROTECTION fonctionne sans aucune notification ni aucun
message utilisateur. Ces comportements risquent de gner lutilisateur qui souhaite
formater une forme protge. Lorsque vous crez des formes, il est ncessaire de
trouver un quilibre convenable entre la limitation du comportement des formes et
lamlioration de la flexibilit de lutilisateur dans votre solution.
Gest ion de la couleur dans les st yles, les f ormes et les f ichiers
Lorsque vous crez des formes de base, vous devez prendre en compte lapparence de
la couleur de la forme de base sur diffrents systmes utilisateur. Vous pouvez
appliquer une couleur une forme en utilisant soit la palette de couleurs Visio soit
une couleur personnalise. La mthode choisie a une incidence sur lapparence de la
forme dans un autre document. Vous pouvez appliquer une couleur une forme en
utilisant les mthodes suivantes :
En appliquant une couleur choisie dans la palette de couleurs Visio. Choisissez
lindice de lune des couleurs de la palette. Le moteur Visio enregistre seulement
lindice sur la palette de couleurs et non la couleur elle-mme.
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 217
En dfinissant, soit dans la bote de dialogue Couleur, soit sous la forme dune
formule, une valeur RVB (rouge, vert, bleu) ou TSL (teinte, saturation,
luminosit). Vous appliquez ainsi une couleur personnalise une forme.
Modif icat ion de la palet t e de couleurs
La palette de couleurs apparat dans la bote de dialogue Palette de couleurs, ainsi que
dans la liste droulante des couleurs dans les botes de dialogue Remplissage, Trait,
Dfinir la police, Bloc de texte et dautres. Pour tout document qui utilise la palette
Visio par dfaut, un indice de couleur renvoie la mme couleur : 0 pour noir, 1 pour
blanc, 2 pour rouge, etc.
En revanche, lutilisateur peut, en modifiant la palette de couleurs, choisir la couleur
quil souhaite voir apparatre nimporte quel indice. Dans ce cas, toute proprit de
couleur associe cet indice peut changer de couleur. Par exemple, si vous appliquez
une couleur de remplissage une forme de base en cliquant sur le rouge dans la
palette, la couleur de remplissage de la forme est enregistre sous le nombre 2. Si un
utilisateur cre une occurrence de la forme de base rouge dans un document dans
lequel le second indice de la palette de couleurs a t modifi, la couleur de
remplissage de la forme passe dans cette couleur.
La plupart des utilisateurs ne modifient pas la palette de couleurs dun document, il
est peu vraisemblable que les couleurs changent. Mais vous pouvez vous assurer
quune couleur de forme ne change jamais, quelle que soit la palette de couleurs du
document, en utilisant une couleur personnalise RVB ou TSL. Pour indiquer une
couleur personnalise sous la forme dune formule, utilisez la fonction RVB ou la
fonction TSL. Pour plus dinformations sur lutilisation de ces fonctions,
reportez-vous la section Utilisation dune formule pour dfinir une couleur
personnalise , page 218.
Normalisat ion des palet t es de couleurs pour t ous les
document s
Lorsque vous crez des gabarits que vous avez lintention douvrir avec un modle,
utilisez la mme palette de couleurs dans tous les documents. Si les palettes de
couleurs ne sont pas identiques, les couleurs dfinies par un indice dans les styles
dune forme de base peuvent changer lorsquune occurrence est dplace dans un
document qui dispose dune valeur de couleur diffrente de cet indice. Pour
normaliser la palette de couleurs utilise dans les documents qui sont censs tre
ouverts ensemble, comme les gabarits et les modles, vous pouvez copier dans un
autre fichier la palette de couleurs utilise dans un fichier.
218 CHAP I TRE 10
Si vous modifiez la palette de couleurs dans un fichier de gabarit, vous pouvez copier
les couleurs dans un modle.
Pour copier la palet t e de couleurs dun gabarit dans un modle :
1 Ouvrez le fichier de modle.
2 Choisissez Outils > Palette de couleurs.
3 Dans Copier les couleurs de, slectionnez le gabarit dont vous souhaitez copier la
palette de couleurs dans le fichier de modle, puis cliquez sur OK.
Veillez enregistrer le document.
Ut ilisat ion dune f ormule pour df inir une couleur
personnalise
Vous pouvez dfinir la couleur des formes en utilisant une fonction qui spcifie une
valeur RVB ou TSL. Par exemple, pour garantir quune forme de panneau stop est
toujours rouge, vous pouvez saisir la formule suivante dans la section Format de
remplissage :
Les trois arguments de la fonction RVB spcifient les composants rouge, vert et bleu
de la couleur. Chacun de ces composants peut avoir une valeur de 0 255. Pour
indiquer une couleur laide dune valeur TSL, vous pouvez la place utiliser la
formule TSL(0,240,120) dans la cellule RemplPremPlan. Pour plus dinformations
sur la syntaxe de la fonction, recherchez fonction TSL ou fonction RVB dans
laide en ligne Rfrence du dveloppeur (choisissez ? (Aide) > Rfrence du
dveloppeur) fournie avec Visio.
Plutt que dindiquer des constantes de couleur en guise dargument de ces fonctions,
vous pouvez utiliser les fonctions ROUGE, VERT et BLEU, ou TEINTE,
SATURATION et LUMINOSITE pour renvoyer la valeur dune constante de couleur
de la palette de couleurs du document ou dune autre cellule. Dans lexemple du
panneau stop, ROUGE(RemplPremPlan) renvoie 255, la valeur du composant de
rouge dans la couleur de remplissage.
Pour dfinir une couleur partir de celle dune autre cellule dans la mme forme ou
dans une autre forme, vous pouvez utiliser la fonction RVB et TSL conjointement
avec les autres fonctions de couleur. Cela est particulirement utile dans un groupe
qui contient des formes de couleurs associes mais non identiques. Vous pouvez
dfinir les couleurs de la forme groupe en tant que couleur de forme pour le groupe.
Par exemple, si la forme au premier plan du groupe est Etoile 7, vous pouvez saisir ce
qui suit dans Etoile 7.2 :
Pemp1PemP1ah = Pv|2SS00)
Pemp1PemP1ah = Pv|P0uCE|Ieu111e.7!Pemp1PemP1ah)00)
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 219
Si un utilisateur applique une nouvelle couleur au groupe, la forme au premier plan
change de couleur, mais Etoile 7.2 modifie seulement la proportion de rouge dans sa
couleur de remplissage.
Lorsque vous indiquez une couleur personnalise laide des fonctions RVB ou TSL,
la couleur est ajoute au bas de la liste des couleurs dans les botes de dialogue
Remplissage, Trait, Dfinir la police, ainsi que dans les autres botes de dialogue dans
lesquelles vous associez une couleur. Si vous crez une forme de base partir dune
forme laquelle une couleur personnalise a t associe, puis que vous dplaciez une
occurrence de cette forme dans un autre document Visio, la couleur personnalise est
ajoute galement aux listes de couleurs du document.
Une couleur personnalise est enregistre seulement avec la forme laquelle elle a t
applique. Si vous supprimez une forme avec une couleur personnalise, puis que
vous enregistriez et fermiez le document, la couleur personnalise napparat plus,
lors de louverture suivante du mme document, dans les listes de couleurs des
diffrentes botes de dialogue, moins quune autre forme utilise aussi cette couleur
dans le document.
Mot if s personnaliss
Vous pouvez crer vos propres motifs de remplissage, motifs de traits et extrmits de
traits. Pour faciliter la prsentation, ces styles sont regroups sous lappellation motifs
personnaliss et apparaissent sous la forme doptions dans les botes de dialogue
Remplissage et Trait. Pour crer un motif personnalis, crez le motif dune forme de
base reprsentant une occurrence du motif, comme un point qui, lorsquil est
appliqu sous la forme dun remplissage, ressemble un motif complet, comme des
points polka. Un motif de forme de base est un type particulier de forme de base qui
apparat seulement sous la forme dun motif de remplissage, dun motif de trait ou
dune extrmit de trait supplmentaire.
Lorsque vous crez un motif de forme de base, vous paramtrez ses proprits pour
indiquer :
Le nom du motif de la forme de base.
Le type de motif personnalis : motif de remplissage, motif de trait ou extrmit de
trait.
Le comportement du motif, cest--dire la manire dont le motif personnalis est
appliqu une forme et la manire dont il volue lorsque la forme est tire ou
formate.
Lutilisation du motif personnalis dans des dessins mis lchelle ou non.
220 CHAP I TRE 10
Un motif personnalis est toujours enregistr sous la forme dun motif de forme de
base, bien quil ne soit pas visible dans le gabarit. Les noms des motifs des formes de
base apparaissent dans lordre alphabtique au bas de la liste doptions, dans la bote
de dialogue Remplissage ou Trait. Lutilisateur peut alors appliquer le motif
personnalis en choisissant Format > Trait ou Format > Remplissage, puis en
slectionnant le nom du motif de la forme de base dans la liste approprie. Les motifs
personnaliss apparaissent dans la fentre Drawing Explorer lorsque le gabarit dans
lequel ils figurent est ouvert et quils ont t appliqus aux formes dans le dessin.
Crat ion dun mot if personnalis
Lorsquun utilisateur applique un motif personnalis, son motif de forme de base est
copi dans le gabarit du document. Le motif personnalis reste alors disponible dans
le document actif, mme si le gabarit autonome contenant le motif de forme de base
dorigine est ferm. Le moteur Visio enregistre le choix en insrant la fonction USE
dans la cellule MotifRempl, MotifTrait, DpartFlche ou FinFlche. Par exemple, si
un utilisateur applique une extrmit de trait personnalise appele Etoile au point de
dpart dun trait, la cellule DpartFlche du trait contiendra la formule USE(Etoile).
Le moteur Visio applique le motif personnalis en fonction de la taille de son
rectangle de slection.
Si un utilisateur napplique pas de motif personnalis particulier partir dun gabarit
lorsque le gabarit est ouvert, il napparat plus dans les botes de dialogue Remplissage
et Trait, une fois que le gabarit dans lequel il figure est ferm.
Si un utilisateur copie dans un autre document une forme formate avec un motif
personnalis, les rgles dhritage habituelles sappliquent. Le motif de la forme de
base est copi dans le nouveau document, moins que le nouveau document
contienne dj un motif de forme de base du mme nom, auquel cas la forme de base
du document de ce nom est applique.
La plupart des techniques utilises pour mettre au point des formes de base
sappliquent galement lors de la cration des motifs des formes de base. Par exemple,
vos utilisateurs et vous obtiendrez des rsultats plus prvisibles si vous utilisez une
forme unique ou un groupe dans votre forme de base (forme ou motif). Vous pouvez
toujours combiner plusieurs gomtries pour crer une forme unique laide des
commandes du sous-menu Oprations du menu Forme. Vous devez, en outre, crer
un motif de forme de base sous la forme dune occurrence unique de llment de
base rpter selon vos besoins.
REMARQUE : nutilisez pas de texte, de bitmaps ou de remplissages graduels dans un
motif de forme de base. Ils napparaissent pas lorsque le motif est appliqu une forme.
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 221
Pour crer un mot if personnalis :
1 Ouvrez un document ou un gabarit.
2 Choisissez Affichage > Fentres > Drawing Explorer. Dans Drawing Explorer
,
cliquez avec le bouton droit sur le dossier Motifs de remplissage, Motifs de ligne ou
Extrmits de trait, puis choisissez Nouveau motif dans le menu contextuel.
3 Dans la zone Nom, saisissez le nom du motif personnalis tel que vous souhaitez
quil apparaisse dans les botes de dialogue Remplissage et Trait.
4 Dans la zone Type, choisissez Motif de trait, Extrmit de trait ou Motif de
remplissage.
5 Dans la zone Comportement, choisissez une option pour indiquer la manire dont
le motif est appliqu une forme.
Pour plus dinformations sur le comportement du motif personnalis,
reportez-vous aux sections suivantes.
6 Cochez la case Mise l'chelle si le motif personnalis reprsente un objet avec des
dimensions relles.
Par exemple, si vous crez un motif de remplissage de carreaux de cuisine de
10 centimtres carrs, cochez la case Mise l'chelle pour conserver les dimensions
du motif lorsque celui-ci est appliqu une forme sur une page de dessin mise
lchelle.
7 Cliquez sur OK pour crer une forme de base vide.
8 Ouvrez le dossier appropri, puis cliquez avec le bouton droit sur le nom du motif
que vous venez dajouter. Choisissez Modifier le motif dans le menu contextuel
pour ouvrir la fentre de dessin de la forme de base, o vous pouvez dessiner un
motif personnalis.
Pour que les utilisateurs puissent modifier la couleur dun motif ou dune
extrmit de trait aprs lavoir applique une forme, crez le motif de la forme de
base en noir et blanc en suivant les indications des rubriques suivantes.
9 Aprs avoir cr le motif, fermez la fentre de dessin de la forme de base et
enregistrez le document en tant que gabarit.
Bien que les icnes des motifs que vous crez ne soient pas visibles lorsque vous
enregistrez un motif dans un gabarit, les motifs que vous avez dfinis apparaissent
au bas des listes dans les botes de dialogue Remplissage et Trait lorsque ce gabarit
est ouvert. Lorsquun motif personnalis est appliqu une forme, le nom du
motif est ajout la liste dans la fentre Drawing Explorer actuelle.
222 CHAP I TRE 10
Crat ion de mot if s de remplissage personnaliss
Vous pouvez crer des motifs de remplissage personnaliss qui remplissent une forme
de trois manires, en fonction du comportement que vous choisissez dans la bote de
dialogue Proprits de la forme de base. La mosaque est le type de comportement le
plus frquent pour les motifs de remplissage. Les occurrences du motif sont rptes
pour remplir la forme partir de langle infrieur gauche vers lextrieur, comme dans
lexemple suivant.
Vous pouvez aussi crer un motif de remplissage centr ou tir. Dans un motif
centr, une seule occurrence du motif remplit la forme. Laxe du motif est align avec
laxe de la forme. Dans un motif tir, une seule occurrence du motif est tire
horizontalement et verticalement pour remplir une forme. La position de laxe du
modle nest pas prise en compte. Lorsque vous redimensionnez la forme, le motif est
galement redimensionn, la diffrence des motifs en mosaque ou intgrs.
Lorsque vous crez un motif de
remplissage personnalis, vous
pouvez aussi indiquer la manire
dont ce modle est appliqu aux
formes. Vous pouvez choisir de
remplir la forme avec des
occurrences du modle partir de
langle infrieur gauche vers
lextrieur (A), centrer une
occurrence du motif sur la forme
(B) ou ltirer pour remplir la
forme (C).
Couleurs du mot if de remplissage
Si vous crez votre motif de remplissage en noir et blanc, lutilisateur peut paramtrer
la couleur du motif lorsquil lapplique une forme comme avec tout motif de Visio.
Les zones blanches (trait ou remplissage) de votre motif hritent de la couleur de
remplissage du premier plan de la forme laquelle le motif est appliqu ; les zones
noires (trait ou remplissage) de votre motif hritent de la couleur de remplissage de
larrire-plan de la forme. Si votre motif contient des couleurs autres que le noir et le
blanc, il conserve ces couleurs lorsquil est appliqu une forme.
A B C
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 223
Crat ion de mot if s en mosaque
La mosaque est le comportement le plus frquent pour les motifs de remplissage : le
motif est mis en mosaque par les bords du rectangle de slection. Vous pouvez
obtenir diffrents effets de mosaque en crant un motif avec un rectangle de slection
plus ou moins grand, comme le montre la figure suivante, ou en dcentrant le motif
lintrieur du rectangle de slection. Pour plus dinformations sur la cration dun
rectangle de slection de taille personnalise, reportez-vous la section Rglage de la
taille du rectangle de slection dune forme , page 240.
Dans cet exemple, le motif de la
forme de base inclut deux formes
triangulaires dcales dans un
grand rectangle de slection (A).
Les motifs de remplissage en
mosaque remplissent la forme
partir de langle infrieur gauche.
Lorsque votre motif en mosaque reprsente un objet rel, cochez la case Mise
l'chelle dans la bote de dialogue Proprits de la forme de base. Par exemple, la
mosaque dun sol en cramique de 30 cm sur 30 cm doit toujours tre de la mme
taille, quelle que soit lchelle du dessin sur lequel elle est utilise. Par dfaut, le motif
de remplissage nest pas mis lchelle, ce qui signifie que le motif se comporte
comme les motifs intgrs Visio : il simprime toujours la mme taille, quelle que
soit lchelle du dessin.
Sur une page de dessin qui utilise
une chelle architecturale, un motif
non mis lchelle (A) est identique
sur une page sans chelle, mais un
motif mis lchelle (B) conserve
ses dimensions.
A
A B
224 CHAP I TRE 10
Crat ion de mot if s de t rait personnaliss
En appliquant un motif de trait personnalis, un utilisateur peut reformater un trait
pour en faire une voie ferre, une alle de jardin pave ou tout autre motif de trait.
Lorsque vous crez un motif de trait, tudiez la faon dont le motif se rpte le long
du trait, dans les courbes et dans les angles. Dterminez si le motif doit tre
redimensionn lorsque lpaisseur du trait est modifie. Ces lments, qui constituent
le comportement du motif, dterminent la manire dont le moteur Visio applique le
motif un trait ; ils peuvent donc affecter de manire significative lapparence du
trait.
Choisissez loption Comportement dans la bote de dialogue Proprits de la forme de
base pour contrler la manire dont un motif de trait est appliqu un trait. Vous
pouvez crer des motifs de trait qui se comportent de quatre faons diffrentes,
comme le montre les illustrations suivantes.
Pour crer une voie ferre, chaque occurrence du motif est incurve pour sadapter
aux courbes au fur et mesure des rptitions sur la longueur du trait.
Le choix de loption de courbure (A)
incurve les occurrences du modle
afin de les adapter au trait courb.
Pour crer une alle de jardin, chaque occurrence du motif est positionne et
pivote au fur et mesure des rptitions sur la longueur dun trait.
Le choix de loption dannotation (B)
rpte les occurrences du modle
afin de les adapter au trait sans les
incurver.
A
B
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 225
Pour crer une ligne incline, une seule occurrence du motif est tire sur la
longueur dune spline.
Le choix de loption dtirement (C)
tire une seule occurrence du motif
sur la longueur dun trait.
Pour crer un trait de flux, le motif est rpt en haut de la ligne, pour recouvrir
lensemble des occurrences du motif entre les angles. Le rectangle de slection est
plus grand que la pointe de flche contrlant lespacement entre les occurrences du
motif.
Le choix de loption de mosaque
(D) rpte les occurrences du motif
en haut du trait et permet dobtenir
un effet collier .
C
D
226 CHAP I TRE 10
Personnalisation du rectangle de slection et de laxe
Pour crer un motif de trait efficace, vous devez prendre en compte la taille du
rectangle de slection et la position de laxe, ainsi que la forme du motif. Pour adapter
un motif un trait, laxe du motif est align sur le trait, et rpte ou tire le motif par
les bords de son rectangle de slection. Si le rectangle de slection est plus grand que le
motif, des espaces apparaissent entre les occurrences du modle au fur et mesure
quils sont rpts sur le trait. Si le rectangle de slection est plus petit que le modle,
vous obtiendrez un effet de superposition lorsque le motif sera appliqu. Pour plus
dinformations sur le rectangle de slection de taille personnalise, reportez-vous la
section Rglage de la taille du rectangle de slection dune forme , page 240.
En changeant le rectangle de
slection dun motif de trait, vous
pouvez contrler la manire dont
les occurrences dun motif se
rptent le long dun trait.
A Le rectangle de slection du motif de trait flche de flux est plus grand que loccurrence du motif.
B Le rectangle de slection du motif de trait flche de superposition est plus petit que loccurrence
du motif.
C Trait avec motif de flche de flux
D Trait avec motif de flche de superposition
Comparaison des motifs de trait mis lchelle et non mis lchelle
Si vous crez un motif de trait non mis lchelle (cest--dire sans cocher la case Mise
l'chelle dans la bote de dialogue Proprits de la forme de base de la forme de
base), lorsquun utilisateur applique un motif de trait, le moteur Visio redimensionne
son rectangle de slection jusqu ce que sa hauteur soit gale lpaisseur du trait. Les
motifs de trait mis lchelle conservent leurs dimensions, quelle que soit lchelle du
dessin ou lpaisseur du trait.
A
C
B
D
GESTI ON DES STYL ES, DES FORMATS ET DES COUL EURS 227
Couleur des motifs de trait
Lorsque vous crez un motif de trait, appliquez du noir aux zones (trait ou
remplissage) que vous souhaitez rendre modifiables par lutilisateur en choisissant
une nouvelle couleur dans la bote de dialogue Trait. Appliquez du blanc ou toute
autre couleur aux zones que vous ne souhaitez pas rendre modifiables par
lutilisateur. Si vous souhaitez que la zone de remplissage soit transparente lors de
lapplication une ligne, paramtrez sur Aucun le remplissage du motif de trait.
Crat ion dext rmit s de t rait s personnalises
Une extrmit de trait personnalise constitue le type de modle personnalis le plus
simple crer. Il sagit simplement dune forme que vous pouvez associer au point de
fin dun trait. Lorsque vous crez une extrmit de trait, vous dterminez si elle peut
tre adapte la direction du trait auquel elle est associe et si elle est redimensionne
lorsque lpaisseur de trait change. Vous pouvez crer une extrmit de ligne qui
adopte les comportements suivants :
Elle est oriente par rapport au trait. Si vous dplacez le trait, lextrmit du trait
sadapte afin dtre oriente dans la mme direction.
Elle est oriente par rapport la page. Si vous dplacez le trait, lextrmit du trait
conserve son orientation sur la page.
Le moteur Visio associe laxe de lextrmit du trait au point de fin dun trait. Si le
comportement de lextrmit du trait est de sorienter par rapport au trait, ce dernier
est coup, entre son point de fin et le rectangle de slection de lextrmit du trait.
Sinon, le trait nest pas coup. Lorsque vous crez une extrmit de trait, dterminez
la position de laxe permettant dobtenir le meilleur effet. Par exemple, pour crer une
tte de flche, vous pouvez dessiner un triangle, puis dplacer laxe vers la pointe.
REMARQUE : une extrmit de trait doit pointer vers la droite ; sinon, elle nest pas
applique correctement.
228 CHAP I TRE 10
A La pointe de flche simple est un triangle droit avec un remplissage noir.
B La pointe de flche raffine est un groupe avec un rectangle de slection lgrement plus troit
que le triangle. Laxe a t dplac vers la pointe de la flche.
C Extrmit de trait Pointe de flche simple applique une ligne de 36 pixels.
D Extrmit de trait Pointe de flche raffine applique une ligne de 36 pixels.
CONSEIL : Pour dplacer laxe dune forme, cliquez avec le bouton droit sur la forme,
choisissez Affichage > Taille et position dans le menu contextuel, puis choisissez une
option du menu dans le champ Pos. axe. Vous pouvez galement slectionner la forme
avec loutil de rotation, puis faire glisser laxe un autre emplacement.
Vous devez galement savoir, lors de la cration dune extrmit de trait, si sa taille
doit dpendre de lpaisseur du trait auquel elle est applique. Si vous crez une
extrmit de trait non mise lchelle (sans cocher la case de mise lchelle dans la
bote de dialogue Proprits de la forme de base de la forme de base), la hauteur du
rectangle de slection de lextrmit du trait est paramtre pour tre gale
lpaisseur du trait, tant que lutilisateur donne au paramtre Taille la valeur Moyen
(la valeur par dfaut) dans la bote de dialogue Trait. En revanche, sur un trait de
1 pixel, lextrmit de trait peut ne pas tre visible. Pour garantir que votre extrmit
de trait fonctionne pour nimporte quelle paisseur de trait, vous pouvez
personnaliser son rectangle de slection. Si un utilisateur donne au paramtre Taille
une valeur autre que Moyen, lextrmit du trait est redimensionne de la mme
manire que nimporte quelle extrmit de ligne est redimensionne. Pour plus
dinformations sur la cration dun rectangle de slection avec une taille
personnalise, reportez-vous la section Rglage de la taille du rectangle de
slection dune forme , page 240.
Si votre extrmit de trait reprsente un objet avec des dimensions relles, comme un
raccord au bout dun tuyau, cochez la case Mise l'chelle dans la bote de dialogue
Proprits de la forme de base de la forme de base. Les paramtres Taille et Epaisseur
de la bote de dialogue Trait nont aucune incidence sur la taille dune extrmit de
trait mise lchelle.
A B
C D
Sommaire
11
Rorganisat ion des f ormes
dun dessin
Lorsque vous crez des modles Microsoft
Visio
.
Cellules Mise en page des formes remplaant les paramtres Mise en page
Cellule Mise en
page des formes Sapplique aux Dtermine
CodeTracForme Formes
positionnables
Si les formes positionnables de la page de
dessin disparaissent lorsqu une autre forme
positionnable est insre proximit.
Remplacez les paramtres par dfaut de la
page par Repositionner au besoin (1) ou
Jamais (2).
CodeDvTraitLien Formes
repositionnables
Le moment o le connecteur est dvi.
Remplacez les paramtres par dfaut de la
page par Jamais (1) ou par Toujours (2).
StyleDvTraitLien Formes
repositionnables
Le style d une dviation de connecteur.
Remplacez les paramtres par dfaut de la
page par les dviations Arc (1), I ntervalle (2),
Carr (3) ou plusieurs cts (4-9). Pour plus
d informations, recherchez
ConLineJumpStyle dans l aide en ligne
(choisissez ? (Aide) > Rfrence du
dveloppeur) fournie avec Visio.
DirDvTraitLienX et
DirDvTraitLienY
Formes
repositionnables
La direction horizontale (X) ou verticale (Y)
d une dviation de connecteur. Dans le cas
de dviations horizontales, remplacez les
paramtres par dfaut de la page par Gauche
(1) ou Droite (2). Dans le cas de dviations
verticales, remplacez les paramtres par
dfaut de la page par Haut (1) ou par Bas (2).
StylePositionForme Formes
positionnables et
repositionnables
Le style et la direction d un connecteur sur la
page de dessin. Pour plus d informations sur
les valeurs ce cette cellule, recherchez
StylePositionForme dans l aide en ligne
Rfrence du dveloppeur fournie avec
Visio.
246 CHAP I TRE 11
Df init ion du comport ement des f ormes et des connect eurs
Lorsque vous crez une forme de base, ses paramtres Mise en page des formes
correspondent aux valeurs par dfaut de la page actuelle. Vous pouvez modifier ces
paramtres afin de dfinir la manire dont les occurrences dune forme de base
interagissent avec les autres formes lorsquun utilisateur manipule un dessin ou
choisit la commande Mettre en page les formes. Par exemple, vous pouvez, si vous le
souhaitez, permettre la superposition des formes. Vous pouvez galement faire en
sorte que les connecteurs se repositionnent en passant travers les formes plutt
quen les contournant.
Le mme processus sapplique aux formes de connecteur : vous pouvez modifier le
comportement des connecteurs dynamiques afin de fournir des interactions plus
personnalises lors de la mise en page automatique des formes. Par exemple, vous
pouvez tre amen empcher la dviation de certains connecteurs ou, au contraire,
dfinir une dviation de trait particulire pour les connecteurs qui peuvent tre
dvis.
Lorsque vous crez des formes de base, vous pouvez galement associer aux points de
connexion un comportement personnalis. Les points de connexion sont associs
une direction qui contrle le mode de connexion des connecteurs la forme. En
modifiant la direction dun point de connexion, vous pouvez contrler encore plus
prcisment la manire dont les connecteurs sont associs une forme.
REMARQUE : les options de direction des points de connexion ne sont disponibles que si
vous excutez Visio en mode Dveloppeur. (Pour ce faire, choisissez Outils > Options,
cliquez sur longlet Options avances, slectionnez Excuter sous le mode dveloppeur,
puis cliquez sur OK.)
RORGANI SATI ON DES FORMES D UN DESSI N 247
Pour modif ier la direct ion dun point de connexion :
1 Choisissez loutil de point de connexion ( dans la barre doutils Standard, puis
cliquez dessus pour slectionner un point de connexion.
2 Cliquez avec le bouton droit sur le point, puis choisissez une direction dans le
menu contextuel. La direction vers lextrieur ne peut pas tre utilise pour les
connexions point point.
3 Cliquez sur le triangle gris associ au point de connexion et faites-le glisser afin
dindiquer une direction. Lorsque le point de connexion a t activ, le triangle
devient vert.
Le changement de direction dun
point de connexion dtermine la
manire dont les connecteurs sont
associs cette forme.
A Pour relier le connecteur lextrieur de la forme, faites glisser le cercle du point de connexion
vers lintrieur de la forme.
B Vous ne pouvez tablir aucune connexion avec les points de connexion vers lextrieur. Ils
permettent uniquement de connecter deux formes par magntisme.
C Les points de connexion vers lintrieur et vers lextrieur fournissent de nombreuses options de
connexion.
A
B
C
Sommaire
12
Formes mises lchelle et
dessins cot s
Lorsque les dessins crs par les utilisateurs reprsentent des objets rel, des formes et
modles sont ncessaires pour quils puissent tre lchelle. Vous pouvez concevoir
des formes de base qui adoptent les dimensions adquates lorsque les utilisateurs les
insrent dans une page de dessin dote dune chelle, par exemple pouce = 1 pied.
Si vous concevez galement le modle, vous pouvez avoir la garantie que lchelle de la
page de dessin est compatible avec celle des formes de base fournies et les oprations
de dessin sont ainsi simplifies.
Ce chapitre explique comment choisir lchelle des dessins et des formes ; il indique
galement comment empcher la mise lchelle des formes, y compris dans un
dessin lchelle. Pour plus dinformations sur la conception dune grille pour les
dessins avec ou sans mise lchelle, et sur la cration de formes ajustes une grille,
reportez-vous au Chapter 11, Rorganisation des formes dun dessin. .
Choix dune chelle de dessin approprie........................................................... 250
Choix des chelles des formes de base................................................................ 253
Cration de formes non mises lchelle............................................................ 257
250 CHAP I TRE 12
Choix dune chelle de dessin approprie
Tout dessin reprsentant des objets physiques trop petits ou trop grands pour tre
dessins aisment, ou qui ne tiennent pas sur la feuille de papier, doit tre mis
lchelle. Par exemple, pour le plan dune maison, pouce sur la page de dessin peut
reprsenter 1 pied de la maison en ralit. Les schmas, tels que les diagrammes de
flux et les organigrammes, permettent de dcrire les objets abstraits ; par consquent,
ces types de dessin nont pas dchelle et les formes apparaissent leur taille relle.
Dans Microsoft
Visio
Visio
.
Ce chapitre explique comment peaufiner les formes, les gabarits et les modles. Il
dcrit galement comment intgrer une aide sur les formes et donne des instructions
dtailles pour tester votre travail en fonction de la mthode utilise par lquipe
dassurance qualit de Visio.
Conception de formes personnalises pour la distribution ............................... 260
Test des formes de base........................................................................................ 262
Ajout dune aide aux formes de base................................................................... 266
Finalisation et test dun gabarit............................................................................. 268
Finalisation et test dun modle............................................................................ 273
Installation des gabarits et des modles.............................................................. 277
260 CHAP I TRE 13
Concept ion de f ormes personnalises pour la dist ribut ion
Si vous prenez le temps de crer vos propres formes, vous envisagez certainement de
les rutiliser ou de les distribuer dans des gabarits et des modles afin que dautres
puissent les utiliser. Lobjectif dun travail de conception soign est de produire des
formes dont le fonctionnement correspond aux attentes des utilisateurs. Dans tout
travail de cration rptitif les rsultats saffinent au fur et mesure des tentatives :
cest le cas de la conception de formes.
Les lments qui fonctionnent sur votre systme peuvent ne pas fonctionner sur un
autre systme. Les installations de Microsoft
Windows
Visio
2000 et quil choisit Crer un dessin > Choisir le type de dessin dans la bote de
dialogue Bienvenue dans Visio 2000.
Si vous souhaitez installer vos fichiers de gabarit et de modle un autre
emplacement, vous pouvez redfinir le dossier par dfaut dans lequel Visio recherche
les fichiers. Pour ce faire, choisissez Outils > Options et cliquez sur longlet Chemins
d'accs. Dans la bote de dialogue Chemins d'accs, vous pouvez entrer un chemin
daccs par dfaut.
Dplacement des f ichiers de modle
Les noms des diffrents fichiers de gabarit et de dessin ouverts avec un modle sont
rpertoris dans la liste des espaces de travail du modle avec chemin daccs et nom
complets. Des problmes peuvent survenir lorsque des fichiers sont dplacs sur
dautres machines dont les lecteurs locaux ou de rseau ne sont pas configurs de la
mme faon. Pour prvenir en partie ces problmes, Visio procde aux vrifications
suivantes :
1 Lorsquun fichier de la liste des espaces de travail est sur le point dtre ouvert,
Visio commence par examiner le chemin daccs du fichier enregistr.
2 Si le chemin est exactement le mme que celui enregistr pour le fichier qui
contient la liste, Visio considre que ces fichiers se trouvent dans le mme dossier.
3 Visio cherche ce fichier dans le dossier en cours du fichier despace de travail.
Lorsque vous dplacez des fichiers, tant que vous copiez les gabarits et les modles
dans le mme dossier, Visio parvient localiser et ouvrir tous les fichiers de la liste
des espaces de travail.
Prot ect ion des gabarit s et des modles
Louverture en lecture seule est la meilleure faon dviter toute modification
accidentelle des gabarits et des modles. Aucune modification ne peut en effet tre
enregistre dans un fichier dans cet tat. Lorsque vous crez un modle, ouvrez en
lecture seule les fichiers de gabarit inclure avant denregistrer ce modle. Visio ouvre
ensuite automatiquement ces gabarits en lecture seule lorsquun utilisateur ouvre le
modle.
278 CHAP I TRE 13
Lorsque vous utilisez la commande Enregistrer ou Enregistrer sous, vous pouvez
activer loption Lecture seule pour faire bnficier un fichier Visio de la protection en
lecture seule de Windows. Lorsque vous procdez ainsi, les utilisateurs ne peuvent pas
ouvrir le fichier dorigine, mais seulement une copie.
Vous pouvez aussi protger un document par le biais de la commande Protger le
document. Cette commande empche lutilisateur de modifier les pages
darrire-plan dun modle, les formes de base dun gabarit, les formes dun dessin et
les styles du modle. Si vous entrez un mot de passe, les utilisateurs doivent le saisir
pour pouvoir modifier les lments concerns.
Pour protger un document, choisissez Affichage > Fentres > Drawing Explorer,
puis cliquez avec le bouton droit sur le nom de ce document. Vous pouvez alors
slectionner Protger le document dans le menu contextuel.
Sommaire
14
Aut omat ion et
le modle dobjet de Visio
Automation est le programme qui permet dintgrer les fonctionnalits du
programme Microsoft
Visio
Visual Basic
Visual Basic
Windows
95 ou ultrieure.
Tous les produits Microsoft
Visio
Visio
Cell
Cell
Row
Row
Section
Section
Cellule
Application
ActiveWindow
ActivePage
ActiveDocument
ThisDocument
UIObject
UIObject
Document
Documents
Window
Windows
VBE
StatusBar
StatusBars
ToolbarSet
ToolbarSets
AccelTable
AccelTables
MenuSet
MenuSets
VBProject
Color
Colors
Font
Fonts
Style
Styles
Page
Pages
Selection
Master
Page
Document
StatusBarItem
StatusBarItems
Toolbar
Toolbars
AccelItem
AccelItems
Menu
Menus
Shape
Shapes
Layer
Layers
OLEObject
OLEObjects
Connect
Connects
ToolbarItem
ToolbarItems
MenuItem
MenuItems
Path
Paths
Characters
Hyperlink
Hyperlinks
Connect
Connects
Shape. . .
Shapes
MenuItem
MenuItems
Global
Curve
Section
AddOn
AddOns
Ligne
1
6
5 Event
EventList
4
4
3
2
1 Lobjet ThisDocument est une copie
dun objet Document, disponible
uniquement lorsque vous utilisez
Microsoft Visual Basic pour
Applications.
2 Si lobjet Shape reprsente un
groupe, il comporte galement une
collection Shapes.
3 Si lobjet MenuItem, ToolBarItem
ou StatusBarItem reprsente un
menu hirarchique, il comporte
galement la collection
MenuItems, ToolBarItems ou
StatusBarItems correspondante.
4 Un objet UIObject peut reprsenter
des menus et des acclrateurs,
ou des barres doutils et des barres
dtat. Pour plus dinformations,
consultez le chapitre 22,
Personnalisation de linterface
utilisateur Visio du manuel
Developing Visio Solutions.
5 De nombreux objets Visio
possdent une collection EventList.
Pour plus dinformations, consultez
laide en ligne Visio Rfrence
Automation.
6 Lobjet global Visio nest disponible
que lorsque vous utilisez Visual
Basic pour Applications.
Reprsente un mode daccs
plus direct un objet considr
comme une proprit de lobjet
global Visio.
Object
Collection Occurrence
dun objet
Explications
MasterShortcut
MasterShortcuts
Master
Masters
Shape
Shapes
Layer
Layers
OLEObject
OLEObjects
Connect
Connects
Shape
Shapes
2
ToolbarItem
ToolbarItems
3
StatusBarItem
StatusBarItems
3
StatusBars
ToolbarSets
AccelTables
MenuSets
StatusBarItems
Toolbars
AccelItems
Menus
AddOns
EventList
Documents
Windows
Colors
Fonts
Styles
Pages
Shapes
Layers
OLEObjects
Connects
ToolbarItems
MenuItems
Paths
Hyperlinks
Connects
Shapes
MenuItems
MasterShortcuts
Masters
Shapes
Layers
OLEObjects
Connects
Shapes
ToolbarItems
StatusBarItems
Global
Collection
282 CHAP I TRE 14
La plupart des objets du modle correspondent des lments visibles et
manipulables dans Visio. Par exemple, lobjet Shape reprsente un lment dune
page de dessin Visio slectionnable avec loutil Pointeur, savoir une forme, un
groupe, un repre ou un objet issu dune autre application, et li, incorpor ou
import dans un dessin Visio.
Les objets Visio rsident dans une copie de Visio (un programme VBA est excut
dans une copie de Visio, puis accde aux objets dont il a besoin). Un programme
externe est excut de faon autonome par rapport Visio ; il lance donc lapplication
Visio ou accde une session en cours. Il accde ensuite aux objets Visio dont il a
besoin.
Certains objets reprsentent des collections dautres objets. Une collection contient un
nombre variable dobjets dun type prcis. Par exemple, lobjet Document reprsente
un document ouvert dans une copie de Visio ; la collection Documents reprsente
tous les documents ouverts dans cette copie. Pour plus dinformations sur les
collections, reportez-vous la section Rfrence un objet dune collection ,
page 285.
De nombreux objets UI Visio
correspondent des lments
visibles sur la page de dessin de
linterface utilisateur.
A Objet global/Application
B Objets Document
C Objet Page
D Objet Master
E Objet Selection
F Objet Shape
G Objets Window
B
C
D
E
F
G
A
AUTOMATI ON ET L E MODL E D OBJ ET DE VI SI O 283
Lutilisation dun objet Visio se fait en deux tapes : vous rcuprez une rfrence
lobjet, puis vous utilisez les proprits et les mthodes de ce dernier pour effectuer
des oprations. Rcuprer une rfrence un objet consiste gnralement lire une
proprit dun objet situ plus haut dans le modle dobjet de Visio. La plupart des
objets sont utiliss pour accder dautres objets. Par exemple, pour rcuprer une
rfrence un objet Shape, vous devez rcuprer des rfrences aux objets situs plus
haut dans le modle dobjet ( la page qui contient la forme et au document qui
contient la page, par exemple).
Pour obtenir la liste rcapitulative des objets, des proprits, des mthodes et des
vnements Visio, reportez-vous lannexe A, Proprits, mthodes et vnements
classs par objet .
Rcuprat ion et librat ion dobjet s Visio
Pour rcuprer un objet, il faut dclarer une variable objet, effectuer une recherche
dans le modle dobjet pour tablir une rfrence cet objet que vous souhaitez
contrler, puis attribuer la rfrence la variable objet. Vous pouvez ensuite dfinir
les valeurs des proprits de cet objet ou utiliser des mthodes permettant de
contrler lobjet.
Dclarat ion de variables objet s
Une variable stockant une rfrence un objet Visio doit tre dclare avec un type
dobjet Visio, comme Visio.Page ou Visio.Document, dfini dans la bibliothque de
types de Visio. Une fois que vous avez rcupr lobjet que vous souhaitez contrler,
la dclaration Set vous permet dattribuer la rfrence la variable de lobjet.
Il nest pas toujours ncessaire dattribuer dautres rfrences dobjet des variables,
mais cette opration est en gnral conseille, notamment si le programme fait
rfrence plusieurs fois aux mmes objets. La plupart des programmes comportent au
moins une variable objet stockant, par exemple, une rfrence lobjet Page qui
reprsente la page manipule par le programme. Les objets auxquels vous faites
rfrence dpendent de lutilisation du programme. Il est impossible de stocker la
valeur dune variable objet entre les excutions dun programme. Une rfrence
dobjet quivaut un pointeur vers une adresse mmoire : sa valeur peut diffrer
chaque fois que le programme est excut.
284 CHAP I TRE 14
Une variable peut galement tre dclare avec le type gnrique Object. Cependant,
lutilisation des types dobjet de Visio augmente la rapidit de votre programme et
limine les risques de confusion ou de conflits qui pourraient se produire dans les
noms des objets et des proprits lorsque vous programmez avec dautres applications
et avec Visio. Par exemple, lorsque vous dclarez une variable objet pour une page de
Visio, utilisez la syntaxe suivante :
Vous pourriez liminer Visio et nutiliser que Page, mais les autres applications
utilises peuvent comporter un objet Page. Par exemple, Microsoft
Excel comporte
un objet Cell, comme le moteur Visio, mais ces deux objets sont diffrents et ne sont
pas interchangeables.
Les variables dclares peuvent tre locales, de niveau module ou globales. La porte
adopte dpend de lutilisation de ces variables dans le programme. Pour plus
dinformations sur la dclaration des variables, reportez-vous laide en ligne de
Microsoft Visual Basic.
Accs aux objet s de Visio via les proprit s
La plupart des objets Visio ont des proprits dont la valeur fait rfrence dautres
objets. Vous pouvez utiliser ces proprits pour accder aux objets que vous souhaitez
contrler, par lintermdiaire des diverses couches du modle dobjet.
Prenez lexemple suivant : lobjet que vous souhaitez contrler est lobjet Shape. Vous
accdez tout dabord au modle dobjet via lobjet de niveau suprieur, soit lobjet
Application. La proprit Documents dun objet Application renvoie une
collection Documents. Vous progressez dans le modle dobjet de la manire
suivante :
La proprit Documents dun objet Application renvoie une rfrence la
collection Documents.
La proprit Item dune collection Documents renvoie une rfrence un objet
Document.
La proprit Pages dun objet Document renvoie une rfrence la collection
Pages.
La proprit Item dune collection Pages renvoie une rfrence un objet Page.
La proprit Shapes dun objet Page renvoie une rfrence la collection Shapes.
La proprit Item dune collection Shapes renvoie une rfrence un objet Shape.
Inversement, la plupart des objets ont une proprit faisant rfrence lobjet situ
au-dessus dans la hirarchie, comme la proprit Document dun objet Page, qui fait
rfrence lobjet Document qui contient lobjet Page.
01m page0b As v1s1o.Page
AUTOMATI ON ET L E MODL E D OBJ ET DE VI SI O 285
Rf rence un objet dune collect ion
Une collection est un objet reprsentant un nombre variable dobjets de mme type.
Vous pouvez effectuer des itrations dans une collection pour effectuer la mme
opration sur tous ses objets, ou tablir une rfrence un objet de la collection.
Chaque collection comporte deux proprits permettant de faire rfrence aux objets
de la collection :
La proprit Item renvoie une rfrence un objet dune collection ; il sagit de la
proprit par dfaut de la plupart des collections.
La proprit Count renvoie le nombre dobjets de la collection. Pour plus
dinformations sur la proprit Count, reportez-vous la section Itration dans
une collection , page 286 de ce chapitre.
La proprit Item reoit un argument numrique reprsentant lindice de lobjet,
cest--dire sa position ordinale dans la collection. Le premier lment de la plupart
des collections porte le numro 1. Par exemple, si la proprit Index de lobjet
Document renvoie 5, cela signifie que cet objet Document est le cinquime membre
de sa collection Documents.
Les collections suivantes, toutefois, sont indexes partir de 0, et non de 1 :
AccelTables, StatusBars, AccelItems, StatusBarItems, Colors, ToolbarSets,
MenuSets, Toolbars, Menus, ToolbarItems, MenuItems et Hyperlinks. Si la
proprit Index dun objet de lune de ces collections renvoie le numro 5, cet objet
est alors le sixime membre de sa collection.
Pour rcuprer un objet en indiquant son indice, utilisez par exemple le code suivant
(shpsObj reprsente une collection Shapes) :
Si la page comporte au moins une forme, cette instruction renvoie une rfrence au
premier objet Shape de la collection Shapes. Si la collection est vide, linstruction
provoque une erreur.
Sef app0b = v1s1o.App11caf1oh
Sef docs0b = app0b.0ocumehfs
Sef doc0b = 0ocumehfs.Tfem|1)
Sef pags0b = doc0b.Pages
Sef pag0b = pags0b.Tfem|1)
Sef shps0b = pag0b.Shapes
Sef shp0b = shps0b.Tfem|1)
286 CHAP I TRE 14
CONSEIL : vous pouvez vrifier que la proprit Count dune collection nest pas gale 0
avant dutiliser Item.
Objet Shape et objets connexes
situs plus haut dans le modle
dobjet de Visio
Avec certaines collections (Documents, Pages, Masters, Shapes ou Styles), la
proprit Item peut galement recevoir un argument de chane indiquant le nom de
lobjet, ce qui peut tre plus pratique que de faire rfrence un objet par son indice.
Par exemple, le code suivant rcupre lobjet Master appel 2-D Double dans la
collection Masters.
It rat ion dans une collect ion
La proprit Count dune collection renvoie le nombre dobjets de cette dernire. Si la
proprit Count a la valeur 0, la collection est vide. Par exemple, linstruction
suivante affiche le nombre de documents ouverts dans une copie de Visio :
En gnral, la proprit Count est utilise pour fixer la limite dune boucle ditration.
Remarquez lutilisation de Count dans linstruction For de lexemple ci-dessous. La
boucle For tourne sur la collection Documents, en vrifiant les trois derniers
caractres du nom de fichier de chaque objet Document. Si ces caractres sont vss (ce
qui indique que le document est un gabarit), son nom est ajout une zone de liste
droulante modifiable.
Le code situ dans ce type de boucle ne doit pas changer le nombre dobjets de la
collection (par exemple, en ajoutant ou en supprimant des objets). Sinon, la valeur de
Count change chaque itration de la boucle.
Sef masf0b = masfs0b|"2-0 0oub1e")
Msgox "0uv1 1es documehfs = " & Sf$|0ocumehfs.Couhf)
Sef docs = appv1s1o.0ocumehfs
Io Each doc0b Th docs0b
Tf uCase|P1ghf|doc0b.hame, 3)) = "vss" Theh
Comboox1.AddTfem doc0b.Iu11hame
Ehd Tf
hexf
Pages
Pages
Document
Documents
Shape
Shapes
Application
Pages
Documents
Shapes
AUTOMATI ON ET L E MODL E D OBJ ET DE VI SI O 287
Pour supprimer des objets dune collection laide dune boucle, dcrmentez le
compteur au lieu de lincrmenter. Chaque fois quun lment est supprim de la
collection, Count diminue de 1 et les lments restants changent de position ; cest
pourquoi une boucle incrmentielle risque de sauter des lments. Utilisez la place
la boucle suivante :
Librat ion dun objet
Un objet dun programme est automatiquement libr lorsque lexcution du
programme prend fin ou lorsque toutes les variables objets faisant rfrence cet
objet sont hors de porte. Si une variable objet est locale, cest--dire propre une
procdure, elle est hors de porte ds que lexcution de cette dernire prend fin. Si la
variable objet est globale, elle subsiste tant que le programme est en cours dexcution,
sauf si lobjet est libr explicitement.
La libration dun objet dans un programme est sans incidence sur lobjet
correspondant de la copie de Visio. Par exemple, la libration dun objet Document
ne ferme pas le document Visio correspondant. Ce document reste ouvert, mais le
programme ne peut plus y accder.
Pour librer explicitement un objet, attribuez la valeur Visual Basic Nothing sa
variable objet. Par exemple :
Si vous attribuez la mme rfrence dobjet plusieurs variables, noubliez pas de les
associer toutes Nothing la libration de lobjet.
Ne librez pas un objet avant davoir fini de lutiliser. Une fois lobjet libr, le
programme ne peut plus faire rfrence lobjet correspondant dans la copie de Visio.
Par exemple, si vous librez un objet Document, le programme ne peut plus
manipuler ce document Visio ; il lui est donc impossible de lenregistrer ou de le
fermer, ou encore den extraire des objets.
Cependant, vous devrez peut-tre librer explicitement un objet dans votre
programme si la rfrence dobjet est devenue incorrecte. Par exemple, si lutilisateur
ferme le document Visio ou supprime une forme, les rfrences ces objets
deviennent incorrectes. Une erreur se produit si vous tentez dutiliser une variable
objet contenant une rfrence dobjet non valide.
01m shps0b As v1s1o.Shapes
Io 1 = Acf1vePage.shps0b.Couhf To 1 Sfep -1
shps0b|1).0e1efe
hexf 1
Sef doc0b = hofh1hg
288 CHAP I TRE 14
Ut ilisat ion de rf rences dobjet composes
Vous pouvez concatner des rfrences dobjet, des proprits et des rfrences Visio
dans une mme instruction, comme avec les objets Microsoft Visual Basic pour
Applications (VBA). Cependant, les rfrences simples sont parfois plus efficaces,
mme si elles ncessitent plusieurs lignes de code.
Par exemple, linstruction suivante fait rfrence la premire forme de la troisime
page du premier document ouvert dans une copie de Visio :
Lexcution de cette instruction extrait un seul objet, lobjet Shape attribu shpObj.
Comparez-la la srie dinstructions ci-dessous utilisant des rfrences dobjet
simples :
Lexcution de ces instructions extrait cinq objets : un objet Document, une
collection Pages, un objet Page, une collection Shapes et un objet Shape. Les
rfrences ces objets, attribues des variables, peuvent tre rutilises
ultrieurement, contrairement lexemple prcdent. Si votre programme risque de
devoir accder aux objets intermdiaires, la lecture et la maintenance de votre code
seront facilites si vous les rcuprez de cette manire.
Limit at ion de la port e et de la dure de vie des variables
objet s
Les rfrences dobjet existent indpendamment de llment vers lequel elles
pointent ; cest pourquoi elles peuvent tre rendues incorrectes par des actions de
lutilisateur incontrlables par le programme. Par exemple, si vous avez tabli une
rfrence un objet Shape et si lutilisateur supprime la forme correspondante, la
rfrence, qui existe toujours dans le programme, est incorrecte car elle pointe vers
une forme qui nexiste plus.
Pour viter que des rfrences soient incorrectes, il est conseill de limiter la porte et
la dure de vie des variables objets. Par exemple, lorsque lexcution du programme
reprend, aprs des manipulations effectues par lutilisateur, vous pouvez librer
certains objets et les rcuprer de nouveau pour vrifier quils sont toujours
disponibles et que le programme fait rfrence des objets dans leur tat actuel.
Sef shpob = 0ocumehfs|1).Pages|3).Shapes|1)
Sef doc0b = 0ocumehfs.Tfem|1)
Sef pags0b = doc0b.Pages
Sef pag0b = pags0b.Tfem|3)
Sef shps0b = pag0b.Shapes
Sef shp0b = shps0b.Tfem|1)
AUTOMATI ON ET L E MODL E D OBJ ET DE VI SI O 289
La faon la plus sre de conserver des rfrences dobjet valides est de capturer les
vnements dclenchs par lobjet auquel vous faites rfrence. Par exemple, si vous
avez tabli une rfrence un objet Shape, vous pouvez grer tout vnement qui
peut entraner linvalidation de la variable (par exemple, lvnement
BeforeShapeDelete). Pour plus dinformations sur la gestion des vnements de votre
programme, reportez-vous au chapitre 21, Gestion des vnements dans Visio .
Ut ilisat ion des proprit s et des mt hodes
Une fois que vous avez tabli une rfrence un objet, vous pouvez rcuprer et
dfinir les valeurs de ses proprits, ou utiliser les mthodes qui font que lobjet
excute les actions. Pour les proprits et mthodes qui ont des valeurs ou des
arguments renvoys, vous devez dclarer des variables dans votre programme. Ces
variables peuvent tre des rfrences dobjet, ou peuvent avoir pour valeur une chane
ou un nombre. Par exemple, la valeur de la proprit Text dun objet Shape est une
chane, savoir le texte affich dans la forme correspondante.
Dclarat ion de variables ut ilisables comme valeurs
renvoyes et comme argument s
Lorsque vous dclarez des variables utilisables comme valeurs renvoyes par les
proprits ou les mthodes, dclarez une variable avec un type de donnes explicite ou
avec le type de donnes Variant de Microsoft Visual Basic, et utilisez une instruction
simple pour attribuer cette valeur la variable.
Les mmes rgles sappliquent lorsque vous dclarez des variables pour les utiliser
comme arguments de proprits ou de mthodes : utilisez des variables objets pour les
objets, et le type de donnes Variant ou un type de donnes explicite appropri pour
les autres valeurs.
Pour plus dinformations sur la dclaration des variables objets, reportez-vous la
section Dclaration de variables objets , page 283. Par ailleurs, toutes les variables
de proprit et de mthode sont prsentes dans laide en ligne Automation Reference
fournie avec Visio.
Lect ure et df init ion des proprit s
Les proprits dfinissent souvent laspect dun objet. Par exemple, linstruction
suivante dfinit la proprit Text dun objet Shape :
shp0b.Texf = "ohou a fous !"
290 CHAP I TRE 14
Linstruction suivante lit le texte de la forme :
Certaines proprits reoivent des arguments. Par exemple, la proprit Cells de
lobjet Shape reoit une expression de chane indiquant une cellule particulire de la
forme correspondante. Lorsquune proprit reoit des arguments, entourez-les de
parenthses. Par exemple, linstruction suivante dfinit la formule de la cellule AxeX.
Linstruction suivante lit la formule de la cellule AxeX et la stocke dans strPinX :
La plupart des proprits des objets de Visio sont en lecture/criture, cest--dire que
vous pouvez lire et dfinir leur valeur. Certaines proprits sont en lecture seule ; vous
pouvez les lire, mais il nest pas possible de les redfinir. Par exemple, vous pouvez lire
la proprit Application dun objet pour identifier la copie de Visio le contenant,
mais il est impossible de redfinir la valeur de cette proprit pour transfrer lobjet
vers une autre copie.
Quelques proprits sont en criture seule, cest--dire que leur valeur peut
uniquement tre dfinie. Ces proprits grent gnralement un cas particulier pour
des proprits quivalentes en lecture/criture. Par exemple, vous pouvez modifier la
formule dune cellule en dfinissant sa proprit Formula, sauf si la formule est
protge par la fonction PROTECTION. Dans ce cas, vous devez utiliser la proprit
FormulaForce pour redfinir la formule. Cependant, il est impossible de rcuprer la
formule dune cellule en utilisant FormulaForce ; vous devez employer Formula,
mme si la formule est protge.
Pour plus dinformations sur les proprits (en lecture/criture, en lecture seule et en
criture seule) et les mthodes, reportez-vous laide en ligne Developer Reference
(accessible via ? (Aide) > Rfrence du dveloppeur) fournie avec Visio.
Ut ilisat ion de la proprit par df aut dun objet
La plupart des objets comportent une proprit par dfaut qui est utilise si vous ne
prcisez pas de proprit lorsque vous faites rfrence lobjet. Par exemple, la
proprit par dfaut de lobjet Document est Name, cest pourquoi les deux
instructions suivantes renvoient la mme valeur :
shpTexf = shp0b.Texf
shp0b.Ce11s|"AxeX").Iomu1a = "4,2S po."
sfP1hX = shp0b.Ce11s|"AxeX").Iomu1a
dochame = 0ocumehfs|S).hame fomaf 1ohg
dochame = 0ocumehfs|S) fomaf couf
AUTOMATI ON ET L E MODL E D OBJ ET DE VI SI O 291
La proprit par dfaut de la plupart des collections est Item; vous pouvez ainsi
utiliser linstruction suivante pour accder un objet dune collection :
Pour dfinir la proprit par dfaut dun objet Visio, recherchez cet objet dans laide
en ligne Automation Reference fournie avec Visio. La proprit par dfaut dun objet
Visio est galement repre par un point bleu dans lexplorateur dobjets. Pour plus
dinformations sur cet explorateur, reportez-vous la section Utilisation de
lexplorateur dobjets , page 303.
Ut ilisat ion de mt hodes
Les mthodes correspondent souvent aux commandes de Visio. Par exemple, lobjet
Shape comporte une mthode Copy qui quivaut slectionner une forme et
choisir la commande Copier dans le menu Edition de Visio. Les autres mthodes
correspondent dautres actions. Par exemple, lobjet Fentre comporte une mthode
Activate qui permet dactiver la fentre correspondante, ce qui revient slectionner
cette dernire laide de la souris.
La syntaxe permettant dutiliser une mthode est comparable celle employe pour
dfinir une proprit. Si une mthode cre un objet, comme lobjet Page, elle renvoie
une rfrence lobjet cr, comme dans lexemple suivant. En gnral, les mthodes
qui ne crent pas dobjets ne renvoient pas de valeur.
Sef shp0b = shps0b.Tfem|1) fomaf 1ohg
Sef shp0b = shps0b|1) fomaf couf
01m pag0b As v1s1o.Page
Sef pag0b = pags0b.Add
Sommaire
15
Programmat ion dans Visio
avec Microsof t VBA
Chaque langage de programmation qui prend en charge Automation peut servir
crire des programmes qui permettent daccder des objets Microsoft
Visio
,
rcuprer et paramtrer des proprits, appeler des mthodes et recevoir des
vnements. Les produits Visio fournissent un environnement de dveloppement
intgr standard idal pour la mise au point de projets Microsoft
Visual Basic
pour
Applications (VBA).
Si votre solution utilise Automation pour grer les formes et les dessins, lire des
donnes de sources externes ou en crire (comme une base de donnes) ou agir en
interaction avec dautres applications, vous pouvez crire du code VBA dans
lapplication Visio pour accomplir ces tches. Lenvironnement de dveloppement
intgr VBA Visio est compatible avec lenvironnement de dveloppement intgr
dans toutes les applications actives par VBA, par exemple, Microsoft
Office. Si vous
avez utilis VBA dans lune de ces applications, lenvironnement Visio vous semblera
familier.
Ce chapitre est un bref aperu de certaines tches communes qui utilisent VBA dans
Visio. Pour obtenir des dtails complets sur lutilisation de lenvironnement de
dveloppement VBA et sur lcriture du code VBA, reportez-vous laide en ligne
livre avec VBA.
Utilisation de lEditeur Visual Basic...................................................................... 294
Cration dun projet VBA....................................................................................... 298
Utilisation de la bibliothque de types Visio ....................................................... 303
Utilisation des objets global et ThisDocument.................................................... 306
Excution du code VBA depuis Visio.................................................................... 310
Gestion des erreurs................................................................................................ 313
Gestion dun projet VBA........................................................................................ 315
294 CHAP I TRE 15
Ut ilisat ion de lEdit eur Visual Basic
Pour crer un programme Microsoft Visual Basic pour Applications (VBA), vous
devez crer un projet VBA laide de lEditeur Visual Basic. Chaque document ou
fichier Visio contient un projet auquel vous pouvez ajouter des modules et des
formulaires, en fonction des besoins de votre solution. Au minimum, chaque projet
contient un module de classe ThisDocument. Ce module de classe reprsente les
proprits, mthodes et vnements dun document associ votre projet Visio VBA.
Editeur Visual Basic :
lenvironnement VBA
A Lexplorateur de projet affiche la listes de projets et des lments de projet contenus dans les
documents Visio.
B La fentre Proprits affiche la liste des proprits de llment slectionn.
C Fentre de code
D Lespace de travail de programmation affiche tous les modules ouverts, les modules de classe et
les formulaires utilisateur au cours de la cration. Le programme est cr dans cette zone.
E La barre de menus affiche les commandes utiliser pour crer, excuter et dboguer votre
programme.
F La barre doutils permet daccder rapidement aux commandes frquemment utilises dans
lenvironnement de dveloppement.
Dans la fentre de code, vous pouvez crire, afficher et modifier le code des nouvelles
procdures ou des procdures dvnement existantes. Vous pouvez ouvrir le nombre
ncessaire de fentres de code sur diffrents modules, modules de classe ou
formulaires utilisateur de manire pouvoir facilement visualiser le code, le copier et
le coller dune fentre lautre.
A
B
C
D
E F
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 295
Dmarrage de lEdit eur Visual Basic
Vous pouvez dmarrer lEditeur Visual Basic sans ouvrir de document Visio, mais
vous pouvez commencer par ouvrir un document pour voir le projet VBA de ce
document. Loccurrence Visio ajoute seulement des projets aux documents ouverts en
tant quOriginal ou Copie ; en revanche, si le document comporte dj un projet,
vous pouvez visualiser ce projet en lecture seule.
Pour dmarrer lEdit eur Visual Basic
1 Dmarrez lapplication Visio et ouvrez un modle, un gabarit ou un dessin en
slectionnant Original ou Copie, pas Lecture seule.
2 Choisissez Outils > Macros > Editeur Visual Basic ou cliquez sur le bouton Editeur
Visual Basic ( de la barre doutils Dveloppeur.
Dans VBA, vous pouvez personnaliser votre environnement de travail en paramtrant
les options comme la taille de la police, la couleur du code, les options derreurs de
syntaxe ainsi que les exigences en matire de dclaration de variables.
Pour paramt rer les opt ions denvironnement dans lEdit eur Visual Basic :
Choisissez Outils > Options, cliquez sur longlet Format de lditeur et paramtrez
les options souhaites.
Par dfaut, les projets auront le mme nom que le document avec lequel ils sont
associs. En revanche, chaque projet dispose dune fentre Proprits dans laquelle
vous pouvez renommer votre projet et fournir des informations supplmentaires
(dcrire le projet, par exemple). Vous pouvez galement verrouiller votre projet.
Pour ouvrir la f ent re Proprit s :
Choisissez Outils > Nom du projet > Proprits et paramtrez les proprits du
projet. Vous pouvez galement cliquer avec le bouton droit sur le nom du projet
dans lexplorateur de projet.
296 CHAP I TRE 15
Navigat ion parmi les projet s
Pour parcourir les projets dans lEditeur Visual Basic, utilisez lexplorateur de projet.
Celle-ci rpertorie les modules, les modules de classe et les formulaires utilisateur des
projets de tous les fichiers Visio ouverts. Vous pouvez double-cliquer sur un module,
un module de classe ou un formulaire utilisateur dans lexplorateur de projet pour
ouvrir sa fentre de code.
Explorateur de projet affichant cinq
fichiers Visio ouverts dans une
occurrence Visio
A Gabarit des diagrammes de base et lments de son projet ; ouvert avec accs lecture/criture.
B Dessin Visio ouvert et lments de son projet ; ce dessin na pas t enregistr.
C Dessin Visio ouvert, enregistr sous Agencement despaces, et lments de son projet.
Si vous ne voyez pas lexplorateur de projet lorsque vous ouvrez lEditeur Visual
Basic, choisissez Affichage > Explorateur de projet.
Enregist rement dun projet
Un projet VBA est stock dans le document Visio le contenant. Un document Visio
peut tre enregistr sous lun des types de fichier suivants :
Modle (.vst)
Gabarit (.vss)
Dessin (.vsd)
A
B
C
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 297
Lorsquun utilisateur cre un document Visio partir dun modle, loccurrence
Visio copie le projet VBA et ses lments dans le nouveau document.
Exemple de dessin Visio aprs ajout
dlments dans le projet par
dfaut et enregistrement du dessin.
A Premire procdure Sub dans le module (macro)
B Premire procdure Function dans le module (fonction dfinie par lutilisateur)
Pour enregist rer le document Visio et son projet VBA :
Dans linterface utilisateur Visio, choisissez Fichier > Enregistrer. Dans lEditeur
Visual Basic, choisissez Fichier > Enregistrer Nom de fichier.
Dans lexplorateur de projet de VBA, le nom de fichier et lemplacement du
document sont affichs entre parenthses aprs le nom du projet.
298 CHAP I TRE 15
Crat ion dun projet VBA
Un projet Microsoft Visual Basic pour Applications (VBA) est constitu de modules,
de modules de classe et de formulaires utilisateur.
Un module est une srie de dclarations suivies de procdures, soit une liste
dinstructions quun programme excute.
Un module de classe dfinit un objet, ses proprits et ses mthodes. Il agit comme
un modle partir duquel loccurrence dun objet est cre au moment de
lexcution. Chaque projet VBA de type Visio contient un module de classe appel
ThisDocument ; ce module de classe reprsente les proprits, les mthodes et les
vnements du document Visio contenant le projet VBA.
Un formulaire utilisateur contient les commandes de linterface utilisateur, comme
les boutons de commande et les zones de texte.
Des projets complexes peuvent contenir plusieurs modules, modules de classe et
formulaires utilisateur, un projet simple peut nexiger quun seul formulaire
utilisateur ou module. Par exemple, une solution gnrant un dessin peut inclure un
formulaire utilisateur pour rassembler les informations de lutilisateur. Elle peut aussi
inclure du code, organis en un ou en plusieurs modules et/ou modules de classe, qui
effectue les oprations suivantes :
Il valide la saisie de lutilisateur.
Il traduit le code en donnes qui serviront gnrer un dessin.
Il utilise Automation pour crer le dessin dans la fentre de dessin Visio.
Si la solution doit tre excute en rponse un vnement, comme louverture dun
document, elle peut inclure du code devant tre excut lorsque cet vnement se
produit.
Vous pouvez ajouter dans votre projet des modules, des modules de classe ou des
formulaires utilisateur en important des fichiers ; vous pouvez aussi exporter des
lments du projet pour les utiliser dans dautres projets. Vous pouvez aussi insrer
un contrle ActiveX
Word, paramtrer une rfrence Visio afin dutiliser des objets Visio dans Word.
A
B
C
E
D
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 305
Toutes les bibliothques de types coches dans la liste Rfrences disponibles
apparatront dans la zone de projet/bibliothque de votre projet. Vous pouvez aussi
paramtrer une rfrence tout document Visio ouvert ou accder tout document
ferm dans la bote de dialogue des rfrences.
Liste Rfrences disponibles
tendue
REMARQUE : pour nafficher que la classe et les membres de la bibliothque de types Visio,
choisissez Visio dans la zone de projet/bibliothque.
Ut ilisat ion des t ypes dobjet Visio
La bibliothque de types Visio prsente des fonctionnalits qui vous permettent de
travailler plus efficacement lors de lcriture du code. A laide de types dobjet Visio
dclars dans la bibliothque de types, vous pouvez dclarer des variables sous la
forme de types spcifiques, comme Visio.Page :
Lutilisation dun type dobjet Visio, comme Visio.Page, permet votre programme,
au moment de la compilation, de vrifier le type dobjet auquel il fait rfrence dans la
bibliothque de types Visio. Cette fonctionnalit sappelle liaison prliminaire. Cet
exemple utilise Visio pour informer le programme quil fait rfrence aux types
dobjet Visio dans la bibliothque de types Visio et quil utilise Page pour linformer
que la variable pagObj est un objet Page. Pour plus dinformations sur les objets Visio,
reportez-vous au Chapitre 14, Automation et le modle dobjet de Visio .
01m pag0b as v1s1o.Page
306 CHAP I TRE 15
Voici quelques types dobjet frquents :
Lorsque vous saisissez un point aprs un objet ou un type de bibliothque, une liste
apparat automatiquement : elle contient les types dobjet, les proprits et les
mthodes disponibles de lobjet prcdent ou du type de variable. Pour insrer dans le
code un type dobjet de la liste, double-cliquez sur ce type.
CONSEIL : si la fentre de liste automatique napparat pas lorsque vous travaillez dans la
fentre de code, choisissez Outils > Options > Editeur et cochez Complment automatique
des instructions.
Dans cet exemple, le type dobjet appropri est Page.
Fentre de liste automatique de la
bibliothque de types Visio
Ut ilisat ion des objet s global et ThisDocument
A la diffrence dun programme autonome qui doit obtenir une rfrence lobjet
Application Visio en la crant ou en la rcuprant, le code dun projet Microsoft Visual
Basic pour Applications (VBA) sexcute dans une occurrence Visio en cours
dexcution pour que vous nayez pas obtenir de rfrence lobjet Application. Le
moteur Visio fournit lobjet global qui reprsente loccurrence Visio. Le moteur Visio
fournit aussi lobjet ThisDocument qui reprsente le document Visio associ au projet.
01m docs0b As v1s1o.0ocumehfs uhe co11ecf1oh de documehfs
01m doc0b As v1s1o.0ocumehf uh obef documehf
01m shps0b As v1s1o.Shapes uhe co11ecf1oh de fomes |Shapes)
01m shp0b As v1s1o Shape uh obef fome |Shape)
01m masf0b As v1s1o.Masfe uh obef fome de base |Masfe)
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 307
Ut ilisat ion de lobjet global Visio
Lobjet global reprsente loccurrence et permet un accs plus direct certaines
proprits. Les proprits de lobjet global Visio ne sont pas prfixes avec une
rfrence un objet.
Objet global Visio et ses proprits
Lobjet Application est une proprit de lobjet global Visio, qui vous permet
daccder aux proprits de lobjet Application en faisant directement rfrence la
proprit Application de lobjet global Visio.
Voici trois exemples de code qui rcuprent le premier document dun ensemble
Documents, tous les trois utilisant une syntaxe diffrente.
Lexemple 1 cre un objet Application. Ce code est gnralement utilis lors de
lcriture dun programme externe :
Lexemple 2 utilise la proprit Application de lobjet global Visio :
01m appv1s1o As v1s1o.App11caf1oh
01m docs0b As v1s1o.0ocumehfs
01m doc0b As v1s1o.0ocumehf
Sef appv1s1o = Ceafe0becf|"v1s1o.app11caf1oh")
Sef docs0b = appv1s1o.0ocumehfs
Sef doc0b = docs0b.Tfem|1)
01m docs0b As v1s1o.0ocumehfs
01m doc0b As v1s1o.0ocumehf
Sef docs0b = App11caf1oh.0ocumehfs
Sef doc0b = docs0b.Tfem|1)
Application
ActiveDocument
Global
Document
Documents
Window
Windows
ActivePage
ActiveWindow
Addon
Addons
VBE
Documents
Windows
Addons
308 CHAP I TRE 15
Lexemple 3 permet daccder directement la proprit Documents de lobjet global
Visio :
Notez dans les exemples 2 et 3 que Application et Documents ne sont pas prcds
dun objet. Lorsque vous faites rfrence une proprit ou une mthode
quelconque de lobjet global Visio, il nest pas ncessaire de dclarer une variable pour
lobjet global ni de le rfrencer comme tant lobjet qui prcde une proprit
lobjet global est implicite. Le troisime exemple est la mthode daccs la plus directe
la collection Documents dun projet VBA.
Voici des exemples de code pour les proprits les plus frquentes de lobjet global
Visio :
Pour plus dinformations sur les proprits et les mthodes de lobjet global Visio,
reportez-vous laide en ligne Rfrence du dveloppeur (choisissez ? (Aide) >
Rfrence du dveloppeur) fournie avec Visio.
REMARQUE : Lobjet global Visio est disponible seulement lorsque vous crivez du code
dans le projet VBA dun document Visio.
Ut ilisat ion de lobjet ThisDocument
Dans lapplication Visio, chaque projet VBA contient un module de classe par dfaut
appel ThisDocument qui reprsente les proprits, les mthodes et les vnements
du document associ au projet. Comme tout module de classe, dautres programmes
peuvent accder ThisDocument au moment de lexcution.
Objet Document et objets
suprieurs associs dans le module
dobjet Visio
Si vous souhaitez manipuler un document, mais pas ncessairement le document
associ au projet VBA, rcuprez lobjet Document de la collection Documents. Pour
manipuler le document associ au projet VBA, utilisez lobjet ThisDocument.
01m doc0b As v1s1o.0ocumehf
Sef doc0b = 0ocumehfs.Tfem|1)
Sef doc0b = Acf1ve0ocumehf
Sef pag0b = Acf1vePage
Sef W1h0b = Acf1veW1hdoW
Global
Document
Documents
ActiveDocument
ThisDocument
Documents
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 309
Par exemple, pour rfrencer la premire page du dessin Bonjour.vsd, vous pouvez
rcuprer lobjet Document de lensemble Documents de lobjet global. Lexemple
suivant rcupre la premire page de Bonjour.vsd de la collection Pages du document.
Si Bonjour.vsd est le document associ votre projet VBA, il vous suffit dutiliser
lobjet ThisDocument comme dans lexemple suivant :
Une fois que vous faites rfrence un objet Document, extrayez dautres objets Visio
en rcuprant les proprits de lobjet Document, puis des autres objets de la
hirarchie.
Vous pouvez ajouter des proprits et des mthodes lobjet ThisDocument, car il
sagit dun objet extensible, cest--dire dun objet dont les fonctionnalits peuvent tre
tendues. Lobjet ThisDocument est le seul objet extensible fourni par le moteur
Visio. Vous pouvez aussi slectionner ThisDocument dans lexplorateur de projet et
changer ses proprits, comme les paramtres de la page et les styles par dfaut ; dans
la fentre Proprits, vous pouvez aussi changer les proprits du document, comme
le titre, le crateur et le sujet.
Pour plus dinformations sur les proprits, les mthodes et les vnements de
ThisDocument, slectionnez lobjet ThisDocument dans lexplorateur de projet qui
vous intresse, ouvrez lexplorateur dobjets, affichez le projet Visio contenant
ThisDocument dans la liste des projets et parcourez les membres de ThisDocument.
Sef doc0b = 0ocumehfs.Tfem|"bohou.vsd")
Sef pag0b = doc0b.Pages.Tfem|1)
Sef pag0b = Th1s0ocumehf.Pages.Tfem|1)
310 CHAP I TRE 15
Excut ion du code VBA depuis Visio
Vous pouvez excuter le code Microsoft Visual Basic pour Applications (VBA) dans
lEditeur Visual Basic pour le tester et le dboguer au cours du dveloppement. Cette
partie traite des diffrentes manires dexcuter du code dans lEditeur Visual Basic.
Pour plus dinformations sur le dbogage dun programme VBA, comme lajout de
points darrt, des espions et lexcution pas pas, reportez-vous laide en ligne
Microsoft Visual Basic.
Lutilisateur peut excuter vos macros termines dans linterface utilisateur Visio en
effectuant son choix dans le sous-menu Macros du menu Outils. Une macro est une
procdure VBA qui nutilise aucun argument. Les procdures qui emploient des argu-
ments napparaissent pas dans le sous-menu Macros.
Bote de dialogue Macros
Lexcution dun programme peut tre dclenche de diffrentes manires, par
exemple en rponse des vnements. Pour plus dinformations sur lexcution dun
programme en rponse des vnements, reportez-vous au Chapitre 21, Gestion
des vnements dans Visio . Pour connatre les autres manires dexcuter un
programme, reportez-vous au Chapitre 25, Distribution dune solution Visio
Automation .
A Nom de la macro slectionne
B Liste des macros disponibles et
des programmes
complmentaires
C Liste des projets, des modules
et des dessins accessibles
A
B
C
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 311
Pour excut er une macro depuis lEdit eur Visual Basic :
1 Choisissez Outils > Macros.
2 Dans la liste Macros, slectionnez la macro souhaite et cliquez sur Excuter.
Si la macro souhaite nest pas rpertorie, assurez-vous que vous avez choisi le
projet, le module ou le dessin correct dans la zone Macros dans. Les procdures
prives napparaissent pas dans tous les menus ou dans toutes les botes de
dialogue.
Ou
1 Dans lexplorateur de projet, ouvrez le module qui contient la macro.
2 Dans la fentre de code, cliquez lintrieur de la macro pour placer le point
dinsertion.
3 Choisissez Excuter > Excuter Sub/UserForm.
La macro o figure le point dinsertion est excute.
Pour excut er une macro part ir de la bot e de dialogue Macros de Visio :
1 Dans lapplication Visio, choisissez Outils > Macros > Macros.
2 Dans la liste Macros, slectionnez votre programme et cliquez sur Excuter.
REMARQUE : du point de vue de lutilisateur, peu importe si le programme que
lutilisateur excute est un programme complmentaire ou une macro car lapplication
Visio combine donc ces programmes dans des botes de dialogue. Par exemple, vous
pouvez excuter un programme complmentaire ou une macro partir de la bote de
dialogue Macros ou partir du sous-menu Macros.
Pour dcrire la macro qui apparat dans la bot e de dialogue Macros :
1 Dans lEditeur Visual Basic, ouvrez lexplorateur dobjets.
2 Dans la zone de projet/bibliothque, choisissez le projet qui contient la macro.
3 Dans la liste Classe, slectionnez le module qui contient la macro et cliquez avec le
bouton droit sur la macro dans la liste Membres de, puis choisissez Proprits.
4 Saisissez une description dans la zone Description.
Pour excut er la macro depuis le sous-menu Macros Visio :
1 Choisissez Outils > Macros.
2 Dans le sous-menu Macros, choisissez le projet contenant vos macros, puis
choisissez-en une.
312 CHAP I TRE 15
Lillustration suivante montre comment un module apparat dans le sous-menu
Macros Visio avec ses macros affiches dans le sous-menu du module.
Sous-menu Macros Visio
Si vous souhaitez que vos macros apparaissent dans le sous-menu Macros, mais que le
module contenant vos macros soit masqu, nommez votre module ShowInMenu. Le
module ShowInMenu napparat pas dans le sous-menu Macros Visio mais, comme le
montre lillustration suivante, ses macros y figurent :
Sous-menu Macros utilisant
le module ShowInMenu
P ROGRAMMATI ON DANS VI SI O AVEC MI CROSOFT VBA 313
Gest ion des erreurs
Lorsquune erreur se produit au cours de lexcution du programme, Microsoft
Visual Basic pour Applications (VBA) gnre un message derreur et interrompt
lexcution. En testant les hypothses avant dexcuter rellement le code qui risque
dchouer, vous pouvez viter de nombreuses erreurs. Vous pouvez dceler les erreurs
et les rsoudre en utilisant la formulation On Error de votre programme. Pour plus
dinformations sur On Error, reportez-vous votre documentation VBA.
Les erreurs peuvent provenir dune grande varit de situations. Cette partie
rpertorie les situations communes conduisant des erreurs et suggre des moyens de
les viter.
Excut ion du programme dans le cont ext e correct
Si vous avez dcid du contexte dans lequel le programme sera excut, vous pouvez
effectuer des hypothses concernant lenvironnement. Par exemple, si vous crivez un
programme VBA pour grer le comportement du double-clic, vous pouvez
probablement supposer quun document est ouvert et que la forme ayant fait lobjet
dun double-clic est slectionne dans la fentre active. En revanche, il existe des
limites la capacit dun programme contrler les actions utilisateur. Par exemple,
rien ne peut empcher un utilisateur de tenter, au lieu de double-cliquer sur la forme,
dexcuter un programme VBA conu pour grer un vnement de double-clic
partir de la bote de dialogue Macros.
Si votre programme exige quune forme soit slectionne, cochez la proprit
Selection dans la fentre active pour vous assurer quelle contient au moins un objet.
01m se1ecf0b As v1s1o.Se1ecf1oh
Sef se1ecf0b = Acf1veW1hdoW.Se1ecf1oh
Tf se1ecf0b.Couhf = 0 Theh
Msgox "vous devez d`abod s1ecf1ohhe uhe fome." , , "S1ecf1ohhe
uhe fome"
E1se
Su1fe du fa1femehf
Ehd Tf
314 CHAP I TRE 15
Verif icat ion de lexist ence des objet s et des valeurs
renvoyes
Avant daccder des objets, il est prudent de contrler leur existence dans la
collection. Avant deffectuer une itration dans la collection Masters, ce qui
provoquerait une erreur si lensemble tait vide, lexemple suivant vrifie si le
document comporte des formes de base.
Si une proprit ou une mthode est cense renvoyer une valeur, il peut tre judicieux
de sassurer quelle la rellement fait. Par exemple, si votre programme formate un
texte de forme, vous pouvez vrifier que lobjet Forme contient du texte :
Vrif icat ion des valeurs derreur
VBA comporte une fonction Error qui renvoie une chane. Lorsquune erreur se
produit dans Visio, un code derreur et une chane descriptive sont renvoys. Pour
obtenir la chane associe au code derreur renvoy par lapplication Visio, utilisez la
fonction Error.
Lobjet Cell Visio comporte une proprit Error qui indique si une erreur sest
produite lors du calcul de la formule dune cellule. Si votre programme modifie les
formules ShapeSheet
Visio
Visio
Visual Basic
de la page.
Par exemple, les instructions suivantes renvoient la largeur de la page :
Pour plus dinformations sur lutilisation des formules, reportez-vous au chapitre 17,
Automatisation des formules .
Ajout de pages dans un dessin
Un document Visio peut contenir plusieurs pages. Chaque page dun document peut
contenir un dessin unique, et certaines pages peuvent servir darrire-plans pour
dautres pages.
Vous pouvez, partir dun programme, crer des documents plusieurs pages en
ajoutant des pages et en leur attribuant des arrire-plans. Vous pouvez aussi modifier
les paramtres de la page, comme lchelle du dessin, la largeur et la hauteur de la page.
Au dpart, un nouveau document contient une page. Pour crer une autre page,
utilisez la mthode Add de la collection Pages du document. Par exemple :
Une fois que vous avez ajout une page la collection, vous pouvez utiliser la
proprit Name de lobjet Page pour nommer votre page.
Sef shp0b = pag0b.PageSheef
Sef ce10b = shp0b.Ce11s|"LageuPage")
dW1dfh = ce10b.Pesu1f|"pouces")
Sef pag0b = Th1s0ocumehf.Pages.Add
326 CHAP I TRE 16
Ut ilisat ion des objet s Shape
Lobjet Visio essentiel que vous allez utiliser est lobjet Shape. Un objet Shape
reprsente une forme de base, un groupe, un repre ou un point de repre, ou encore
un objet li ou incorpor. Un objet Shape peut aussi reprsenter les formules dune
page, dune forme de base ou dun document. Une collection Shapes reprsente tous
les objets Shape dune page de dessin.
Rcuprat ion dun objet Shape
Pour obtenir des informations sur une forme, vous devez rcuprer la rfrence
lobjet Shape. Pour ce faire, vous devez tout dabord rcuprer la rfrence la
collection Shapes de lobjet qui contient la forme qui vous intresse.
Obj et Shape et objets associs
suprieurs dans le modle
dobjet Visio
Pour rcuprer la collection Shapes dune page, rcuprez la proprit Shapes de
lobjet Page. Pour rcuprer une collection Shapes dune forme de base, rcuprez la
proprit Shapes de lobjet Master. Si un objet Shape reprsente un groupe ou la
feuille dune page ou dune forme de base, cet objet Shape dispose aussi dune
proprit Shapes.
Vous pouvez rcuprer un objet Shape de la collection Shapes par son indice, son
nom ou son ID unique.
Rcupration dune forme par son indice
Lordre des lments dans une collection Shapes est identique celui des formes
dessines. Le premier lment dune collection Shapes est la forme larrire-plan de
la page de dessin (la premire forme dessine), et le dernier lment est la forme au
tout premier plan (la dernire forme dessine). Par exemple, pour placer sur la page la
forme au tout premier plan :
shpThdex = shps0b.Couhf
Sef shp0b = shps0b.Tfem|shpThdex)
Page
Pages
Shape
Shapes
Application Document
Global
Documents
Pages
Shapes
Documents
UTI L I SATI ON DES OBJ ETS VI SI O DOCUMENT, P AGE ET SHAP E 327
Rcupration dune forme par nom ou par ID unique
Un objet Shape comporte trois proprits qui identifient la forme : Name, NameID et
UniqueID.
Name : renvoie NomDeForme[.nnnn]. Le nom de la forme est NomDeForme ; vous
pouvez paramtrer ce nom soit laide de la proprit Name, soit en saisissant un
nom dans la bote de dialogue Spcial (choisissez Format > Spcial).
Si vous nattribuez pas de nom une forme, la proprit Name renvoie lune des
valeurs suivantes :
Si la forme est la premire ou la seule occurrence dune forme de base sur une page
ou dans un groupe, NomDeForme est le nom de la forme de base sans numro
didentification, par exemple, Dcision.
Si la forme nest pas la premire occurrence dune forme de base sur une page ou
dans un groupe, NomDeForme est le nom de la forme de base suivie du numro
didentification de la forme, par exemple, Dcision.43.
Si la forme nest pas loccurrence dune forme de base, NomDeForme correspond
Feuille suivie du numro didentification de la forme, par exemple, Feuille.34.
Dans ce cas, les proprits Name et NameID de la forme renvoient la mme
chane.
Un nom de forme peut tre constitu de 1 31 caractres et il dcrit gnralement
la forme, comme Ordinateur de bureau. Par exemple, pour rcuprer une forme
nomme Ordinateur de bureau
NameID : renvoie Feuille.n, n tant lID entier de la forme, par exemple, Feuille.34.
Cet ID est attribu la forme lorsquelle est cre sur une page de dessin ; il est
unique dans la page ou dans la forme de base de la forme. Par exemple, pour
rcuprer une forme dont lID est 5 :
UniqueID(visGetGUID) : renvoie lventuel ID de la forme. Vous pouvez accder aux ID
uniques seulement partir dun programme, pas depuis linterface utilisateur Visio.
La plupart du temps, les ID permettent didentifier les formes ayant des
enregistrements correspondants dans une base de donnes. Dans le cas dun plan de
local commercial par exemple, il existe des douzaines de formes de bureau, de sige et
de PC identiques, vous pouvez utiliser lID unique de chaque forme pour associer une
forme spcifique du plan un enregistrement de la base de donnes dquipements.
Sef shp0b = shps0b.Tfem|"0d1hafeu de bueau")
Sef shp0b = shps0b.Tfem|"Ieu111e.S")
328 CHAP I TRE 16
Tant que le programme ne le gnre pas, une forme na pas dID unique. En revanche,
une forme de base dispose toujours dun ID unique, gnr par le moteur Visio. Un
ID unique est stock en interne sous la forme dune valeur de 128 bits, mais le moteur
Visio renvoie cette valeur sous la forme dune chane. Vous pouvez passer la chane ID
unique avec la mthode Item pour rcuprer une forme par son ID unique. Par
exemple :
Pour plus dinformations sur les ID uniques des formes et des formes de base,
reportez-vous au chapitre 20, Intgration de donnes et dune solution Visio
Rcuprat ion dinf ormat ions sur une f orme
Etant donn quun objet Shape peut reprsenter plus quune forme de base, il
convient parfois de dterminer son type. Lobjet Shape comporte une proprit Type
qui indique le type de la forme. Les valeurs renvoyes par cette proprit sont
reprsentes par les constantes suivantes dfinies dans la bibliothque de types Visio :
visTypeShape identifie une forme qui nest pas un groupe, comme une ligne, une
ellipse ou un rectangle, et les formes avec chemins multiples.
visTypeGroup identifie un groupe. Un groupe peut contenir des formes, des
groupes, des objets externes et des repres.
visTypeForeignObject identifie un objet import, incorpor ou li partir dune
autre application.
visTypeGuide identifie un repre ou un point de repre.
visTypePage identifie une forme contenant les proprits dune page ou dune
forme de base.
visTypeDoc identifie une forme contenant les proprits dun document.
Loccurrence dune forme de base peut tre une forme de base ou un groupe, en
fonction de la manire dont la forme de base a t cre.
Sef shp0b = shps0b.Tfem|"{6674SA1-936-101C-9107-0060CI4660}")
UTI L I SATI ON DES OBJ ETS VI SI O DOCUMENT, P AGE ET SHAP E 329
Dans la collection Shapes dun objet Page, chaque groupe est considr comme une
seule forme. En revanche, un groupe dispose de sa propre collection Shapes. La
fonction suivante comptabilise les formes dune page, y compris celles des groupes
(mais pas les groupes eux-mmes), en effectuant une itration dans la collection
Shapes dun objet Page. Elle vrifie galement la proprit Type de chaque objet Shape
pour voir si la forme est un groupe. Si Type renvoie visTypeGroup, lexemple extrait
le nombre de formes du groupe et ajoute ce nombre au nombre total de formes.
Crat ion et modif icat ion de f ormes
Quil sagisse de cration ou de modification, la plupart des oprations excutes par
le programme seffectuent avec des formes. Pour crer des formes, vous insrez
gnralement des formes de base dans la page de dessin en les faisant glisser, comme le
dcrit le chapitre 18, Cration de dessins par automatisation
Iuhcf1oh ShapesCouhf |oof As 0becf) As Thfege
01m 1Couhf As Thfege va1eu de efou
01m shps0b As v1s1o.Shape Co11ecf1oh Shapes
01m shp0b As v1s1o.Shape obef Shape
1Couhf = 0 Suppose que oof.Shapes esf uh goupe ou
uhe page
Sef shps0b = oof.Shapes
Io Each shp0b Th Shps0b
Tf shp0b.Type = v1sTypeCoup Theh
1Couhf = 1Couhf + ShapesCouhf|shp0b)
E1se
1Couhf = 1Couhf + 1
Ehd Tf
hexf
ShapesCouhf = 1Couhf
Ehd Iuhcf1oh
330 CHAP I TRE 16
Cration de formes
A partir dun programme, vous pouvez dessiner des lignes, des ellipses et des
rectangles en utilisant les mthodes DrawLine, DrawOval et DrawRectangle dun
objet Page. Lorsque vous dessinez des lignes, des ovales et des rectangles au lieu
dinsrer une forme de base dans la page de dessin, vous attribuez des coordonnes
aux deux angles opposs du plan largeur-hauteur de la nouvelle forme.
Cration de formes laide des
mthodes DrawLine,
DrawRectangle et DrawOval
A pagObj.DrawLine 1,9,3,10
B pagObj.DrawRectangle 1,6,3,7
C pagObj.DrawOval 1,3,3,4
Lorsque vous dessinez des ellipses et des rectangles, lordre dans lequel vous spcifiez
les angles na pas rellement dimportance. En revanche, il est important pour les
lignes. Il convient gnralement de connatre lextrmit dune ligne correspondant
au point de dpart et celle correspondant au point de fin.
Si vous le souhaitez, vous pouvez par exemple appliquer un style de ligne qui formate
le point de fin dune ligne avec une flche, ou coller le point de dpart dune ligne sur
une autre forme. Lorsque vous dessinez une ligne partir dun programme, les
premires coordonnes x,y dterminent le point de dpart de la ligne, et les secondes
coordonnes x,y dterminent le point de fin de la ligne ; le rsultat est le mme que
lorsque vous dessinez une forme avec la souris.
1 2 3 4
1
1
1
0
9
8
5 6 7 8
7
6
5
4
3
2
1
0
0
A
B
C
UTI L I SATI ON DES OBJ ETS VI SI O DOCUMENT, P AGE ET SHAP E 331
Outre les lignes, les ovales et les rectangles, vous pouvez aussi dessiner des formes
laide des mthodes DrawBezier, DrawNURBS, DrawPolyline et DrawSpline. Pour
plus dinformations sur ces mthodes, reportez-vous laide en ligne Rfrence du
dveloppeur (choisissez ? (Aide) > Rfrence du dveloppeur) fournie avec Visio.
Modification des formes
Vous pouvez aussi dessiner des formes originales, modifier des formes existantes, ou
en changer lapparence et le comportement en paramtrant leurs formules. Un objet
Shape comporte une proprit Cells qui renvoie un objet Cell contenant une formule.
Par exemple, pour masquer le texte dune forme :
Pour plus dinformations sur lutilisation des formules, reportez-vous au chapitre 17,
Automatisation des formules
Copie, coupe, suppression et duplication de formes
Vous pouvez copier, couper, supprimer et dupliquer des formes en utilisant les
mthodes Copy, Cut, Delete et Duplicate dun objet Shape. Ces mthodes
fonctionnent de la mme manire que les commandes de menu Copier, Couper,
Supprimer et Dupliquer de linterface utilisateur Visio. Vous pouvez utiliser ces
mthodes avec un objet Shape, que la forme correspondante soit slectionne ou non
dans la fentre de dessin.
Pour dupliquer une forme un endroit donn de la page, utilisez la mthode Drop de
lobjet Page. Pour ce faire, attribuez une rfrence la forme dupliquer et aux
coordonnes de destination du centre du rectangle de slection et de rotation de la
forme. Ce point se confond gnralement avec laxe de la forme. Par exemple :
Pour coller des formes partir du Presse-papiers, utilisez la mthode Paste de lobjet
Page. Pour plus dinformations sur le collage partir du Presse-papiers, reportez-vous
la mthode Paste dans laide en ligne Rfrence du dveloppeur fournie avec Visio.
Sef ce10b = shp0b.Ce11s|"MasqueTexfe")
ce10b.Iomu1a = "Tue"
Sef shp0b = pag0b.Shapes|"Ieu111e.1")
pag0b.0op shp0b,1,2
332 CHAP I TRE 16
Ajout de t ext e aux f ormes
Il est plus frquent de paramtrer le texte dune forme partir du programme que de
le considrer comme partie intgrante dune forme de base. Vous pouvez ajouter du
texte une forme ou modifier le texte existant en paramtrant la proprit Text dun
objet Shape sur une expression de chane. Par exemple :
Pour inclure des guillemets dans le texte, utilisez deux caractres guillemets ("") de
part et dautre de la chane. Par exemple :
Pour contrler le retour la ligne, utilisez la fonction Chr$ de Microsoft
Visual
Basic
Visio
, vous pouvez
rcuprer et paramtrer des formules contenues dans les objets Cell qui
appartiennent une forme. Il est donc essentiel pour un dveloppeur Automation de
comprendre les fonctionnalits dont le moteur Visio dispose avec sa technologie
SmartShapes
.
Une forme peut disposer dune seule section par type, sauf pour Gomtrie. Si une
forme dispose dj dune section particulire et si vous tentez den ajouter une autre,
vous obtenez une erreur. Vous pouvez utiliser la proprit SectionExists pour savoir
si elle dispose dune section, et lajouter ensuite si besoin est.
REMARQUE : vous ne pouvez pas ajouter ni supprimer des lignes de visSectionCharacter,
visSectionParagraph, visSectionTextField ou visSectionTab.
Etiquette de ligne Ligne de gomtrie
visTagComponent Affichage des proprits
visTagMoveTo Ligne DplacerVers (cellules X et Y dans une
ligne Dpart)
visTagLineTo Ligne TraitVers
visTagArcTo Ligne ArcVers
visTagEllipticalArcTo Ligne ArcElliptiqueVers
visTagSplineBeg Ligne DbutSpline
visTagSplineSpan Ligne NoeudSpline
visTagEllipse Ligne Ellipse
visTagInfiniteLine Ligne LigneI nfinie
visTagPolylineTo Ligne PolyligneVers
visTagNURBSTo Ligne NURBSVers
AUTOMATI SATI ON DES FORMUL ES 351
Exemple dajout dune sect ion Gomt rie une f orme
Dans un dessin Visio, une forme de base est constitue de zro, un ou plusieurs
composants, ou chemins. Chaque chemin est une squence de segments relis. Dans
la plupart des formes, un segment est soit un segment de ligne, soit un segment darc,
qui peut tre un arc dellipse. Chaque chemin est reprsent par une section
Gomtrie et chaque segment par une ligne de cette section.
Pour ajouter une section Gomtrie une forme, utilisez la mthode AddSection avec
visSectionFirstComponent pour linsrer avant les sections Gomtrie existantes ou
visSectionLastComponent pour lajouter aprs ces mmes sections. Par exemple,
pour ajouter une section Gomtrie aprs les sections Gomtrie existantes :
Aprs avoir ajout une section Gomtrie, vous devez ajouter au moins deux lignes
(les lignes ne sajoutent pas automatiquement une section ajoute partir dun
programme). Utilisez la mthode AddRow avec les tiquettes de ligne suivantes :
visTagComponent dtermine les proprits daffichage du composant dfini par
la section Gomtrie. Il doit sagir de la premire ligne de chaque section
Gomtrie.
visTagMoveTo, visTagEllipse ou visTagInfiniteLine dterminent le premier
sommet, cest--dire le point de dpart du composant. Il doit sagir de la seconde
ligne de chaque section Gomtrie. La ligne visTagEllipse ou visTagInfiniteLine
est la ligne finale car les ellipses et les lignes infinies sont reprsentes par des
sections dune seule ligne.
Les tiquettes de ligne visTagLineTo, visTagArcTo, visTagEllipticalArcTo,
visTagMoveTo, visTagPolylineTo ou visTagNURBSTo vous permettent dajouter
des lignes de sommet supplmentaires. Chaque ligne de sommet dfinit les
coordonnes locales dun sommet et le type de segment qui relie ce sommet au
prcdent.
Avec les tiquettes de ligne visTagSplineBeg et visTagSplineSpan, vous pouvez
ajouter des lignes de spline. Faites prcder la ligne de dpart de la spline
(visTagSplineBeg) dune ligne de dpart (visTagMoveTo) ou dune ligne de sommet
et utilisez visTagSplineSpan pour ajouter des lignes de noeuds de spline.
shp0b.AddSecf1oh v1sSecf1ohLasfCompohehf
352 CHAP I TRE 17
La procdure suivante insre une section Gomtrie avant les sections Gomtrie
existantes dune forme. Elle ajoute la ligne de composant, la ligne DplacerVers et
quatre lignes TraitVers (il sagit des lignes gnralement utilises pour dfinir une
ligne droite). Elle paramtre ensuite les formules des cellules dans chaque ligne pour
que la ligne soit trace diagonalement dans le plan largeur-hauteur de la forme.
Lillustration suivante montre la forme avant et aprs linsertion de la section
Gomtrie.
Insertion dune section Gomtrie
dans une forme
Sub AoufComf1e |)
01m shp0b As v1s1o.Shape
01m 1Secf1oh As Thfege
01m 1 As Thfege
M1se eh oeuve d`uh "gesf1ohha1e d`eeu" pou fa1fe 1`eeu s1 aucuhe fome h`esf s1ecf1ohhe
0h Eo CoTo ehoShp
Sef shp0b = Acf1veW1hdoW.Se1ecf1oh|1)
0h Eo CoTo 0
1Secf1oh = shp0b.AddSecf1oh|v1sSecf1ohI1sfCompohehf)
shp0b.AddPoW 1Secf1oh, v1sPoWI1sf + 0, v1sTagCompohehf
shp0b.AddPoW 1Secf1oh, v1sPoWvefex + 0, v1sTagMoveTo
Io 1 = 1 To 4
shp0b.AddPoW 1Secf1oh, v1sPoWvefex + 1, v1sTagL1heTo
hexf 1
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 0, v1sX).Iomu1a = "Lageu " 0.2S"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 0, v1sY).Iomu1a = "haufeu " 0.S"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 1, v1sX).Iomu1a = "Lageu " 0.S"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 1, v1sY).Iomu1a = "haufeu " 0.2S"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 2, v1sX).Iomu1a = "Lageu " 0.7S"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 2, v1sY).Iomu1a = "haufeu " 0.S"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 3, v1sX).Iomu1a = "Lageu " 0.S"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 3, v1sY).Iomu1a = "haufeu " 0.7S"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 4, v1sX).Iomu1a = "Comf1e1.X1"
shp0b.Ce11sSPC|1Secf1oh, v1sPoWvefex + 4, v1sY).Iomu1a = "Comf1e1.Y1"
u1ffe 1a pocdue sahs passe dahs 1e gesf1ohha1e d`eeu
Ex1f Sub
ehoShp:
Msgox "S1ecf1ohhez uhe fome ef ecommehcez.", vb0K0h1y, 0vSTTTLE
Ehd Sub
AUTOMATI SATI ON DES FORMUL ES 353
Remarquez que visRowVertex sans dcalage ou avec un dcalage de 0 renvoie la
ligne DplacerVers. Lors de lajout des lignes de sommet, ajoutez toujours un dcalage
dune valeur au moins gale 1 visRowVertex de manire ce que vous ne
remplaciez pas par inadvertance la ligne DplacerVers ; vous vitez ainsi tout
comportement imprvisible de la forme. Pour crer un intervalle, vous pouvez insrer
des lignes DplacerVers supplmentaires dans la mme section Gomtrie. Pour plus
dinformations sur lutilisateur des formules de la section Gomtrie, reportez-vous
au chapter 5, Contrle de la gomtrie des formes laide de formules , ou
recherchez section Gomtrie dans laide en ligne fournie avec Visio.
Suppression de sect ions et de lignes
La suppression dune section supprime automatiquement toutes ses lignes et ses
cellules. Vous pouvez supprimer toutes les sections sauf visSectionObj ; vous pouvez
nanmoins supprimer des lignes de cette section. Pour supprimer une section, utilisez
la mthode DeleteSection dun objet Shape. Par exemple, linstruction suivante
supprime la section Montage dune forme :
La suppression dune section qui nexiste pas nentrane pas derreur.
Vous pouvez aussi supprimer une ligne dune section, sauf celles des sections
visSectionParagraph, visSectionCharacter, visSectionTextField et visSectionTab.
Par exemple, vous pouvez supprimer le sommet dune forme en supprimant la ligne
qui le dfinit dans la section Gomtrie de la forme. Linstruction suivante supprime
le dernier sommet dun rectangle :
Suppression de la ligne dun
sommet
A Ce sommet est reprsent par visRowVertex + 3.
B Aprs la suppression de la ligne du sommet, la forme change daspect.
shp0b.0e1efeSecf1oh v1sSecf1ohScafch
shp0b.0e1efePoW v1sSecf1ohI1sfCompohehf + 0, v1sPoWvefex + 3
A
B
354 CHAP I TRE 17
Modif icat ion du t ype dun segment
Vous pouvez dfinir un segment sous la forme dune ligne, dun arc dellipse, dune
courbe spline, dune ellipse, dune ligne infinie, dune polyligne, dune ligne
DplacerVers ou NURBS en paramtrant le type de la ou des lignes qui reprsentent le
segment. A partir du programme, vous pouvez effectuer cette opration en
paramtrant la proprit RowType de lobjet Shape.
Par exemple, linstruction suivante convertit le premier segment dune forme en un
segment de ligne.
Modification du type de ligne pour
une ligne de sommet
A Ce segment darc est reprsent par visRowVertex + 1.
B Une fois que le type de ligne est modifi, la forme change daspect.
shp0b.PoWType|v1sSecf1ohI1sfCompohehf + 0,
v1sPoWvefex + 1) = v1sTagL1heTo
A B
AUTOMATI SATI ON DES FORMUL ES 355
Exemple dit rat ion dans une collect ion de sect ions et de
lignes
Vous pouvez effectuer la mme opration sur plusieurs sections ou plusieurs lignes
laide dune itration, les proprits de lobjet Shape permettant de limiter la boucle :
GeometryCount reprsente le nombre de sections Gomtrie dune forme.
RowCount reprsente le nombre de lignes dune section.
RowsCellCount reprsente le nombre de cellules dune ligne.
Lexemple suivant effectue une itration dans les lignes et les cellules dune section
Gomtrie dune forme et utilise CellsSRC pour extraire chaque cellule. Il affiche
ensuite chaque formule de cellule dans une zone de liste sur un formulaire utilisateur.
Pour obtenir la liste des constantes de positions logiques, reportez-vous lAnnexe B,
Indices de section, de ligne et de cellule ShapeSheet .
Sub Tfaf1ohComf1e |)
Cef exemp1e suppose que 1a page acf1ve cohf1ehf uhe fome
01m shp0b As v1s1o.Shape 0bef Shape
01m cuCeomSecf As Thfege humo de secf1oh pou accde
a 1a secf1oh de gomf1e
01m cuCeomSecfThdx As Thfege va1ab1e de bouc1e pou 1es secf1ohs
de gomf1e
01m hPoWs As Thfege hombe de 11ghes dahs uhe secf1oh
01m hCe11s As Thfege hombe de ce11u1es dahs uhe 11ghe
01m cuPoW As Thfege humo de 11ghe |a paf1 de 0)
01m cuCe11 As Thfege Thdex de ce11u1e couahfe |a paf1 de 0)
01m hSecfs As Thfege hombe de secf1ohs de gomf1e dahs 1a
fome
Sef shp0b = Acf1vePage.Shapes|1)
useIom1.L1sfox1.C1ea
hSecfs = shp0b.CeomefyCouhf
Io cuCeomSecfThdx = 0 To hSecfs - 1
cuCeomSecf = v1sSecf1ohI1sfCompohehf + cuCeomSecfThdx
hPoWs = shp0b.PoWCouhf|cuCeomSecf)
Io cuPoW = 0 To |hPoWs - 1)
hCe11s = shp0b.PoWsCe11Couhf|cuCeomSecf, cuPoW)
Io cuCe11 = 0 To |hCe11s - 1)
useIom1.L1sfox1.AddTfem
shp0b.Ce11sSPC|cuCeomSecf, cuPoW, cuCe11).Loca1hame &
": " & shp0b.Ce11sSPC|cuCeomSecf, cuPoW, cuCe11).Iomu1a
hexf cuCe11
hexf cuPoW
hexf cuCeomSecfThdx
useIom1.ShoW
Ehd Sub
356 CHAP I TRE 17
Ut ilisat ion de donnes hrit es
Il arrive quune forme nait pas de copie locale de toutes ses donnes figurant dans la
fentre ShapeSheet
Visio
Visio
.
Pour insrer une f orme de base dans une page :
1 Crez un objet Document reprsentant le gabarit qui contient la forme de base
placer.
2 Crez un objet Master reprsentant cette forme de base.
3 Crez un objet Page reprsentant la page de dessin dans laquelle insrer la forme
de base.
Rcuprat ion du gabarit
Vous pouvez rcuprer une rfrence tout gabarit ouvert en lextrayant de la
collection Documents de lobjet Application. Par exemple
Lexemple ci-dessus utilise une variable nomme stnObj plutt que docObj pour
distinguer les gabarits des autres types de fichier. Cette convention peut permettre
dviter des erreurs ultrieures.
Comme dans toutes les oprations sur des fichiers, il est prfrable de vrifier que le
gabarit est disponible avant dessayer de lutiliser. Linstruction Set prcdente
renvoie une erreur si Formes de base.vss nest pas ouvert. Pour vrifier ce point,
procdez comme suit :
Sef sfh0b = 0ocumehfs|"Iomes de base.vss)
S1 1e f1ch1e h`esf pas ouvef, ouvez-1e
0h Eo Pesume hexf
L1e uhe fehce dahs 1`obef Sfehc11 |Caba1f)
Sef sfh0b = 0ocumehfs|"Iomes de base.vss")
Le gaba1f h`fa1f pas ouvef, 11 fauf 1`ouv1
Tf sfh0b = hofh1hg Theh
0pehEx h`a pas pu ouv1 1e f1ch1e
0h Eo Co To e111handJe1
Sef sfh0b = 0ocumehfs.0pehEx |"Iomes de base.vss", v1s0pehP0)
Ehd Tf
CRATI ON DE DESSI NS P AR AUTOMATI SATI ON 359
Un gabarit est gnralement enregistr en lecture seule pour viter toute
modification ; lutilisateur peut nanmoins ouvrir loriginal et modifier lespace de
travail, ou dplacer ou supprimer un fichier, ce qui pourrait influer sur le nombre de
gabarits ouverts durant lutilisation du modle.
Rcuprat ion de la f orme de base
Un objet Document comporte une proprit Masters qui renvoie une collection
Masters regroupant les formes de base du gabarit du document. Vous pouvez faire
rfrence un objet Master par son nom ou par son indice dans la collection Masters.
Par exemple :
Une erreur commune consiste accder la collection Masters du fichier de dessin
plutt qu celle du fichier de gabarit. Tous les documents Visio possdent un gabarit ;
cest pourquoi tous les objets Document ont une collection Masters. Cependant, la
collection Masters dun fichier de dessin contient seulement les formes de base dj
insres dans le dessin ; ainsi, la collection Masters dun nouveau document est
gnralement vide. Quoi quil en soit, cette collection Masters risque fort de ne pas
contenir la forme de base qui vous intresse. Si votre programme ne parvient pas
accder un objet Master, vrifiez que vous le recherchez bien dans le fichier de
gabarit, et non dans le fichier de dessin.
Insert ion de la f orme de base dans la page
Pour insrer une forme de base dans une page, vous devez tout dabord rcuprer
lobjet Page reprsentant la page de dessin, puis appliquer la mthode Drop de cet
objet. La mthode Drop quivaut dposer une forme laide de la souris. La
mthode Drop reconnat trois arguments : une rfrence un objet et un couple de
coordonnes indiquant o placer laxe de lobjet sur la page de dessin si cet objet est
une forme de base. Dans les autres cas, le couple de coordonnes indique le centre du
plan largeur-hauteur de lobjet.
Les coordonnes sont mesures depuis langle infrieur gauche de la page. Dans notre
exemple, les valeurs 4,25 et 5,5 placent laxe de la forme au centre dune page de dessin
de 8po. sur 11 po. dans un dessin sans chelle. (Dans un dessin chelle, vous
indiquez les coordonnes en units de dessin exprimes en pouces. Par exemple, si
lchelle de dessin est de 1 pied = 1 pouce, vous indiqueriez les coordonnes 51, 66
pour placer la forme au centre de la page.) Pour plus dinformations sur les
coordonnes des formes, reportez-vous au chapitre 2, Cration de formes Visio .
Sef masf0b = sfh0b.Masfes|"Efo11e S")
Sef pag0b = Th1s0ocumehf.Pages|1)
Sef shp0b = pag0b.0op|masf0b, 4.2S, S.S)
360 CHAP I TRE 18
Laxe de la forme est plac aux
coordonnes 4,25, 5,5 (A) indiques
avec la mthode Drop.
s
Pour plus de simplicit, cet exemple place une forme au milieu de la page de dessin et
utilise des constantes pour indiquer sa position. La dtermination de la position des
formes peut cependant tre complexe, notamment dans un diagramme connect avec
de nombreuses formes. Une approche possible est prsente la section Choix de la
position des formes sur un dessin , page 361.
Outre linsertion de formes de base dans une page de dessin, la mthode Drop permet
galement deffectuer les oprations suivantes :
Cration dune forme partir dune forme existante.
Ajout dune forme un groupe.
Cration dune forme de base la vole par insertion dune forme dans un gabarit
(le fichier de gabarit doit tre ouvert avec loption Original, et non Lecture seule).
Modification dune forme de base par insertion dun objet dans une forme de base
ouverte.
Pour insrer plusieurs formes, appliquez la mthode DropMany, qui quivaut
dposer plusieurs formes laide de la souris.
REMARQUE : lorsquun programme dessine ou insre une forme dans un dessin
lchelle, il doit convertir les coordonnes des mesures du dessin en pouces. Par exemple,
linstruction suivante trace un rectangle de 3 pieds, 4 5 pieds, et 6 pieds sur un dessin
mis lchelle en pouces :
Pag0b.0aWPecfahg1e|36, 4, 60, 72)
1 2 3 4
1
1
1
0
9
8
5 6 7 8
7
6
5
4
3
2
1
0
0
A
CRATI ON DE DESSI NS P AR AUTOMATI SATI ON 361
Choix de la posit ion des f ormes sur un dessin
Le calcul de la position des formes peut tre lune des tches les plus complexes dun
programme crant des dessins Visio, notamment dans des diagrammes connects et
dans les autres dessins comportant des relations complexes entre les formes. Lobjectif
final reste le mme : vous devez calculer deux coordonnes de page pour toutes les
formes places sur la page de dessin. Lapproche adopte dpend du type de dessin
crer et des donnes qui le sous-tendent.
Par ailleurs, Visio propose des fonctionnalits de prsentation automatique
contrlant le mode dinteraction entre les formes et les liens reliant ces formes dans le
dessin. Vous pouvez afficher les paramtres de prsentation par dfaut dans les
sections Mise en page et Mise en page des formes de la fentre Feuille ShapeSheet
.
Vous pouvez personnaliser ces paramtres dans votre programme laide des
formules de ces sections. Pour plus dinformations sur les formes et leur prsentation
automatique, reportez-vous la section Cration de formes et mise en page
automatique , page 243. Pour plus dinformations sur les sections Mise en page et
Mise en page des formes, reportez-vous laide en ligne Rfrence du dveloppeur
(accessible via ? (Aide) > Rfrence du dveloppeur) fournie avec Visio.
La procdure CreateDrawing suivante prsente un exemple de positionnement des
formes dans un diagramme de rseau simple. Cet exemple lit les donnes dans un
tableau en deux dimensions (le premier lment du tableau rpertorie le nom dune
forme de base du gabarit Formes de rseau de base 3D, et le second correspond au
libell de la forme). CreateDrawing positionne un concentrateur au centre de la page,
puis les autres composants en cercle autour de ce concentrateur.
Cet exemple prsente plusieurs techniques de positionnement des formes,
notamment les suivantes :
Pour placer le concentrateur au centre de la page, le programme utilise les valeurs
des cellules HauteurPage et LargeurPage de la feuille de page.
Pour espacer les formes rgulirement autour du concentrateur, la variable
dblDegreeInc a t calcule en fonction du nombre dlments prsents dans le
tableau. Cette variable a ensuite servi dfinir les coordonnes x et y pour insrer
la forme.
Remarquez lutilisation des proprits de feuille de page pour obtenir des
informations sur le positionnement sur la page. Par ailleurs, les formes sont
rgulirement espaces autour du concentrateur grce la variable dblDegreeInc qui
permet de calculer les coordonnes x et y en fonction du nombre dlments du
tableau.
362 CHAP I TRE 18
REMARQUE : pour calculer les coordonnes de page visibles dans la fentre de dessin,
appliquez la mthode GetViewRect de lobjet window. Vous pouvez utiliser ces
coordonnes pour positionner les formes au centre de la fentre. Pour plus dinformations,
reportez-vous la section relative la mthode GetViewRect dans laide en ligne
Rfrence du dveloppeur (accessible via ? (Aide) > Rfrence du dveloppeur) fournie
avec Visio.
Pub11c Sub Crea1e0raW1ng|ahef0afa As Sf1hg)
01m shp0bhu As v1s1o.Shape
01m shp0bhodes As v1s1o.Shape
01m msf0b As v1s1o.Masfe
01m sfh0b As v1s1o.0ocumehf
01m db1X, db1Y As 0oub1e
01m db10egeeThc As 0oub1e
01m db1Pad As 0oub1e
01m db1PageW1dfh, db1Pagehe1ghf As 0oub1e
01m 1 As Thfege
Cohsf PT = 3.141S
Cohsf C1c1ePad1us = 2
01v1se 1e cec1e pa 1e hombe d`obefs dahs 1e fab1eau. A1hs1 11s sohf gu11emehf espacs
db10egeeThc = 360 / uouhd|ahef0afa)
L1e 1es pop1fs PageW1dfh ef Pagehe1ghf
db1PageW1dfh = Acf1vePage.PageSheef.Ce11s|"LageuPage").Pesu1fTu
db1Pagehe1ghf = Acf1vePage.PageSheef.Ce11s|"haufeuPage").Pesu1fTu
0uv1 1e gaba1f fome de seau de base 30
Sef sfh0b = App11caf1oh.0ocumehfs.0pehEx|"as1c hefWok Shapes 30.vss", v1s0peh0ocked)
Ta1fe 1a fome hub/commufafeu
Sef msf0b = sfh0b.Masfes|ahef0afa|0, 0))
Sef shp0bhu = Acf1vePage.0op|msf0b, db1PageW1dfh / 2, db1Pagehe1ghf / 2)
0f1h1 1e fexfe de 1a fome hub/commufafeu
shp0bhu.Texf = ahef0afa|0, 1)
Ta1fe 1es hoeuds
Io 1 = 1 To uouhd|ahef0afa)
Sef msf0b = sfh0b.Masfes|ahef0afa|1, 0))
I1xe 1es va1eus X, Y pou p1acemehf |dahs uh cec1e aufou du hub/commufafeu)
db1Pad = |db10egeeThc " 1) " PT / 10
db1X = C1c1ePad1us " Cos|db1Pad) + |db1PageW1dfh / 2)
db1Y = C1c1ePad1us " S1h|db1Pad) + |db1Pagehe1ghf / 2)
Aoufe, au boh ehdo1f, 1a fome au dess1h
Sef shpob = Acf1vePage.0op|msf0b, db1X, db1Y)
0f1h1 1e fexfe de 1a fome
shpob.Texf = ahef0afa|1, 1)
hexf
Ehd Sub
CRATI ON DE DESSI NS P AR AUTOMATI SATI ON 363
Ut ilisat ion de f ormes slect ionnes
Vous pouvez accder aux proprits et aux mthodes dune forme partir dun
programme, que la forme soit slectionne ou non. Vous pouvez galement crer un
objet Selection pour travailler sur plusieurs formes. Lobjet Selection est similaire
une collection Shapes car il reprsente un ensemble dobjets Shape, et comporte des
proprits Item et Count. Un objet Selection ne reprsente cependant que les formes
slectionnes.
Objet Selection et objets connexes
un niveau suprieur du modle
dobjet de Visio
Vous pouvez obtenir un objet Selection reprsentant les formes slectionnes dans
une fentre ou en crer en choisissant les formes qui y figurent dans une collection
Shapes. Lordre des lments dans un objet Selection correspond lordre de la
slection des objets. Le premier lment renvoy est la premire forme slectionne.
Obt ent ion des f ormes slect ionnes dans une f ent re
Pour travailler sur les formes slectionnes dans la fentre, lisez la proprit Selection
de lobjet window.
Window.Selection reprsente les
formes slectionnes dans la
fentre de dessin.
Global
Application
Window
Windows
Selection
ActiveWindow
Windows
364 CHAP I TRE 18
Lexemple suivant obtient lobjet Selection de la fentre active :
Si toutes les formes dune page sont slectionnes, lobjet Selection de la fentre et la
collection Shapes de la page rassemblent les mmes formes. Si rien nest slectionn,
lobjet Selection est vide et sa proprit Count renvoie 0. Sil est ncessaire pour le
programme quune forme soit slectionne, vous pouvez tester la proprit Selection
de la fentre active pour vrifier quelle contient au moins un objet.
Un objet Selection rcupr dans une fentre reprsente les formes slectionnes dans
la fentre. Les instructions ultrieures modifiant la slection dans la fentre nont
aucune incidence sur lobjet Selection rcupr.
Si la mme page de dessin est affiche dans plusieurs fentres, vous pouvez
slectionner des formes diffrentes dans chaque fentre.
Par dfaut, seuls les groupes et les formes slectionns sont inclus dans lobjet
Selection ; les formes slectionnes lintrieur dun groupe ne sont pas incluses.
Pour inclure les formes slectionnes lintrieur dun groupe (une forme enfant
dans un groupe) ou un groupe parent dune forme, vous pouvez modifier les
paramtres par dfaut de la proprit IterationMode de lobjet Selection. Pour
obtenir des informations sur lobjet Selection et ses proprits, reportez-vous laide
en ligne Rfrence du dveloppeur (accessible via ? (Aide) > Rfrence du
dveloppeur) fournie avec Visio.
se1ecf0b = Acf1veW1hdoW.Se1ecf1oh
Sef se1ecf0b = Acf1veW1hdoW.Se1ecf1oh
Tf se1ecf0b.Couhf = 0 Theh
Msgox "vous devez d`abod s1ecf1ohhe uhe fome.", , "S1ecf1ohhe uhe
fome"
E1se
Pousu1ve 1e fa1femehf
Ehd Tf
CRATI ON DE DESSI NS P AR AUTOMATI SATI ON 365
Ajout et suppression de f ormes dans les slect ions
Pour ajouter un lment une slection, appliquez la mthode Select correspondante
et indiquez lobjet Shape slectionner. Vous pouvez ajouter une forme une
slection ou annuler sa slection sans affecter les autres formes slectionnes.
Les constantes visSelect et visDeselect, dfinies dans la bibliothque de types de Visio,
contrlent laction excute. Par exemple, linstruction suivante ajoute une forme
celles figurant dj dans lobjet Selection :
Linstruction suivante annule la slection de cette forme :
Pour slectionner une forme dfinie explicitement :
Slect ion et dslect ion de f ormes dans une f ent re
Pour slectionner une forme dans la fentre dun programme, appliquez la mthode
Select de lobjet window et indiquez lobjet Shape slectionner. Vous pouvez ajouter
une forme une slection ou dslectionner une forme sans affecter les autres formes
slectionnes. Par exemple, linstruction suivante ajoute une forme celles dj
slectionnes dans la fentre de dessin :
Pour slectionner toutes les formes dune page de dessin, appliquez la mthode
SelectAll de lobjet window ; pour dslectionner toutes les formes slectionnes,
appliquez la mthode DeselectAll. Si vous rcuprez un objet Selection aprs
lutilisation de SelectAll, le nouvel objet Selection inclut un objet Master pour
chaque forme de la page de dessin affiche dans la fentre. Si vous rcuprez un objet
Selection aprs lutilisation de DeselectAll, le nouvel objet Selection est vide.
se10b.Se1ecf shp0b,v1sSe1ecf
se10b.Se1ecf shp0b,v1s0ese1ecf
se10b.Se1ecf shp0b, v1sSe1ecf + v1s0ese1ecfA11
W1h0b.Se1ecf shp0b,v1sSe1ecf
366 CHAP I TRE 18
Excut ion doprat ions sur les f ormes slect ionnes
Une fois que vous disposez dun objet Selection, vous pouvez appliquer aux formes
slectionnes des oprations similaires aux actions excutes dans une fentre de
dessin.
Par exemple, vous pouvez appliquer les mthodes Copy, Cut, Delete ou Duplicate
dun objet window ou Selection pour copier, couper, supprimer ou dupliquer des
formes slectionnes :
Vous pouvez galement excuter des oprations boolennes, telles que lunion, la
combinaison et la fragmentation laide des mthodes Union, Combine et
Fragment. Ces mthodes correspondent aux commandes Union, Combinaison et
Fragmentation de Visio, qui crent une ou plusieurs formes remplaant les formes
slectionnes :
Avant dutiliser Union, Combine ou Fragment, vrifiez que seules les formes
modifier sont slectionnes. Ces mthodes suppriment les formes dorigine, toutes les
formules intelligentes disparaissent et lobjet Selection reprsentant les formes nest
plus courant.
Pour obtenir des informations sur lutilisation de lobjet Selection ainsi que sur les
objets, proprits et mthodes mentionns ici, reportez-vous laide en ligne
Rfrence du dveloppeur (accessible via ? (Aide) > Rfrence du dveloppeur)
fournie avec Visio.
Df init ion de la port e dune slect ion
Pour dterminer si un objet Selection rcupre ses formes dans un objet Page, Master
ou Shape (groupe), vrifiez les proprits ContainingPage, ContainingMaster et
ContainingShape de lobjet Selection.
Si les formes sont sur une page, la proprit ContainingPage renvoie cet objet
Page et ContainingMaster renvoie Nothing.
Si les formes sont dans une forme de base, la proprit ContainingMaster renvoie
cet objet Master et ContainingPage renvoie Nothing.
Si les formes sont dans un groupe, la proprit ContainingShape renvoie un objet
Master reprsentant le groupe. Sinon, cette proprit renvoie un objet Master qui
reprsente la feuille de page de la forme de base ou la page contenant ces formes.
se1ecf0b.0e1efe
se1ecf0b.uh1oh
CRATI ON DE DESSI NS P AR AUTOMATI SATI ON 367
Pages darrire-plan
Un document Visio peut contenir plusieurs pages. Chaque page dun document peut
contenir un dessin diffrent, mais certaines pages peuvent galement tre
larrire-plan dautres pages.
Vous pouvez crer un document multipage depuis un programme en ajoutant des
pages et en leur associant des arrire-plans. Vous pouvez galement modifier des
paramtres de page tels que lchelle du dessin, ou la hauteur et la largeur du dessin.
Crat ion et associat ion de pages darrire-plan
Pour quun ensemble de formes apparaisse dans plusieurs dessins, vous pouvez le
placer sur une page darrire-plan. Par exemple, si le programme cre des dessins sur
plusieurs pages, vous pouvez crer une page darrire-plan comportant des formes
den-tte et de pied de page, ou de bloc de titre et de bordure.
Vous pouvez associer la mme page darrire-plan plusieurs pages de premier plan.
Une page de premier plan ne peut avoir quune page darrire-plan, mais cette
dernire peut elle-mme avoir un arrire-plan. Vous pouvez donc construire un
dessin avec beaucoup de pages darrire-plan. Pour crer une page darrire-plan,
ajoutez une page au dessin et associez la valeur True la proprit Background. Par
exemple :
Pour associer la page darrire-plan une autre page pour que les formes de
larrire-plan apparaissent dans le fentre de dessin lorsque la page est affiche,
paramtrez la proprit BackPage de la page de premier plan sur le nom de la page
darrire-plan. Par exemple :
backPag0b.ackgouhd = Tue
pag0b.ackPage = "P1ah damhagemehf 1hf1eu"
368 CHAP I TRE 18
Exemple dit rat ion dans la collect ion Pages
Les lments dune collection Pages sont indexs partir des pages de premier plan
dans lordre dans lequel elles sont rpertories dans la bote de dialogue Redisposer les
pages, suivies des pages darrire-plan classes dans un ordre arbitraire. (Pour afficher
la bote de dialogue Redisposer les pages, cliquez avec le bouton droit sur un onglet de
page de la fentre de dessin, puis choisissez Redisposer les pages.)
Lexemple suivant excute une itration dans la collection Pages du document actif et
rpertorie les noms de toutes les pages de premier plan dans une zone de liste sur un
formulaire dutilisateur.
Exemple de conf igurat ion de pages et darrire-plans
Supposez que vous souhaitez crer un dessin multipage comportant une occurrence
de chaque forme de base dun gabarit. La procdure formValid cre la page
darrire-plan et dfinit une chelle et une taille de page correspondant lchelle des
formes de base du rapport.
Cette procdure rcupre les chelles de la forme de base et de la page darrire-plan
dans leur feuille de page respective. La variable globale gDocDraw a t pralablement
dfinie pour dsigner un nouveau document qui nest pas lchelle.
Sub TfeafePages |)
01m pags0b As v1s1o.Pages
01m pag0b As v1s1o.Page
Sef pags0b = Th1s0ocumehf.Pages
useIom1.L1sfox1.C1ea
Io Each pag0b Th pags0b
Tf pag0b.ackgouhd = Ia1se Theh
useIom1.L1sfox1.AddTfem pag0b.hame
Ehd Tf
hexf
useIom1.ShoW
Ehd Sub
CRATI ON DE DESSI NS P AR AUTOMATI SATI ON 369
Sub 1ormVa11d |)
Les dc1aaf1ohs ef 1hsfucf1ohs sahs appof sohf om1ses.
Toufes 1es fomes de base ohf 1a mme che11e.
Sef masfe = masfes|1)
Sef masfeSheef = masfe.Shapes|"LaPage")
0f1h1 1a Page eh a1e-p1ah.
Sef gPageack = g0oc0aW.Pages.Tfem|1)
gPageack.hame = STPACKCP0uh0
gPageack.ackgouhd = Tue
0f1h1 1`che11e ef 1a d1mehs1oh de 1a page d`a1e p1ah.
Sef pageSheef = gPageack.Shapes|"LaPage")
masfe0aW1hgSca1e = masfeSheef.Ce11s|"Eche11e0ess1h").Iomu1a
masfePageSca1e = masfeSheef.Ce11s|"Eche11ePage").Iomu1a
page0aW1hgSca1e = pageSheef.Ce11s|"Eche11e0ess1h").Iomu1a
pagePageSca1e = pageSheef.Ce11s|"Eche11ePage").Iomu1a
Aps avo1 cup 1es che11es de 1a fome de base ef de 1a page, fomva11d compae
1`che11e de 1a fome de base avec ce11e de 1a page. S1 e11es d1ffehf comme, pa exemp1e,
dahs 1e cas d`uh gaba1f de fomes ach1fecfua1es, fomva11d mef 1a page a 1`che11e de
`1a fome de base. Ceffe pocdue cohvef1f auss1 1a haufeu ef 1a 1ageu de page pou passe
de va1eus bufes a des va1eus a 1`che11e |lau!eu1Page " theJJe0ess1n / theJJePage).
Tf |masfe0aW1hgSca1e <> page0aW1hgSca1e 0 masfePageSca1e <> pagePageSca1e) Theh
Eche11e de dess1h = Ausfemehf
pageSheef.Ce11s|"TypeEche11e0ess1h").Iomu1a = 3
pageSheef.Ce11s|"Eche11e0ess1h").Iomu1a = masfe0aW1hgSca1e
pageSheef.Ce11s|"Eche11ePage").Iomu1a = masfePageSca1e
Ta111e du dess1h = 01mehs1ohs
daW1hgSca1e = masfeSheef.Ce11s|"Eche11e0ess1h")
pageSca1e = masfeSheef.Ce11s|"Eche11ePage")
pagehe1ghf = pageSheef.Ce11s|"haufeuPage")
pageW1dfh = pageSheef.Ce11s|"LageuPage")
pageSheef.Ce11s|"haufeuPage").Iomu1a = pagehe1ghf " daW1hgSca1e / pageSca1e
pageSheef.Ce11s|"LageuPage").Iomu1a = pageW1dfh " daW1hgSca1e / pageSca1e
Ehd Tf
Ehd Sub
370 CHAP I TRE 18
Modif icat ion des paramt res de page
En gnral, les programmes Microsoft
Visual Basic
.
Ident if icat ion des calques dune page ou dune f orme de base
Pour identifier les calques dfinis pour une page ou une forme de base, rcuprez sa
proprit Layers. Cette proprit renvoie une collection Layers, qui contient un objet
Layer pour chaque calque dfini pour la page ou la forme de base. Si la page ou la
forme de base ne comporte pas de calque, sa collection Layers est vide. Un objet Layer
a une proprit Name qui renvoie le nom du calque sous forme de chane. Il sagit de
la proprit par dfaut de lobjet.
Vous pouvez obtenir un objet Layer de la collection Layers en indiquant son nom ou
son indice dans la collection. Par exemple, pour obtenir lobjet Layer dun calque
appel plomberie :
Sef 1aye0b = 1ayes0b.Tfem|"P1ombe1e")
372 CHAP I TRE 18
Lexemple suivant extrait tous les calques dune collection et affiche leur nom dans la
fentre de dbogage de lEditeur Visual Basic.
Comme dans la plupart des collections, les objets de la collection Layers sont indexs
partir de 1. Chaque calque de la collection est reprsent par une ligne dans la
section Calques de la page ou de la forme de base.
La proprit Index dun objet Layer indique lindice dun calque dans la collection
Layers. La proprit Row de cet objet indique la ligne correspondante de la section
Calques de la feuille de page. Ces deux valeurs sont gnralement diffrentes.
Ident if icat ion des calques auxquels une f orme est at t ribue
Utilisez la proprit LayerCount dun objet Shape pour dterminer le nombre total
de calques auxquels la forme est attribue. La proprit Layer du mme objet permet
dobtenir un calque spcifique. Par exemple, linstruction suivante obtient le
deuxime calque auquel est attribue la forme :
Consultez les proprits de lobjet Layer, comme Name, pour plus dinformations sur
ce calque.
Si la forme nest attribue aucun calque, sa proprit LayerCount renvoie 0 (zro) et
une erreur se produit si vous essayez de lire sa proprit Layer.
At t ribut ion de f ormes un calque et suppression
Pour attribuer une forme un calque, appliquez la mthode Add de lobjet Layer. Par
exemple :
Sub CefLayes |)
01m pag0b As v1s1o.Page
01m 1ayes0b As v1s1o.Layes
01m 1aye0b As v1s1o.Laye
01m 1ayehame As Sf1hg
Sef 1ayes0b = pag0b.Layes
Io Each 1aye0b Th 1ayes0b
1ayehame = 1aye0b.hame
0ebug.P1hf 1ayehame
hexf
Ehd Sub
Sef 1aye0b = shp0b.Laye|2)
1aye0b.Add shp0b, peseveMembesI1ag
CRATI ON DE DESSI NS P AR AUTOMATI SATI ON 373
Largument preserveMembersFlag doit tre diffrent de zro (True) si vous attribuez
un groupe au calque sans modifier lappartenance des formes du groupe. Sinon,
utilisez 0 (False) pour attribuer ce calque une forme, ou un groupe et chacune des
formes qui le composent.
Pour annuler lattribution dune forme un calque, appliquez la mthode Remove de
lobjet Layer. Les arguments sont les mmes pour la suppression et pour lajout dun
calque. Par exemple :
Ajout et suppression de calques dans les pages et les f ormes
de base
Pour ajouter un calque une page ou une forme de base, appliquez la mthode Add
de la collection Layers dun objet Page ou Master. Par exemple, pour ajouter un
calque nomm Plomberie une page :
Le nom du nouveau calque doit tre unique dans la page ou dans la forme de base. Si
elle russit, la mthode Add renvoie un objet Layer reprsentant le nouveau calque.
Pour supprimer un calque dune page ou dune forme de base, appliquez la mthode
Delete de lobjet Layer. Par exemple :
Largument deleteShapesFlag doit tre diffrent de zro (True) pour que les formes
attribues au calque soient supprimes. Sinon, utilisez la valeur 0 (False) pour
conserver les formes. Les attributions de forme au calque sont mises jour pour que
ces formes ne fassent plus rfrence au calque supprim.
Modif icat ion des paramt res de calque
Vous pouvez modifier les paramtres de la bote de dialogue Proprits des calques
afin de rendre un calque visible ou imprimable, de dfinir sa couleur de surbrillance,
etc.
Pour modifier les paramtres de calque depuis un programme, dfinissez les formules
des cellules contrlant ces paramtres. Pour ce faire, utilisez la proprit CellsC dun
objet Layer pour obtenir la cellule contenant le paramtre modifier, puis dfinissez
la formule de cette cellule.
1aye0b.Pemove shp0b, peseveMembesI1ag
Sef 1ayes0b = pag0b.Layes
Sef 1aye0b = 1ayes0b.Add|"P1ombe1e")
1aye0b.0e1efe de1efeShapesI1ag
374 CHAP I TRE 18
Par exemple, pour accder la cellule contenant le nom du calque, utilisez une
instruction du type :
CONSEIL : vous pouvez galement accder aux paramtres des calques via la proprit
CellsSRC dun objet Shapereprsentant une feuille de page. Pour plus dinformations,
reportez-vous au chapitre 17, Automatisation des formules .
Pour dterminer la visibilit dun calque, utilisez des instructions telles que :
Pour masquer un calque :
Les constantes visLayerName et visLayerVisible sont dfinies dans la bibliothque de
types de Visio. Pour obtenir la liste des constantes contrlant les paramtres de
calque, reportez-vous lannexe B, Indices de section, de ligne et de cellule
ShapeSheet . Pour plus dinformations sur la modification des paramtres de calque
dans Visio, recherches les mots zone des proprits de calque dans laide en ligne
fournie avec Visio.
Sef 1ayeCe110b = 1aye0b.Ce11sC|v1sLayehame)
Tf 1aye0b.Ce11sC|v1sLayev1s1b1e).Pesu1fTu = 0 Theh
fexf1.Texf = "1hv1s1b1e"
E1se
fexf1.Texf = "v1s1b1e"
Ehd Tf
Sef 1ayeCe110b = 1aye0b.Ce11sC|v1sLayev1s1b1e)
1ayeCe110b.Iomu1a = Ia1se o 0
Sommaire
19
Aut omat isat ion des connexions
dune solut ion Visio
Les dessins avec connexion ou que vous crez avec Microsoft
Visio
. Ces
proprits tirent leurs noms de cette feuille de calcul interne.
FromSheet renvoie la forme dorigine de la connexion et ToSheet la forme avec
laquelle la connexion est effectue. Prenons, par exemple, un dessin qui contient deux
formes nommes Cadre et Poste, et supposons que cette dernire est colle la forme
Cadre. La collection Connects de la forme Poste contient un objet Connect dont la
proprit FromSheet renvoie Poste et dont la proprit ToSheet renvoie Cadre.
Pour savoir quelles formes sont colles une forme spcifique, utilisez la proprit
FromConnects qui renvoie sa collection Connects. La proprit FromSheet de
chaque objet Connect de la collection identifie les formes auxquelles la forme est
colle. Pour reprendre lexemple des quatre formes A, B, C et D, chacune tant colle
E, la proprit FromSheet de chaque objet Connect renvoy de la proprit
FromConnects de E fait rfrence A, B, C et D.
CONSEIL : lors de lutilisation des objets Connect situs dans une collection renvoye par
la proprit Connects dune forme, il convient gnralement de rechercher les formes
auxquelles une forme est relie. Cest la proprit ToSheet de chaque objet Connect qui
fournit ces informations, la proprit FromSheet restant toujours la mme.
Lors de lutilisation des objets Connect situs dans une collection renvoye par la
proprit FromConnectsdune forme, les formes les plus intressantes sont gnralement
celles relies une autre forme. Dans ce cas, cest la proprit FromSheet de chaque objet
Connect qui fournit ces informations, la proprit ToSheet restant toujours la mme.
AUTOMATI SATI ON DES CONNEXI ONS D UNE SOL UTI ON VI SI O 379
Dt erminat ion des part ies connect es des f ormes
Les proprits FromPart et ToPart renvoient des constantes entires qui identifient
lemplacement gnral dune connexion sur une forme. FromPart identifie la partie
de la forme do provient une connexion tandis que ToPart identifie la partie de la
forme cible de la connexion. Les constantes des valeurs FromPart et ToPart valides
sont dfinies dans la bibliothque de types Visio.
Lillustration suivante indique les valeurs FromPart et ToPart renvoyes pour
indiquer les parties concernes par les connexions classiques dun dessin.
Val eurs FromPart et ToPart pour l es
connexi ons cl assi ques d un dessi n
A visGuideX
B visGuideY
C visLeftEdge
D visControlPoint+n
E visConnectionPoint+n
F visBegin
G visEnd
A
C
B
D
E
F
G
380 CHAP I TRE 19
Le tableau suivant rpertorie les connexions entre les formes et les constantes des
valeurs renvoyes par les proprits FromPart et ToPart des formes de lillustration
prcdente.
Une forme pouvant avoir plusieurs poignes de contrle, visControlPoint est une
base qui reprsente la premire poigne de contrle dfinie pour une forme. Si la
valeur renvoye par FromPart est suprieure visControlPoint, elle reprsente la
(n+1)ime poigne de contrle de cette forme (pour obtenir n, soustraire
visControlPoint de la valeur renvoye par FromPart). Cela est valable aussi pour
visConnectionPoint : si la valeur renvoye par ToPart est suprieure
visConnectionPoint, elle reprsente le (n+1)ime point de connexion.
Lopration de collage une poigne de slection, un sommet ou un emplacement
dune forme cre automatiquement un point de connexion ; aucune constante nest
donc dfinie pour ces lments. Pour obtenir des informations sur les parties dune
forme pouvant tre colles, reportez-vous Elments dorigine et de destination
dun collage , page 385 de ce chapitre.
Rcuprat ion des cellules dune connexion
Les proprits FromCell et ToCell dun objet Connect font rfrence des objets Cell
qui reprsentent les cellules ShapeSheet concernes par une connexion. Vous pouvez
rcuprer ou paramtrer la formule dune cellule, son rsultat ou toute autre
proprit de lobjet Cell et lutiliser comme vous le feriez pour toute autre objet Cell,
par exemple sous la forme dun argument pour la mthode GlueTo.
Constantes FromPart et ToPart pour les connexions
Connexion FromPart ToPart
Poigne de contrle colle un
point de connexion, un repre ou
un point de repre
visControlPoint + n visConnectionPoint + n
visGuideX
visGuideY
Forme 1D colle un point de
connexion
visBegin
visEnd
visConnectionPoint + n
Forme 2D colle un repre ou
un point de repre
visRightEdge
visLeftEdge
visTopEdge
visBottomEdge
visMiddleEdge
visCenterEdge
visGuideX
visGuideY
Forme 1D colle un repre ou
un point de repre
visBeginX
visEndX
visBeginY
visEndY
visGuideX
visGuideY
Forme 1D colle en mode
dynamique une forme
visBegin
visEnd
visWholeShape
AUTOMATI SATI ON DES CONNEXI ONS D UNE SOL UTI ON VI SI O 381
Inst ruct ions danalyse dun dessin avec connexions
Lorsque vous tracez un dessin comportant des connexions, retenez les lments
suivants :
Prenez connaissance des types des formes contenues dans le dessin.
Par exemple, le dessin utilise-t-il des formes 1D comme liens entre les formes 2D
ou les poignes de contrle 2D permettent-elles de tracer des lignes dune forme
une autre ? Les lignes figurent-elles toutes entre les occurrences dune forme de
base lien ou certaines sont-elles dessines avec loutil Trait ?
Sachez que les donnes de connexion runies partir dun dessin peuvent avoir des
connexions diffrentes de leur apparence lcran.
Par exemple, les formes ont sur la page un ordre dempilage qui peut avoir une
incidence sur llment auquel la forme est colle. Si lutilisateur colle plusieurs
formes sur le mme point dune autre forme, certaines formes peuvent, comme
lindique la figure suivante, tre colles dautres formes au lieu de la forme
prvue.
Lordre dempilage des formes peut
avoir une incidence sur leurs
connexions.
A Si la rsistance tait colle en premier, elle serait colle au repre.
B Cette diode peut tre colle au repre ou la rsistance.
Prenez en considration lorientation du schma ; dans un graphique orient
comme un diagramme de flux, les parties des formes qui sont colles peuvent ne
pas correspondre aux orientations indiques visuellement.
Par exemple, vous pouvez coller le point de dpart ou le point de fin dune
forme 1D une autre forme et formater le point de dpart ou le point de fin avec
une pointe de flche. Si vous considrez que, sur un dessin, une pointe de flche
indique le point de fin dune forme 1D, vous nobtenez pas ncessairement une
analyse prcise du dessin.
A
B
382 CHAP I TRE 19
Exemples dit rat ion dans les connexions sur une page
La macro ShowPageConnections ci-dessous effectue une itration dans les objets
Connect situs sur la premire page du document actif Visio. Pour chaque objet
Connect, ShowPageConnections extrait les formes relies (FromSheet et ToSheet) et
la partie de chaque forme qui est relie (FromPart et ToPart). A laide des constantes
issues de la bibliothque de types Visio, elle compare ensuite les valeurs de FromPart
et de ToPart chaque valeur possible et affiche, dans la zone de liste dun formulaire
utilisateur, la chane correspondante, ainsi que les autres donnes pour la connexion.
Sub ShoWPageCohhecf1ohs |)
01m pags0b As v1s1o.Pages Co11ecf1oh de Page du documehf
01m pag0b As v1s1o.Page Page de fava11
01m fom0b As v1s1o.Shape 0bef de dpaf de 1a cohhex1oh
01m fo0b As v1s1o.Shap 0bef de desf1haf1oh de 1a cohhex1oh
01m cohs0b As v1s1o.Cohhecfs Co11ecf1oh Cohhecfs
01m coh0b As v1s1o.Cohhecf 0bef Cohhecf de 1a co11ecf1oh
01m fom0afa As Thfege Type de cohhex1oh de dpaf
01m fomSf As Sf1hg Cha1he cohfehahf 1a desc1pf1oh de
1a cohhex1oh de dpaf
01m fo0afa As Thfege Type de cohhex1oh d`a1ve
01m foSf As Sf1hg Cha1he cohfehahf 1a desc1pf1oh 1a
cohhex1oh de desf1haf1oh
L1e 1a co11ecf1oh Pages du documehf
hofez 1`uf111saf1oh de Th1s0ocumehf pou se fe au documehf
couahf
Sef pags0b = Th1s0ocumehf.Pages
L1e uhe fehce dahs 1a pem1e page de 1a co11ecf1oh
Sef pag0b = pags0b|1)
11e 1a co11ecf1oh Cohhecfs de 1a page
Sef cohs0b = pag0b.Cohhecfs
v1de 1a zohe de 11sfe
useIom1.L1sfox1.C1ea
ouc1e pou passe eh evue 1a co11ecf1oh Cohhecfs
Io Each coh0b Th cohs0b
L1e 1`obef Cohhecf couahf dahs 1a co11ecf1oh
Sef coh0b = cohs0b|cuCohhThdx)
L1e 1`1hfomaf1oh Iom
Sef fom0b = coh0b.IomSheef
fom0afa = coh0b.IomPaf
L1e 1`1hfomaf1oh To
Sef fo0b = coh0b.ToSheef
fo0afa = coh0b.ToPaf
Avec fom0afa dfem1he 1e fype de cohhex1oh
Tf fom0afa = v1sCohhecfEo Theh
fomSf = "eo"
E1seTf fom0afa = v1shohe Theh
fomSf = "hohe"
AUTOMATI SATI ON DES CONNEXI ONS D UNE SOL UTI ON VI SI O 383
Exemple de code (suite)
Tesfe fom0afa pou v1sP1ghfEdge,v1soffomEdge,v1sM1dd1eEdge,
v1sTopEdge,v1sLeffEdge,v1sCehfeEdge, v1seg1hX, v1seg1hY,
v1seg1h, v1sEhdX, v1sEhdY,v1sEhd
E1seTf fom0afa >= v1sCohfo1Po1hf Theh
fomSf = "cohfo1Pf" & CSf|fom0afa - v1sCohfo1Po1hf + 1)
E1se
fomSf = "???"
Ehd Tf
Avec fo0afa dfem1he 1e fype de fome auque1 1e 11eh esf
cohhecf
Tf fo0afa = v1sCohhecfEo Theh
foSf = "eo"
E1seTf fo0afa = v1shohe Theh
foSf = "hohe"
E1seTf fo0afa = v1sCu1deX Theh
foSf = "gu1deX"
E1seTf fo0afa = v1sCu1deY Theh
foSf = "gu1deY"
E1seTf fo0afa >= v1sCohhecf1ohPo1hf Theh
foSf = "cohhecfPf" & CSf|fo0afa - v1sCohhecf1ohPo1hf + 1)
E1se
foSf = "???"
Ehd Tf
Aoufe 1`1hfomaf1oh dahs 1a zohe de 11sfe
useIom1.L1sfox1.AddTfem "dpaf " & fom0b.hame & " "
& fomSf & " desf1haf1oh " & fo0b.hame & " " & foSf
hexf
useIom1.ShoW
Ehd Sub
384 CHAP I TRE 19
Crat ion dun dessin avec connexions part ir dun programme
Pour crer un dessin avec connexions partir dun programme, vous insrez des
formes de base sur une page de dessin, puis collez ces formes. Le collage est une
opration o lorientation est un facteur important ; il est donc indispensable de
connatre les deux lments de chaque collage. Une fois que les formes sont colles,
vous pouvez dplacer une forme laquelle dautres formes sont colles sans rompre
leurs connexions, mais la rciproque nest pas vraie. Cela reste valable si vous dplacez
les formes depuis un programme ou dans une fentre de dessin Visio. Prenons, par
exemple, une ligne colle un rectangle. Le dplacement du rectangle ne rompt pas la
connexion, la ligne reste colle au rectangle et stire en consquence. En revanche, le
dplacement de la ligne rompt la connexion.
Ce dessin montre le dplacement
des formes lies. La ligne est colle
au rectangle (A). Si vous dplacez
le rectangle (B), ces formes restent
lies. Si vous dplacez la ligne (C),
la connexion est rompue.
Pour coller des f ormes part ir dun programme :
1 Choisissez la forme coller une autre forme, dterminez cette autre forme et
choisissez lemplacement de liaison.
2 Rcuprez un objet Cell qui reprsente la partie de la forme (comme un point de
fin, un point de contrle ou un bord de la forme) sur laquelle vous souhaitez
effectuer le collage.
3 Utilisez la mthode GlueTo pour spcifier la partie de lautre forme (comme un
point de connexion, un sommet ou une poigne de slection) ou la mthode
GlueToPos pour spcifier un emplacement visant crer la connexion entre les
formes.
A B C
AUTOMATI SATI ON DES CONNEXI ONS D UNE SOL UTI ON VI SI O 385
Elment s dorigine et de dest inat ion dun collage
Seules certaines parties dune forme peuvent tre colles. Par exemple, un point de fin
dune forme 1D ou une poigne de contrle dune forme 2D peut tre colle un
point de connexion, mais le ct dune forme 2D peut seulement tre coll un
repre ou un point de repre.
Le moyen le plus simple de coller un objet un autre consiste utiliser une forme de
base avec une poigne de contrle qui tend une ligne que vous pouvez coller lautre
forme. Lillustration suivante contient, par exemple, la forme de base Poste issue du
gabarit Organigrammes (Formes dorganigramme.vss). La poigne de contrle situe
dans la partie suprieure de cette forme de base peut tre colle une autre forme. La
forme de base comporte aussi quatre points de connexion nomms ainsi que des
emplacements sur lesquels dautres formes peuvent tre colles. Les rfrences de
cellule utiliser pour coller ces emplacements figurent dans lillustration suivante.
Rfrences de cellule pour la
poigne de contrle et les points de
connexion sur la forme de base
Poste
A Connections.haut
B Connections.gauche
C Connections.droite
D Connections.bas
E Connections.X1
Les poignes de contrle fonctionnent pour de nombreux types de diagramme li. En
revanche, si vous nutilisez pas de poignes de contrle dans cet objectif, vous pouvez,
la place, utiliser des formes 1D. Collez le point de dpart et le point de fin de chaque
forme 1D entre deux formes 2D, comme lindique lillustration suivante.
Rfrences de cellule pour les
points de dpart et de fin dune
forme 1D
A DpartX ou DpartY
B FinX ou FinY
A
B C
D
E
A B
386 CHAP I TRE 19
Collage sur la partie dune forme reprsente par deux cellules
De nombreux points sur une forme, les poignes de contrle, les points de connexion,
les points de fin, les sommets gomtriques, etc. sont spcifis par deux cellules
ShapeSheet
, une pour chacune des coordonnes x,y du point. Chaque fois que vous
effectuez un collage sur la partie de la forme reprsente par une paire de cellules,
vous pouvez spcifier lune de ces cellules. Par exemple, pour indiquer la premire
poigne de contrle de la forme Poste, vous pouvez spcifier Points de contrle.X1 ou
Points de contrle.Y1.
Le tableau suivant rpertorie les cellules ShapeSheet qui reprsentent les parties dune
forme susceptibles de faire lobjet de collages.
Collage une poigne de slection
Une cellule dalignement correspond la poigne de slection situe au milieu de la
partie spcifie de la forme. Par exemple, AlignHaut correspond la poigne de
slection situe au milieu du bord suprieur de la forme. Dans un programme, le
collage une cellule dalignement revient effectuer un collage sur la poigne de
slection correspondante de la forme dans une fentre de dessin.
Vous neffectuez pas rellement le collage sur la poigne de slection elle-mme, mais
vous utilisez la poigne de slection pour crer un point de connexion cet
emplacement de la forme. Cela reste toujours valable, que vous colliez les formes
partir dun programme ou dans une fentre de dessin Visio. Une ligne est ajoute la
section Points de connexion de la forme pour reprsenter le nouveau point de
connexion.
Cellules types pour le collage des parties dune forme
Elment coller Cellule rcuprer
Cellule de destination dune autre
forme
Point de dpart
ou de fin d une
forme 1D
DpartX ou DpartY, FinX ou
FinY
Connections.Xn ou Connections.Yn
Gomtrie.Xn ou Gomtrie.Yn
AlignGauche, AlignCentre,
AlignDroite, AlignHhaut, AlignM ilieu
ou AlignBas
AxeX ou AxeY ( coller en mode
dynamique)
Poigne de
contrle
Points de contrle.Xn ou
Points de contrle.Yn, n tant
le numro de ligne de cette
poigne de contrle
Connections.Xn ou Connections.Yn
Gomtrie.Xn ou Gomtrie.Yn
AlignGauche, AlignCentre,
AlignDroite, AlignHhaut, AlignM ilieu
ou AlignBas
AxeX ou AxeY ( coller en mode
dynamique)
Bord d une
forme
AlignGauche, AlignCentre,
AlignDroite, AlignHaut,
AlignM ilieu ou AlignBas
Toute cellule Repre
AUTOMATI SATI ON DES CONNEXI ONS D UNE SOL UTI ON VI SI O 387
Collage un repre ou un point de repre
Un repre est une ligne non imprimable pouvant tre dplace dans la fentre de
dessin Visio depuis la rgle et servant aligner des formes. Vous pouvez coller des
formes un repre, puis dplacer le repre et les formes qui lui sont lies. Lorsque
vous collez une forme 1D un repre, vous pouvez indiquer toute cellule du repre.
Par exemple :
Collage avec des objet s Cell
Une fois que vous avez choisi la partie de la forme coller lautre forme, rcuprez
lobjet Cell qui reprsente cette partie de la forme. Pour rcuprer cet objet, rcuprez
la proprit Cells de lobjet Shape et indiquez un nom cellule. Par exemple,
linstruction suivante rcupre un objet Cell qui reprsente la coordonne x de la
premire poigne de contrle de la forme reprsente par shpObj1 :
Si, sur une forme, un point est reprsent par deux cellules, vous pouvez nindiquer
quune seule cellule, quelle quelle soit. Dans lexemple ci-dessus, Points de
contrle.Y1 fonctionne aussi correctement.
Pour plus dinformations sur lutilisation des objets Cell, reportez-vous au
chapitre 17, Automatisation des formules .
Collage dune f orme une aut re f orme
Pour coller une forme une autre, vous pouvez utiliser la mthode GlueTo ou
GlueToPos dun objet Cell. Avec la mthode GlueTo, spcifiez une rfrence de
cellule une partie de lautre forme ; la mthode dfinit ensuite la formule de lobjet
Cell en fonction de la rfrence cette cellule. Avec la mthode GlueToPos, indiquez
deux valeurs proportionnelles du plan largeur-hauteur de lautre forme. La mthode
GlueTo ou GlueToPos cre un point de connexion sur cette partie de la forme ou cet
emplacement.
Par exemple, la formulation suivante utilise GlueTo pour coller la partie dune forme
reprsente par celObj, la poigne de contrle de lillustration, la forme reprsente
par shpObj2, au quatrime point de connexion de cette forme, lequel a t renomm
plus explicitement, cest--dire Connections.bas.
10Shp.Ce11s|"0pafX").C1ueTo Cu1deShp.Ce11s|"AxeX")
20Shp.Ce11s|"A11ghCauche").C1ueTo Cu1deShp.Ce11s|"AxeX")
Sef ce10b = shp0b1.Ce11s|"Po1hfs de cohf1e.X1")
ce10b.C1ueTo shp0b2.Ce11s|"Cohhecf1ohs.bas")
388 CHAP I TRE 19
Collage laide de la mthode
GlueTo dune poigne de contrle
un point de connexion
.
A celObj reprsente la poigne de contrle Points de contrle.X1 de shpObj1.
B celObj.GlueTo shpObj2.Cells ( Connections.bas ) colle la poigne de contrle de shpObj1 au
point de connexion de shpObj2 qui a t nomm bas .
Linstruction suivante utilise GlueToPos pour coller la mme forme au centre de
shpObj2, crant un nouveau point de connexion cet emplacement. Lemplacement
est spcifi sous la forme de valeurs proportionnelles du plan largeur-hauteur de la
forme, et non sous la forme de coordonnes x,y. Pour crer un point de connexion
hors de ce plan, utilisez des fractions du plan ngatives ou suprieures 1.
Collage avec la mthode
GlueToPos dune poigne de
contrle un emplacement
A celObj reprsente la poigne de contrle Points de contrle.X1 de shpObj1.
B GlueToPos (shpObj2,.5,.5) colle la poigne de contrle de shpObj1 au centre de shpObj2.
REMARQUE : pour coller la forme de manire dynamique, utilisez la mthode GlueTo
avec la cellule AxeX ou AxeY comme cellule de destination du collage. Le collage sur AxeX
indique une prfrence de dplacement horizontal alors que le collage sur AxeY indique
une prfrence de dplacement vertical. Toutes les autres rfrences de cellule seront par
dfaut paramtres sur le collage statique. Pour plus dinformations sur les collages
statique et dynamique, effectuez une recherche dans laide en ligne livre avec Visio.
ce10b.C1ueToPos shp0b2, .S, .S
B
A
B
A
AUTOMATI SATI ON DES CONNEXI ONS D UNE SOL UTI ON VI SI O 389
Exemple de connexion de f ormes dans un diagramme de f lux
Le programme Microsoft
Visual Basic
Visio
avec une
autre source de donnes, comme une base de donnes, vous serez intress par
diffrents moyens dassocier des donnes des formes et des pages. A laide des
proprits personnalises et des cellules ShapeSheet
Visual Basic
pour
Applications (VBA) pour rassembler les donnes saisies partir du dessin termin.
Dans les lignes dfinies par lutilisateur, les cellules Valeur et Message permettent de
stocker une valeur et de la retrouver ultrieurement dans le mme tat. Comme vous
pouvez associer des noms uniques des lignes dfinies par lutilisateur, il est peu
vraisemblable que dautres programmes connaissent lexistence des cellules de ces
lignes, et encore moins quils tentent dcrire dans ces cellules. Les cellules Montage,
au contraire, sont susceptibles de servir dans de nombreux programmes ; les valeurs
stockes dans ces cellules peuvent donc tre remplaces lorsque vous vous y attendez
le moins.
A laide de la mthode AddNamedRow, vous pouvez ajouter une ligne de proprit
personnalise ou dfinie par lutilisateur dans un objet Shape. Si la section Proprits
personnalises ou Cellules personnalises nexiste pas, la mthode AddNamedRow
lajoute la feuille de calcul ShapeSheet
Visio
, les vnements
rsultent des actions de lutilisateur : ouvrir ou fermer des documents, insrer ou
supprimer des formes dans la page de dessin, modifier le texte ou les formules des
formes. Il est trs utile de savoir que ces vnements se produisent : votre solution
peut ainsi grer des actions utilisateur qui seraient sinon difficiles prvoir.
Vous pouvez grer les vnements dans un programme ou par lintermdiaire des
formules Visio. Comme pour toutes les solutions Visio, commencez par intgrer le
maximum de la fonctionnalit dans des formules. Pour plus dinformations sur la
gestion des vnements laide de formules, reportez-vous au chapitre 7,
Amlioration du comportement des formes
Visio propose deux modes de gestion des vnements dans un programme :
Dans Microsoft
Visual Basic
Visual Basic
Office).
Chaque projet VBA dans Visio est conu pour capturer les vnements dclenchs par
lobjet Document associ au projet (ThisDocument). Pour rpondre aux vnements
dclenchs par dautres objets Visio, vous pouvez dclarer des variables objet laide du
mot-cl WithEvents, qui met disposition tous les vnements dfinis pour un type
dobjet donn et qui fournit la structure des procdures de gestion des vnements du
projet. Il ne vous reste plus qu rdiger le code pour les vnements grer.
Vous devez dclarer les variables objet WithEvents dans des modules de classe. Vous
pouvez les dclarer dans la classe ThisDocument, module de classe par dfaut de tout
projet VBA dans Visio, ou dans un autre module de classe que vous insrez dans le
projet.
La rdaction du code pour des vnements est galement un moyen de grer les
vnements dclenchs par des contrles Microsoft
ActiveX
Visio
2000).
Gest ion des vnement s dclenchs par ThisDocument
Tous les projets VBA dans Visio comportent un module de classe ThisDocument qui
rpond automatiquement aux vnements dclenchs par lobjet Document associ
au projet.
Pour plus dinformations sur lutilisation de lEditeur Visual Basic, reportez-vous au
chapitre 15, Programmation dans Visio avec Microsoft VBA .
Pour crer une procdure dvnement dans ThisDocument :
1 Double-cliquez sur ThisDocument dans lexplorateur de projet : la fentre de code
associe au document apparat. (Si lexplorateur de projet napparat pas dans
lEditeur Visual Basic, choisissez Affichage > Explorateur de projet.)
La zone de liste dans langle suprieur gauche de la fentre de code est la zone des
objets ; la zone de liste dans langle suprieur droit est la zone des procdures.
2 Cliquez sur Document dans la zone de liste des objets ; lvnement dfini pour un
objet Document apparat dans la zone des procdures.
GESTI ON DES VNEMENTS DANS VI SI O 413
3 Slectionnez un vnement dans la zone de liste des procdures : VBA cre alors
une procdure dvnement vide dans laquelle vous pouvez rdiger le code de
gestion de lvnement. Les procdures dvnement sont toujours intitules
object_event.
Fentre de code ThisDocument
A Zone des objets
B Structure de la procdure
C Zone des procdures
Par exemple, le programme suivant gre deux vnements, DocumentOpened et
ShapeAdded, qui permettent de faire le suivi du nombre de formes venant de la
forme de base appele Carr et que lutilisateur ajoute au dessin :
Le gestionnaire dvnements DocumentOpened est excut lors de la cration
dun document laide du modle contenant ce code. Le gestionnaire cre une
variable de type entier, intSquares, qui stocke le dcompte.
A B C
414 CHAP I TRE 21
Le gestionnaire dvnements ShapeAdded est excut chaque fois quune forme
est insre dans la page de dessin, quelle vienne dun gabarit, quelle soit dessine
directement sur la page laide dun outil de dessin ou quelle soit colle depuis le
Presse-Papiers de Windows. Le gestionnaire vrifie la proprit Forme de base du
nouvel objet Shape et, si cette forme est base sur la forme de base Carr,
incrmente la valeur de la variable intSquares.
Pour grer les vnement s dclenchs par ThisDocument (rcapit ulat if ) :
1 Ouvrez lEditeur Visual Basic en cliquant sur le bouton Editeur Visual Basic (
de la barre doutils Dveloppeur ou choisissez Outils > Macros > Editeur
Visual Basic.
2 Dans lexplorateur de projet, double-cliquez sur ThisDocument pour ouvrir la
fentre de code correspondante.
3 Slectionnez Document dans la zone de liste des objets : les vnements dclenchs
par un document apparaissent dans la zone des procdures.
4 Slectionnez lvnement grer : Visio cre une procdure dvnement vide
pour cet vnement.
5 Remplissez la procdure dvnement en indiquant le code excuter lorsque
lvnement se produit.
hombe de cas aoufs au dess1h
01m 1hfSquaes As Thfege
P1vafe Sub 0ocumehf0ocumehf0pehed|yva1 0oc as Tv0ocumehf)
Th1f1a11saf1oh du hombe de cas aoufs
1hfSquaes = 0
Ehd Sub
P1vafe Sub 0ocumehfShapeAdded|yva1 Shape As TvShape)
01m masf0b As Masfe
L1e 1a pop1f Masfe de 1a fome
Sef masf0b = Shape.Masfe
v1f1e s1 1a fome a uhe fome de base.
S1 ce h`esf pas 1e cas 1a fome sea ce 1oca1emehf
Tf hof | masf0b Ts hofh1hg ) Theh
v1f1e s1 1a fome de base esf Ca
Tf masf0b.hame = "Squae" Theh
Thcmehfe 1e compfeu a chaque ca aouf
1hfSquaes = 1hfSquaes + 1
Ehd Tf
Ehd Tf
Msgox "hombe de cas : " & 1hfSquaes, vbThfomaf1oh
Ehd Sub
GESTI ON DES VNEMENTS DANS VI SI O 415
Dclarat ion dune variable objet laide du mot -cl
Wit hEvent s
Pour grer les vnements dclenchs par des objets Visio diffrents du document du
projet, vous pouvez utiliser le mot-cl VBA WithEvents pour dclarer une variable
objet correspondant lobjet Visio dont vous voulez grer les vnements. Lexemple
suivant dcrit la dfinition dune variable objet visant grer les vnements
dclenchs par un objet Page.
Dans ThisDocument, vous dclarez une variable objet en utilisant le mot-cl
WithEvents et un type dobjet Visio :
En plus de permettre daccder aux proprits et aux mthodes dun objet,
lutilisation du mot-cl WithEvents dans cette dclaration donne la variable objet la
possibilit de grer les vnements dclenchs par lobjet Page auquel elle est associe.
Tous les vnements du groupe dvnements de lobjet sont dclenchs et vous
fournissez le code de gestion des vnements.
En dclarant cette variable WithEvents comme type Visio.Page, VBA peut identifier la
bibliothque de types (Visio) et le groupe dvnements (Page) capturer. Dsormais,
lorsque vous slectionnez pageObj dans la zone de liste des objets de lEditeur Visual
Basic, les vnements dclenchs par lobjet Page apparaissent dans la zone des
procdures.
Par exemple, la procdure dvnement suivante indique le nom des formes
slectionnes dans la fentre Excution chaque fois quune forme est supprime de la
page active du projet, reprsente par pageObj :
Pour que cette procdure soit excute, toutefois, vous devez lier lobjet dclar
(pageObj) une occurrence de lobjet. Comme cette liaison doit tre excute avant le
dclenchement de lvnement BeforeShapeDelete, vous pouvez la placer dans une
procdure dvnement qui sera excute avant BeforeShapeDelete, par exemple
celle de lvnement DocumentOpened du document.
01m W1fhEvehfs page0b As v1s1o.Page
Pub11c Sub page0befoeShape0e1efe|yva1 Shape As TvShape)
0ebug.P1hf Shape.hame
Ehd Sub
P1vafe Sub 0ocumehf0ocumehf0pehed|yva1 doc As Tv0ocumehf)
Sef page0b = Acf1vePage
Ehd Sub
416 CHAP I TRE 21
Une fois que vous avez termin avec la rfrence dobjet, librez la rfrence de
variable. Cela correspond ce qui se passe gnralement dans le gestionnaire
dvnements BeforeDocumentClose. Par exemple :
Pour plus dinformations sur le mot-cl WithEvents, consultez votre documentation
Microsoft Visual Basic ou VBA.
Pour dclarer une variable objet Wit hEvent s dans ThisDocument
(rcapit ulat if ) :
1 Ouvrez lEditeur Visual Basic et double-cliquez sur lobjet ThisDocument dans
lexplorateur de projet.
2 Dans la fentre de code, dfinissez la variable objet laide du mot-cl Visual Basic
WithEvents dans la section Gnral du module.
3 Slectionnez lobjet dans la zone de liste des objets : les vnements dclenchs par
cet objet apparaissent dans la zone des procdures.
4 Slectionnez lvnement grer : Visio cre une procdure dvnement vide
pour cet vnement.
5 Remplissez la procdure dvnement en indiquant le code excuter lorsque
lvnement se produit.
6 Affectez la valeur de loccurrence de lobjet la variable objet.
7 Affectez la valeur Nothing la variable une fois que vous avez termin.
Df init ion dune classe recevant des vnement s
Vous pouvez acclrer le processus de traitement des vnements dclenchs par un
type prcis dobjet Visio en dfinissant une classe destine recevoir les variables
dvnement et le code de gestion de lvnement. La rdaction du code pour les
vnements dans un module de classe est trs semblable la rdaction du code pour
les vnements dans ThisDocument. Toutefois, lorsque vous utilisez un module de
classe destin recevoir des vnements, vous devez crer une occurrence de la classe
et lassocier un objet rel. (Lobjet ThisDocument est instanci et li lobjet
Document associ au projet par dfaut.)
Lorsque vous grez des vnements dans un autre module de classe, vous rdigez du
code deux endroits, dans le module de classe et dans le programme :
Le module de classe comporte des dclarations de variable WithEvents du niveau
du module, du code dans des procdures dvnement (code pour les vnements)
et du code pour lier la variable aux objets Visio qui dclenchent les vnements.
P1vafe Sub 0ocumehfefoe0ocumehfC1ose|yva1 doc As Tv0ocumehf)
sef page0b = hofh1hg
Ehd Sub
GESTI ON DES VNEMENTS DANS VI SI O 417
Le programme (gnralement ThisDocument) comporte des dclarations de
variable du niveau du module du type de classe, et du code qui cre et attribue une
occurrence de la classe ces variables.
Code dans le module de classe
Pour ajouter une classe un projet, choisissez Insertion > Module de classe. Vous
pouvez attribuer nimporte quel nom cette classe. Vous allez placer dans cette classe
la totalit du code de gestion des vnements. Prenez lexemple suivant : vous
souhaitez grer des vnements provenant de Visio dans un projet (dans ce cas, lobjet
source est un objet Application).
1 Dans le module de classe, dclarez une variable WithEvents du niveau du module
laide de linstruction suivante :
2 Une fois que vous avez dclar cette variable, appObj apparat dans la zone des
objets du module de classe. Lorsque vous le slectionnez, les vnements valides
pour cet objet apparaissent dans la zone des procdures. Slectionnez un
vnement dans cette zone : une procdure vide est ajoute au module de classe et
vous pouvez placer le code pour lvnement slectionn. Par exemple, la solution
peut collecter des informations relatives aux formes du dessin quelle traitera au
dclenchement de lvnement NoEventsPending.
3 Vous devez associer la variable WithEvents un objet source rel. Pour ce faire,
utilisez linstruction Set. La variable WithEvents est gnralement attribue dans
la procdure Initialize du module de classe et paramtre sur la valeur Nothing
dans lvnement Terminate du module.
Code dans le programme
Le gestionnaire dvnements est install, mais il ne sera pas activ tant que vous
naurez pas dfini et cr une occurrence de la classe.
1 Ajoutez une rfrence la classe laide de linstruction suivante (gnralement du
niveau du module) :
01m W1fhEvehfs app0b As v1s1o.App11caf1oh
Sef app0b = App11caf1oh
01m MaC1asse1 As MyS1hkC1ass
418 CHAP I TRE 21
2 Crez une occurrence de la classe. Par exemple, si vous souhaitez rpondre des
vnements dclenchs par lobjet Application comme lindique la section
prcdente, vous pouvez crer une occurrence du module de classe dans
lvnement DocumentOpened du document. Pour crer une occurrence du
module de classe, utilisez le mot-cl New :
Lorsque vous crez une occurrence de la classe, son vnement Initialize est
dclench et la variable WithEvents est lie un objet rel (reportez-vous
ltape 3 de la procdure indique la section prcdente). Une fois que vous avez
termin avec loccurrence de la classe, librez-la en lui attribuant la valeur
Nothing. Cela correspond ce qui se passe gnralement dans lvnement
BeforeDocumentClose du programme :
Pour plus dinformations sur le mot-cl New, consultez votre documentation
Visual Basic ou VBA.
Pour crer un module de classe dans un projet dest in recevoir des vne-
ment s (rcapit ulat if ) :
1 Insrez un module de classe dans le projet.
2 Dclarez une variable objet du niveau du module laide du mot-cl WithEvents
dans le module de classe.
3 Dans le module de classe, slectionnez la variable objet dans la zone de liste des
objets ; les vnements qui peuvent tre grs par cette variable apparaissent dans
la zone des procdures.
4 Slectionnez lvnement grer et placez le code dans la structure de la
procdure.
5 Crez une occurrence du module de classe dans le programme.
6 Paramtrez la variable WithEvents sur lobjet source dont vous souhaitez recevoir
les vnements.
Exemple de module de classe rpondant aux vnement s
Lexemple suivant prsente un projet Visio qui utilise une variable WithEvents pour
contrler les vnements se produisant dans Visio. Lorsque ce projet est excut, ce
gestionnaire dvnements affiche le document et le nom de toutes les formes ajoutes
tous les documents ouverts dans Visio.
Sef MaC1asse1 = heW MyS1hkC1ass
Sef MaC1asse1 = hofh1hg
GESTI ON DES VNEMENTS DANS VI SI O 419
Le projet dfinit une classe intitule Listener. Dans la classe Listener, procdez de la
manire suivante :
Dclarez une variable WithEvents prive de type Visio.Application.
Rdigez le code pour lvnement ShapeAdded de lapplication.
Liez la variable WithEvents un objet Application lorsque la classe Listener est
instancie et annulez cette liaison lorsque la classe est termine.
Dans ThisDocument :
Dfinissez une variable de type Listener.
Crez une occurrence de Listener lorsque le document entre en mode dexcution,
et librez lobjet lorsque le document entre en mode de conception ou que le
document est ferm.
Code dahs 1e modu1e de c1asse appe1 L1sfehe
01m W1fhEvehfs mapp As v1s1o.App11caf1oh
P1vafe Sub C1assTh1f1a11ze|)
Sef mapp = App11caf1oh
Ehd Sub
P1vafe Sub C1assTem1hafe|)
Sef mapp = hofh1hg
Ehd Sub
P1vafe Sub mappShapeAdded|yva1 Shape As TvShape)
0ebug.P1hf Shape.0ocumehf.hame "/" Shape.hame
Ehd Sub
Code dahs Th1s0ocumehf
01m m11sfehe As L1sfehe
P1vafe Sub 0ocumehfPuhModeEhfeed|yva1 doc As Tv0ocumehf)
Sef m11sfehe = heW L1sfehe
Ehd Sub
P1vafe Sub 0ocumehf0es1ghModeEhfeed|yva1 doc As Tv0ocumehf)
Sef m11sfehe = hofh1hg
Ehd Sub
P1vafe Sub 0ocumehfefoe0ocumehfC1ose|yva1 doc As Tv0ocumehf)
Sef m11sfehe = hofh1hg
Ehd Sub
420 CHAP I TRE 21
Objet s Event Visio
Un objet Event Visio associe un vnement une action, quil sagisse de lancer un
programme complmentaire ou de signaler un objet du programme (galement
appel objet rcepteur ou rcepteur dvnements) que lvnement sest produit. La
solution cre des objets Event dcrivant les vnements grer et indique
lapplication Visio laction quelle doit excuter. Lorsque lvnement se produit,
lobjet Event est dclench et lance son action.
Vous devez commencer par dterminer le type dobjet Event ncessaire votre
solution. Quel est lobjet source ? Quels vnements devez-vous recevoir ? Comment
la solution va-t-elle rpondre aux vnements quelle reoit ? Une fois que vous avez
dfini ces paramtres, crez un objet Event qui lance un programme complmentaire
ou qui reoit des notifications.
REMARQUE : dans les versions antrieures Microsoft Visual Basic 5.0 et Visual Basic
pour Applications (VBA) 5.0, cette procdure tait la seule faon de crer un gestionnaire
dvnements dans Visio. Si vous dveloppez des solutions dans un autre langage que
VBA, cela reste gnralement la meilleure technique. Mais si vous dveloppez des
solutions dans Visual Basic ou VBA 5.0 (ou versions ultrieures), vous prfrerez
peut-tre rdiger du code pour les vnements. Pour plus dinformations sur la rdaction
du code pour les vnements dans Visio, reportez-vous la section Rdaction du code
pour les vnements , page 411.
Df init ion de lobjet Event
Avant de crer un objet Event, vous devez dfinir les paramtres suivants :
La porte du dclenchement de lobjet Event.
Le ou les vnements que vous devez recevoir.
Laction excuter au dclenchement de lvnement : excution dun programme
complmentaire ou envoi dune notification un objet dans un programme en
cours dexcution.
Dfinition de la porte
La porte dtermine lobjet source dont la collection EventList reoit lobjet Event.
Tout objet comportant une collection EventList peut tre source dvnements. Pour
une question de performances, ajoutez lobjet Event la collection EventList de
lobjet le plus bas dans la hirarchie qui peut dclencher lobjet Event dans la porte
souhaite.
GESTI ON DES VNEMENTS DANS VI SI O 421
Indication du ou des vnements dclenchant une action
Vous indiquez lvnement qui vous intresse en fournissant son code dvnement
dans la mthode Add ou AddAdvise. Dans la bibliothque de types Visio, les codes
dvnement ont pour prfixe visEvt. Dans certains cas, le code dvnement est une
combinaison de plusieurs codes. Par exemple, le code dvnement pour ShapeAdded
est visEvtAdd + visEvtShape. Dans certains cas, vous pouvez combiner des codes de
manire indiquer un intrt dans plusieurs vnements par un mme objet Event.
Par exemple, le code dvnement visEvtAdd + visEvtPage + visEvtShape signale que
vous tes intress par ShapeAdded et par PageAdded.
Lors du dclenchement dun objet Event, le moteur Visio transmet le code de
lvnement qui sest produit, mme si le code dvnement de lobjet Event signale
plusieurs vnements. Pour reprendre le dernier exemple, lors de lajout dune page,
le moteur Visio transmet le code dvnement visEvtAdd + visEvtPage.
REMARQUE : Visual Basic et VBA renvoient un message derreur de dpassement
lorsquils excutent des instructions utilisant visEvtAdd. Par exemple :
Sef evf = evfL1sf.AddAdv1se|v1sEvfAdd + v1sEvfShape, s1hk0b, "", "")
Les facteurs suivants gnrent un problme de dpassement :
Le premier argument de la mthode AddAdviseest un nombre entier cod sur 2 octets.
Comme visEvtAdd est dclar comme membre dune numration de la bibliothque
de types Visio, il est trait comme un entier sur 4 octets.
La valeur de visEvtAdd est &H8000.
Visual Basic et VBA ne prennent pas en charge les valeurs arithmtiques sans signe.
Comme visEvtAdd est une valeur code sur 4 octets, que Visual Basic et VBA considrent
comme positive, visEvtAdd+visEvtShapeest trait comme 32768+64 = 32832, qui est en
dehors de la plage des valeurs possibles pour une valeur avec signe code sur 2 octets.
Si visEvtAdd est dclar de manire explicite en tant que quantit code sur 2 octets avec
la valeur &H8000, Visual Basic et VBA la considrent comme ngative, et
visEvtAdd+visEvtShapeest trait comme 32768+64 = 32704, qui est dans la plage des
valeurs avec signe codes sur 2 octets possibles.
Pour dclarer visEvtAdd en tant que valeur code sur 2 octets dans un programme,
ajoutez linstruction suivante :
C1oba1 Cohsf v1sEvfAddx = &h000
Un autre moyen permettant dutiliser visEvtAdd consiste inclure Visconst.bas dans le
projet. Pour localiser le fichier Visconst.bas, reportez-vous la section Matriaux de
rfrence en ligne , page 4. Pour ajouter un fichier un projet VBA, choisissez Fichier >
Importer un fichier. Pour ajouter un fichier un projet Visual Basic, choisissez Projet >
Ajouter un fichier.
422 CHAP I TRE 21
Choix de laction excuter
Laction dclencher dtermine la mthode employer pour crer lobjet Event, Add
ou AddAdvise. Une fois que vous avez choisi lobjet source, vous pouvez crer lobjet
Event en lajoutant la collection EventList de lobjet source.
Pour excuter un programme complmentaire ou un autre programme externe,
crez un objet Event laide de la mthode Add de la collection EventList de
lobjet source.
Pour envoyer une notification, crez un objet Event laide de la mthode
AddAdvise de la collection EventList de lobjet source. Vous devez galement
indiquer Visio lobjet quil faut notifier. Cela correspond une rfrence au
rcepteur dvnements.
Pour plus dinformations sur les mthodes Add et AddAdvise, reportez-vous laide
en ligne Rfrence du dveloppeur (accessible via ? > Rfrence du dveloppeur)
fournie avec Visio.
Obt ent ion dinf ormat ions concernant un objet Event
Une fois que vous avez cr un objet Event, vous pouvez obtenir des informations le
concernant en effectuant une requte sur ses proprits (en suivant la procdure
dcrite dans laide en ligne Rfrence du dveloppeur fournie avec Visio). Par ailleurs,
la proprit EventInfo de lobjet Application fournit des informations
supplmentaires sur certains vnements aprs leur dclenchement. Par exemple, une
fois que lvnement ShapesDeleted a t dclench, vous obtenez les noms des
formes supprimes de la proprit EventInfo.
Comme il nexiste quune proprit EventInfo pour de nombreux vnements
potentiels, vous devez prciser lvnement grer lorsque vous rcuprez EventInfo.
Pour ce faire, transmettez le numro de squence de lvnement (que Visio transmet
en tant que troisime argument lorsquil appelle VisEventProc sur lobjet rcepteur
correspondant), ou transmettez visEvtIDMostRecent pour lvnement le plus
rcent. Si vous ne prcisez aucune autre information pour lvnement, EventInfo
renvoie une chane vide.
Pour plus dinformations sur les donnes transmises par un vnement donn,
effectuez une recherche laide de cet vnement dans laide en ligne Rfrence du
dveloppeur fournie avec Visio.
GESTI ON DES VNEMENTS DANS VI SI O 423
Crat ion dun objet Event excut ant un programme
complment aire
Vous crez un objet Event qui lance un programme complmentaire laide de la
mthode Add de la collection EventList. Pour crer un objet Event qui lance un
programme complmentaire, vous appelez la mthode Add avec les arguments
suivants :
Le code du ou des vnements grer.
Le code daction visActCodeRunAddon.
Le nom du programme complmentaire excuter.
La chane darguments transmettre au programme complmentaire lorsque
lobjet Event est dclench (facultatif).
Lors du dclenchement de lobjet Event, Visio transmet la chane darguments en tant
quarguments de ligne de commande si le programme complmentaire est un
fichier .EXE, ou en tant que champ lpCmdLineArgs de la structure VAOV2LSTRUCT
transmise un programme complmentaire mis en oeuvre par une bibliothque
Visio (VSL).
Par exemple, le code suivant cre un objet Event qui excute le programme
complmentaire Showargs.exe et transmet la chane /args=Forme ajoute ! en tant
quargument de ligne de commande. Lobjet Event est ajout la collection EventList
du document.
Lorsquune forme est insre dans une page du document, lvnement ShapeAdded
dclenche le lancement du programme complmentaire Showargs.exe, dont lobjectif
est didentifier la forme ajoute avec la chane Forme ajoute ! .
P1vafe Sub IomLoad|)
01m evehfs0b As v1s1o.EvehfL1sf
01m doc0b As v1s1o.0ocumehf
Ce uh houveau dess1h
uhe occuehce a da f ass1ghe a gappv1s1o.
Sef doc0b = gappv1s1o.0ocumehfs.Add|"")
L1e 1a co11ecf1oh EvehfL1sf de ce documehf
Sef evehfs0b = doc0b.EvehfL1sf
Aoufe uh obef Evehf qu1 s`excufea au dc1ehchemehf d`vhemehf
evehfs0b.Add v1sEvfShape + v1sEvfAdd, v1sAcfCodePuhAddoh,
"Sh0WAPCS.EXE", "/ags=Iome aoufe !"
Ehd Sub
424 CHAP I TRE 21
Persist ance dun objet Event excut ant un programme
complment aire
Un objet Event excutant un programme complmentaire peut tre stock dans un
document Visio si la proprit PersistsEvents de lobjet source a la valeur TRUE.
Cette opration est parfois appele rendre un vnement persistant. Un objet Event
peut tre stock dans un document sil rpond aux conditions suivantes :
Laction de lobjet Event doit tre lexcution dun programme complmentaire.
Les objets Event de notification ne peuvent pas tre stocks. Si un objet Event peut
tre stock, sa proprit Persistable a la valeur TRUE.
La proprit PersistsEvents de lobjet source de lvnement doit avoir la valeur
TRUE. Dans Visio 2000, cest le cas des objets Document, Page et Master.
La persistance dun objet Event dpend du paramtrage de sa proprit Persistent. Si
la proprit Persistable de lobjet Event est vraie, Visio considre que lobjet doit tre
stock dans le document ; la valeur dorigine de sa proprit Persistent est TRUE. Si
vous ne souhaitez pas que Visio stocke lobjet Event, donnez la valeur FALSE sa
proprit Persistent.
REMARQUE : avant de tenter de modifier la proprit Persistent dun objet Event, vrifiez
que sa proprit Persistablea la valeur TRUE. Une erreur se produit si vous dfinissez la
proprit Persistent dun objet ne pouvant pas tre persistant.
Crat ion dun objet Event envoyant une not if icat ion
Un objet Event envoyant une notification est cr laide de la mthode AddAdvise
de la collection EventList et peut envoyer une notification un programme en cours
dexcution. La cration de ce type dobjet Event diffre sur plusieurs points de celle
dobjets excutant un programme complmentaire :
Vous dfinissez dans le programme lobjet (non-Visio) devant recevoir la
notification. Ce type dobjet est parfois appel rcepteur de notification ou objet
rcepteur.
Vous rdigez une procdure dvnement (VisEventProc) dans lobjet rcepteur
pour grer les notifications leur rception.
Votre programme cre dans Visio des occurrences dobjet rcepteur et Event lors
de lexcution. Comme ce type dobjet Event utilise des rfrences, il ne peut pas
tre stock dans un document Visio et doit tre recr chaque excution du
programme.
GESTI ON DES VNEMENTS DANS VI SI O 425
Le schma suivant montre linteraction entre le programme et les objets Visio lors de
la transmission de notifications dvnement.
Interaction entre un rcepteur
dvnements client et un objet
source Visio
Dans ce schma, la variable pSource est une rfrence lobjet source dans Visio. Elle
permet de rcuprer une rfrence la collection EventList de lobjet source, qui est
associe pEvtList.
Le programme utilise pEvtList.AddAdvise pour crer lobjet Event, qui est attribu
pEvt. A laide de AddAdvise, le programme transmet une rfrence lobjet rcepteur
auquel Visio envoie une notification lors du dclenchement de lobjet Event.
Dfinition de lobjet rcepteur de notification
Un objet rcepteur est un objet non-Visio dfini pour recevoir les notifications
envoyes par Visio. Il est indispensable que lobjet rcepteur soit programmable
(cest--dire quil prenne en charge linterface Automation IDispatch) et quil mette
disposition une procdure dvnement appele VisEventProc. Vous pouvez associer
lobjet rcepteur toute autre fonctionnalit adquate pour votre programme.
Vous pouvez structurer votre solution de plusieurs faons. Par exemple, vous pouvez
crer les lments suivants :
Une classe pour chaque vnement dclench par un objet source.
Une classe pour capturer tous les vnements dclenchs par un seul objet source.
Une classe pour capturer les vnements dclenchs par plusieurs objets source.
Une classe pour grer un vnement donn dclench par plusieurs objets source.
Programme client
pEvt
Objet
rcepteur
Objet source
Visio
Objet
EventList
Objet
Event
pSource
pEvtList
pSink
eventcode & pSink
pEvt
426 CHAP I TRE 21
Pour crer un objet rcept eur en Microsof t VBA ou en Visual Basic :
1 Choisissez Insertion > Module de classe dans le projet VBA ou Projet > Ajouter un
module de classe dans le projet Visual Basic.
2 Donnez un nom au nouvel objet qui constitue votre objet rcepteur.
Gnralement, la valeur de la proprit Public de lobjet est TRUE, mais cela nest
pas obligatoire. Si vous le souhaitez, vous pouvez ajouter au code des mthodes
prdfinies telles que Initialize et Terminate, ou ajouter vos propres mthodes la
classe.
REMARQUE : les projets Visual Basic utilisant la mthode AddAdvisedoivent tre
paramtrs en tant que projet ActiveX.EXE plutt quen tant que projet Standard.EXE
car ils doivent mettre disposition des objets publics (objets rcepteur). La proprit
Instancing des classes servant dobjets rcepteur doit gnralement tre paramtre sur
MultiUse.
Rdaction de la procdure dvnement VisEventProc
Dans le module de classe, rdigez une procdure dvnement intitule VisEventProc
pour grer les notifications provenant de Visio. Rdigez le code dans la procdure
VisEventProc de la manire adquate pour le programme. Visio nexige pas que vous
conceviez le gestionnaire dvnements de faon particulire. Toutes les techniques de
cration de boucle dans la procdure sont disponibles. Par ailleurs, en fonction du
nombre et de la catgorie des vnements grs par le programme, vous pouvez tre
amen dfinir un objet rcepteur diffrent pour chaque vnement. Lors du
dclenchement dun objet Event, Visio appelle la procdure VisEventProc associe
lobjet rcepteur correspondant.
GESTI ON DES VNEMENTS DANS VI SI O 427
Vous devez dclarer la procdure VisEventProc avec les paramtres suivants :
Cration dun objet Event envoyant une notification
Maintenant que lobjet rcepteur est dfini pour votre programme, vous devez crer
les objets Event inclure dans la collection EventList de lobjet source dont vous sou-
haitez recevoir les vnements.
Pour crer un objet Event envoyant une not if icat ion :
1 Crez une occurrence de lobjet rcepteur.
Vous pouvez utiliser la mme occurrence de lobjet rcepteur pour plusieurs objets
Event ou utiliser plusieurs occurrences de lobjet rcepteur.
2 Rcuprez une rfrence la collection EventList de lobjet source dans Visio.
3 Utilisez la mthode AddAdvise, et indiquez le code dvnement et une rfrence
lobjet rcepteur.
AddAdvise comporte deux autres arguments. Le troisime argument est rserv
une utilisation ultrieure et doit tre une chane Null (""). Le quatrime peut tre
une chane darguments destins au gestionnaire dvnements. Visio les attribue
la proprit TargetArgs de lobjet Event. Lorsque le programme reoit une
notification, VisEventProc peut rcuprer ces arguments dans lobjet Event qui la
appel.
Pub11c Sub v1sEvehfPoc|
evehfCode As Thfege, Code d`vhemehf de 1`vhemehf qu1 a dc1ehch
`1`obef Evehf
souce0b as obecf, Pfehce a 1`obef souce dohf 1a co11ecf1oh
EvehfL1sf cohf1ehf 1`obef Evehf dc1ehcheu.
evehfT0 As Lohg, Tdehf1f1ahf uh1que de 1`obef Evehf dahs sa
co11ecf1oh EvehfL1sf. A 1`1hvese de 1a pop1f
Thdex, ce1u1-c1 he chahge pas quahd des obefs
sohf aoufs a 1a co11ecf1oh ou supp1ms.
vous pouvez accde a 1`obef Evehf depu1s 1a
pocdue v1sEvehfPoc eh uf111sahf
souce.EvehfL1sf.TfemIomT0|1d).
seqhum As Lohg, Squehce de 1`vhemehf coespohdahf aux
vhemehfs dc1ehchs dahs ceffe occuehce
de v1s1o.
subecf0b As 0becf, Pfehce au suef de 1`vhemehf qu1 esf
1`obef o 1`vhemehf esf suvehu.
moeThfo As va1ahf) Comp1mehf d`1hfomaf1oh, s`11 y eh a,
accompaghahf 1a hof1f1caf1oh. Pou 1a p1upaf des
vhemehfs, cef agumehf cohf1ehf hofh1hg.
Ehd Sub
428 CHAP I TRE 21
Pour df inir un objet rcept eur et paramt rer une not if icat ion dvnement
dans VBA ou Visual Basic (rcapit ulat if ) :
1 Insrez un module de classe dans le projet.
2 Dans ce module de classe, rdigez une procdure dvnement intitule
VisEventProc.
Si vous utilisez linstruction Implements suivante dans le module de classe, vous
pouvez choisir IVisEventProc dans la zone de liste des objets et slectionner
VisEventProc dans la zone de liste des procdures.
Pour plus dinformations sur le mot-cl Implements, consultez votre
documentation Visual Basic.
3 Dans la procdure VisEventProc, rdigez le code permettant de grer les
notifications provenant de Visio de la manire adquate pour le programme.
4 Dans le programme, crez une occurrence du module de classe.
5 Rcuprez une rfrence la collection EventList de lobjet source.
6 Utilisez la mthode AddAdvise de la collection EventList pour crer lobjet Event.
Exemple de procdure VisEvent Proc
La procdure VisEventProc suivante utilise un bloc Select Case pour contrler trois
vnements : DocumentSaved, PageAdded et ShapeDeleted. Les autres vnements
dpendent du cas par dfaut (Case Else). Chaque bloc Case gnre une chane
(strDumpMsg) comportant le nom et le code de lvnement dclench. Enfin, la
procdure affiche cette chane dans une zone de message.
Tmp1emehfs v1s1o.Tv1sEvehfPoc
Pub11c Sub v1sEvehfPoc|evehfCode As Thfege,
souce0b As 0becf, evehfT0 As Lohg, seqhum As Lohg,
subecf0b As 0becf, moeThfo As va1ahf)
01m sf0umpMsg As Sf1hg
Cheche 1`vhemehf dc1ehch
Se1ecf Case evehfCode
Case v1sEvfCode0ocSave
sf0umpMsg = "Save|" & evehfCode & ")"
Case |v1sEvfPage + v1sEvfAdd)
sf0umpMsg = "Page Added|" & evehfCode & ")"
Case v1sEvfCodeShape0e1efe
sf0umpMsg = "Shape 0e1efed|" & evehfCode & ")"
Case E1se
sf0umpMsg = "0fhe|" & evehfCode & ")"
Ehd Se1ecf
Aff1che 1e hom de 1`vhemehf ef soh code
fmEvehf01sp1ay.EvehfTexf.Texf = sf0umpMsg
Ehd Sub
GESTI ON DES VNEMENTS DANS VI SI O 429
Pour obtenir un exemple de programme crant des objets Event qui peuvent appeler
cette procdure, reportez-vous la section Exemple dobjets Event envoyant des
notifications , page 429.
Exemple dobjet s Event envoyant des not if icat ions
Prenez lexemple suivant : lorsque vous avez cr lobjet rcepteur, vous avez intitul
le module de classe insr dans le projet CEventSamp. Le code suivant cre une
occurrence de lobjet rcepteur CEventSamp, ainsi que des objets Event pour notifier
les vnements suivants : DocumentSaved, PageAdded et ShapesDeleted.
Lorsque lvnement PageAdded, ShapesDeleted ou DocumentSaved est dclench,
Visio appelle VisEventProc de lobjet rcepteur g_sink. Pour obtenir un exemple de la
procdure VisEventProc correspondante, reportez-vous la section Exemple de
procdure VisEventProc , page 428
Ce uhe occuehce de 1a c1asse d`obef s1hk CEvehfSamp
01m gS1hk As CEvehfSamp
01m doc0b As v1s1o.0ocumehf
P1vafe Sub IomLoad|)
01m evehfs0b As v1s1o.EvehfL1sf
Ce uhe occuehce de 1a c1asse CEvehfSamp
gS1hk 1s g1oba1 fo fhe fom.
Sef gS1hk = heW CevehfSamp
Ce uh houveau dess1h
uhe occuehce v1s1o a da f aff1bue a gappv1s1o
Sef doc0b = gappv1s1o.0ocumehfs.Add|"")
L1e 1a co11ecf1oh EvehfL1sf de ce documehf
Sef evehfs0b = doc0b.EvehfL1sf
Aoufe des obefs Evehf qu1 ehveohf des hof1f1caf1ohs
Aoufe uh obef Evehf pou 1`vhemehf 0ocumehfSaved
evehfs0b.AddAdv1se v1sEvfCode0ocSave, gS1hk, "", "0ocumehf
eheg1sf..."
Aoufe uh obef Evehf pou 1`vhemehf Shapes0e1efed
evehfs0b.AddAdv1se v1sEvfCodeShape0e1efe, gS1hk, "", "Iome
supp1me..."
Aoufe uh obef Evehf pou 1`vhemehf PageAdded
evehfs0b.AddAdv1se |v1sEvfPage + v1sEvfAdd), gS1hk, "", "Page
aoufe..."
Ehd Sub
430 CHAP I TRE 21
Dure de vie dun objet Event envoyant une not if icat ion
Les objets Event crs laide de la mthode AddAdvise persistent jusqu ce que lun
des vnements suivants se produise :
Lobjet Event est supprim laide de la mthode Delete.
Toutes les rfrences lobjet source sont libres, notamment celles dtenues
indirectement par le biais dune rfrence la collection EventList de lobjet
source ou lun des objets Event de la collection.
Vous fermez Visio.
Lorsque vous fermez Visio, cette application met un vnement BeforeQuit, que le
programme doit grer en librant toutes ses rfrences aux objets source ou en
excutant toute autre tche de nettoyage. Une fois que Visio met BeforeQuit, toutes
les rfrences aux objets rcepteur dans le programme sont libres.
Sommaire
22
Personnalisat ion de
lint erf ace ut ilisat eur Visio
Pour simplifier lexcution de votre programme ou de Microsoft
Visio
, vous pouvez
personnaliser linterface utilisateur Visio (IU). Vous pouvez, par exemple, ajouter un
bouton de barre doutils personnalis ou une option de menu qui excute la solution,
ou encore supprimer des outils et des commandes de menu qui ne doivent pas tre
disponibles pendant lexcution de la solution.
Vous pouvez modifier linterface utilisateur Visio en effectuant lune des oprations
suivantes :
Utilisez la commande Affichage > Barres doutils > Personnaliser pour ajouter des
commandes de menu et des outils intgrs qui napparaissent pas par dfaut ou
pour laborer une barre doutils personnalise partir de commandes et doutils
intgrs Visio. Lutilisateur peut galement effectuer cette opration sil a accs la
commande Affichage > Barres doutils > Personnaliser.
Insrez dans la solution du code permettant daccder aux objets Visio UIObject
pour ajouter des options de menu, des outils ou des acclrateurs dans linterface
utilisateur Visio. Vous pouvez aussi utiliser des objets UIObject pour supprimer
des options de menu ou des outils intgrs Visio pendant lexcution de la
solution.
Crez un fichier dinterface utilisateur personnalis (.vsu) qui ne contient que les
options de menu et les boutons de barre doutils propres la solution, puis chargez
ce fichier chaque excution de la solution. Le fichier dinterface utilisateur
personnalis contient les donnes de linterface utilisateur ; il constitue un
instantan de votre interface utilisateur personnalise. Pour apporter des
modifications importantes linterface utilisateur Visio, vous pouvez coder ces
modifications dans un environnement de dveloppement externe et enregistrer un
fichier dinterface utilisateur personnalis.
Elments personnalisables ................................................................................... 432
Planification des modifications de linterface utilisateur.................................... 440
Modifications apportes linterface utilisateur ................................................. 443
Utilisation des fichiers dinterface utilisateur personnalise.............................. 457
432 CHAP I TRE 22
Ce chapitre traite de la personnalisation de linterface utilisateur Visio depuis un
programme, par lintermdiaire des objets UIObject ou dun fichier .VSU. Pour plus
dinformations sur lutilisation de la commande Affichage > Barres doutils >
Personnaliser, reportez-vous laide en ligne fournie avec Visio.
CONSEIL : si la solution est un programme externe qui utilise le moteur Visio comme
composant (contrairement un programme complmentaire qui est excut dans une
copie de Visio), vous pouvez, si vous le souhaitez, masquer dautres lments que les
menus et les barres doutils. Vous pouvez masquer en intgralit la copie de Visio en
paramtrant la proprit Application.Visiblesur FALSE. Les objets Window disposent
galement de la proprit Visible pour que vous puissiez, si besoin est, masquer une
fentre. Pour plus dinformations sur cette proprit Visible, recherchez Visible dans
laide en ligne Rfrence du dveloppeur (choisissez ? (Aide) > Rfrence du dveloppeur)
livr avec le produit Visio.
Elment s personnalisables
Vous pouvez personnaliser linterface utilisateur Visio depuis un programme laide
des objets UIObject. De mme que vous rcuprez des objets Document pour les
utiliser dans des documents ouverts dans une copie de Visio, vous pouvez aussi
rcuprer des objets UIObject pour utiliser les menus, les barres doutils, les barres
dtat et les acclrateurs de linterface utilisateur Visio.
Lillustration suivante prsente les objets UIObject du modle dobjet Visio.
Obj et s UIObject du modle dobjet
Visio
De nombreux objets du modle dobjet Visio correspondent aux lments visibles
dune copie de Visio. Par exemple, un objet Menu peut reprsenter le menu Edition
Visio et un objet MenuItem peut reprsenter la commande Copier situe dans ce
menu, un lment personnalis qui excute une macro ou un programme
complmentaire, ou encore un sous-menu.
UIObject
UIObject
StatusBar
StatusBars
ToolbarSet
ToolbarSets
AccelTable
AccelTables
MenuSet
MenuSets
StatusBarItem
StatusBarItems
Toolbar
Toolbars
AccelItem
AccelItems
Menu
Menus
ToolbarItem
ToolbarItems
MenuItem
MenuItems
MenuItem...
MenuItems
Document
Application
BuiltInMenus
CustomMenus
BuiltInToolbars
CustomToolbars
ToolbarItem
ToolbarItems
StatusBarItem
StatusBarItems
Objet
Collection
Explication
StatusBars
ToolbarSets
AccelTables
MenuSets
StatusBarItems
Toolbars
AccelItems
Menus
ToolbarItems
MenuItems MenuItems
ToolbarItems
StatusBarItems
P ERSONNAL I SATI ON DE L I NTERFACE UTI L I SATEUR VI SI O 433
De nombreux objets UIObject
correspondent aux lments
visibles dune copie de Visio.
Rcuprat ion dun objet UIObject
Les objets UIObject diffrent des autres objets du modle dobjet car la proprit
UIObject nest pas la seule renvoyer un objet UIObject. Les proprits
BuiltInMenus, CustomMenus, BuiltInToolbars et CustomToolbars renvoient en
effet chacune un objet UIObject qui reprsente des menus et des acclrateurs
(BuiltInMenus ou CustomMenus), ou des barres doutils et des barres dtat
(BuiltInToolbars ou CustomToolbars).
Pour modifier une copie de linterface utilisateur Visio intgre, utilisez la proprit
BuiltInMenus ou BuiltInToolbars de lobjet Application pour rcuprer un objet
UIObject. Par exemple, pour modifier une copie des menus intgrs Visio et
rcuprer un objet UIObject qui reprsente des menus et des acclrateurs Visio,
commencez par ce code :
Pour rcuprer un objet UIObject qui reprsente une copie des barres doutils
intgres Visio :
A Menu
B Barre doutils
C Bouton de barre doutils
D Barre dtat
E Elment de barre dtat
01m u10b As v1s1o.uT0becf
Sef u10b = v1s1o.App11caf1oh.u11fThMehus
01m u10b As v1s1o.uT0becf
Sef u10b = v1s1o.App11caf1oh.u11fThToo1bas|0)
A
E
B
C
D
434 CHAP I TRE 22
Pour modifier une interface utilisateur personnalise, utilisez la proprit
CustomMenus ou CustomToolbars dun objet Application ou Document afin
dobtenir un objet UIObject. Vous pouvez galement utiliser ces proprits pour
dterminer si une interface utilisateur personnalise est en vigueur, et si elle a t
personnalise par une autre solution ou par lutilisateur. Par exemple :
Pour rcuprer un objet UIObject qui reprsente les menus personnaliss dun objet
Document :
Un objet UIObject qui reprsente des menus (intgrs ou personnaliss) dispose de
deux proprits qui renvoient des collections : MenuSets et AccelTables. Un objet
UIObject qui reprsente des barres doutils (intgres ou personnalises galement)
dispose aussi de deux proprits qui renvoient des collections : ToolbarSets et
StatusBars.
REMARQUE : la diffrence de la plupart des collections dobjets Visio, les collections qui
reprsentent les objets UIObject sont indexes partir de 0. Spcifiez un indice de 0 avec
la proprit Itemde la collection pour obtenir le premier lment de lune des collections
suivantes : AccelTables, AccelItems, MenuSets, Menus, MenuItems, StatusBars,
StatusBarItems, ToolbarSets, Toolbars, ToolbarItems.
La branche UIObject du modle dobjet Visio est plutt labore, cest la raison pour
laquelle il est important de comprendre clairement les divers objets et leurs relations
rciproques avant de les personnaliser. Les sections suivantes dcrivent la hirarchie des
objets qui reprsentent les menus, les acclrateurs et les barres dtat Visio.
v1f1e s1 1e documehf compofe des mehus pesohha11ss
Tf Th1s0ocumehf.CusfomMehus Ts hofh1hg Theh
v1f1e s`11 ex1sfe des mehus pesohha11ss v1s1o
Tf v1s1o.App11caf1oh.CusfomMehus Ts hofh1hg Theh
uf111se 1es mehus 1hfgs
Sef v1suT0b = v1s1o.App11caf1oh.u11fThMehus
E1se
uf111se 1es mehus pesohha11ss v1s1o
Sef v1suT0b = v1s1o.App11caf1oh.CusfomMehus
01m u10b As v1s1o.uT0becf
Sef u10b = Th1s0ocumehf.CusfomMehus
Pehvo1e hofh1hg s1 1e documehf h`a aucuh mehu pesohha11s
P ERSONNAL I SATI ON DE L I NTERFACE UTI L I SATEUR VI SI O 435
Objet s relat if s aux menus
Des fentres diffrentes (fentre de dessin, fentre ShapeSheet
ou fentre de gabarit)
affichent des menus diffrents. Le tableau suivant rpertorie les objets relatifs aux
menus dans le modle dobjet Visio.
Objets relatifs aux menus dans le modle dobjet Visio
Objet Description
M enuSets Collection de tous les ensembles de menus Visio possibles. Pour
rcuprer une collection MenuSets, obtenez la proprit MenuSets d un
objet UIObject reprsentant des menus et des acclrateurs.
M enuSet Ensemble de menus disponibles dans une fentre. Par exemple, un objet
MenuSet peut reprsenter l ensemble des menus disponibles lorsqu une
fentre de dessin est active. Pour rcuprer un objet MenuSet, utilisez la
proprit ItemAtID d une collection MenuSets et spcifiez l I D du contexte
souhait. Pour accder au tableau rpertoriant les contextes et les
identificateurs pouvant tre utiliss avec ItemAtID, recherchez I temAtI D
dans l aide en ligne Rfrence du dveloppeur (choisissez ? (Aide) >
Rfrence du dveloppeur) fournie avec Visio.
Tous les objets MenuSet correspondent un certain contexte de fentre
sauf un objet MenuSet qui reprsente un menu contextuel (qui apparat
lorsque vous cliquez avec le bouton droit sur une forme, une page ou une
fentre de gabarit).
REMARQUE : dans M icrosoft
Visio
Visual Basic
pour
Applications (VBA) un acclrateur. Dans les versions prcdentes
Visio, seules les commandes intgres pouvaient tre associes aux
acclrateurs.
438 CHAP I TRE 22
Objets relatifs aux barres doutils du modle dobjet Visio
Objet Description
ToolbarSets Collection de tous les ensembles de barres d outils Visio possibles. Pour
rcuprer une collection ToolbarSets, rcuprez la proprit ToolbarSets
d un objet UIObject qui reprsente des barres d outils et des barres d tat.
Utilisez la proprit ShowToolbar de l objet Application pour vrifier si les
barres d outils Visio sont visibles.
ToolbarSet Ensemble de barres d outils disponibles dans un contexte de fentre. Par
exemple, un objet ToolbarSet peut reprsenter l ensemble des barres
d outils disponible lorsqu une fentre ShapeSheet est active. Pour
rcuprer un objet ToolbarSet, utilisez la proprit ItemAtID d une
collection ToolbarSets et spcifiez l I D du contexte souhait.
Toolbars Collection de barres d outils Visio dans un ensemble de barres d outils.
Pour rcuprer une collection Toolbars, rcuprez la proprit Toolbars
d un objet ToolbarSet.
Toolbar Barre d outils Visio. Pour rcuprer un objet Toolbar, utilisez la proprit
Item d une collection Toolbars avec l indice de la barre d outils souhaite.
Les barres d outils intgres sont indexes dans l ordre o elles seraient
initialement ancres dans la fentre Visio si toutes les barres d outils
intgres taient visibles. Les barres d outils personnalises sont
indexes dans l ordre o elles sont ajoutes la collection.
Pour ajouter une barre d outils, utilisez la mthode Add ou AddAt d une
collection Toolbars.
La proprit Caption d un objet Toolbar reprsente la lgende qui apparat
dans le sous-menu de l option de menu Affichage > Barres d outils
disponible dans la fentre de dessin Visio.
REMARQUE : dans Visio 2000, la proprit Position d un objet Toolbar
permet d indiquer si la barre d outils qu elle reprsente est ancre (
gauche, droite, en haut ou en bas) ou flottante. La proprit RowIndex
concerne l emplacement de la barre d outils par rapport aux autres barres
affiches dans la fentre Visio. Pour plus d informations sur ces
proprits, recherchez-les dans l aide en ligne Rfrence du dveloppeur
en ligne (choisissez ? (Aide) > Rfrence du dveloppeur) fournie avec
Visio.
ToolbarI tems Collection d lments d une barre d outils Visio. Pour rcuprer une
collection ToolbarItems, rcuprez la proprit ToolbarItems d un objet
Toolbar.
ToolbarI tem Contrle d une barre d outils Visio. Pour rcuprer un objet ToolbarItem,
utilisez la proprit Item de la collection ToolbarItems avec l indice de
l lment de barre d outils souhait. Les lments de barre d outils sont
indexs dans l ordre o ils apparaissent sur la barre d outils, c est--dire
de gauche droite. Pour la plupart des contextes, l lment de barre
d outils Dessin vide a un indice de 0. Pour ajouter un lment une barre
d outils, utilisez la mthode Add ou AddAt d une collection ToolbarItems.
REMARQUE : dans Visio 2000, les objets ToolbarItem disposent d une
proprit Style qui concerne l affichage (icne et texte, ou texte
seulement). Les objets ToolbarItem disposent aussi d une proprit State
qui indique si l lment apparat activ (s il a une icne) ou coch (s il
ne s agit que de texte). Pour plus d informations sur ces proprits,
recherchez-les dans l aide en ligne Rfrence du dveloppeur fournie
avec Visio.
P ERSONNAL I SATI ON DE L I NTERFACE UTI L I SATEUR VI SI O 439
Objet s relat if s aux barres dt at
Une barre dtat affiche des informations sur le statut dune forme, dun menu ou dun
outil, comme lemplacement du pointeur sur la page ou langle et la longueur dune
ligne. Le tableau suivant rpertorie les objets relatifs aux barres dtat du modle dobjet
Visio.
Objets relatifs aux barres dtat du modle dobjet Visio
Objet Description
StatusBars Collection de toutes les barres d tat Visio possibles. Pour rcuprer
une collection StatusBars, utilisez la proprit StatusBars d un objet
UIObject.
StatusBar Barre d tat d un contexte de fentre. Par exemple, un objet
StatusBar peut reprsenter la barre d tat affiche lorsqu une forme
est slectionne. Pour rcuprer un objet StatusBar, utilisez la
proprit ItemAtID d une collection StatusBars et indiquez l I D du
contexte souhait.
StatusBarI tems Collection des lments d une barre d tat Visio. Pour rcuprer une
collection StatusBarItems, rcuprez la proprit StatusBarItems d un
objet StatusBar.
StatusBarI tem Elment d une barre d tat Visio. Pour rcuprer un objet
StatusBarItem, utilisez la proprit Item de la collection StatusBarItems
avec l indice de l lment de barre d tat souhait. Les lments de
barre d tat sont indexs dans l ordre o ils apparaissent sur une
barre d tat, c est--dire de gauche droite. Par exemple, lorsqu une
forme en deux dimensions (2D) est slectionne, l lment de la
barre d tat correspondant sa largeur apparat gauche et a un
indice de 0.
REMARQUE : dans Visio 2000, les objets StatusBarItem disposent
d une proprit Style qui concerne l affichage (icne et texte, ou
texte seulement). Les objets StatusBarItem disposent galement
d une proprit State qui indique si l lment apparat activ (s il a
une icne) ou coch (s il ne s agit que de texte). Pour plus
d informations sur ces proprits, recherchez-les dans l aide en ligne
Rfrence du dveloppeur fournie avec Visio.
440 CHAP I TRE 22
Planif icat ion des modif icat ions de lint erf ace ut ilisat eur
Lorsque vous crez une interface utilisateur personnalise, vous devez vous poser les
questions suivantes :
Allez-vous personnaliser une copie de linterface utilisateur Visio intgre ou une
interface utilisateur personnalise existante ? La rponse cette question
conditionne en effet la faon dont vous rcuprez un objet UIObject, le modifiez
et comment vous restaurez linterface originale la fin de lexcution de la
solution.
Linterface utilisateur personnalise doit-elle tre disponible seulement pour
certains documents Visio ou pour tous les documents dune copie de Visio ? La
rponse permet de dterminer sa porte, cest--dire le contexte dans lequel votre
interface utilisateur personnalise est disponible.
Linterface utilisateur personnalise doit-elle tre disponible seulement lorsquun
document est actif dans une seule copie de Visio, ou chaque dmarrage de
lapplication Visio ? Cette rponse dtermine sa persistance, cest--dire la dure de
la disponibilit de votre interface utilisateur personnalise.
Dif f rences ent re la personnalisat ion dune copie de
lint erf ace ut ilisat eur Visio int gre et celle dune int erf ace
personnalise
Avant de personnaliser une interface utilisateur Visio, commencez par dterminer si
linterface utilisateur courante est linterface utilisateur Visio intgre ou une interface
personnalise. Sil sagit dune interface personnalise, il est conseill de modifier
linterface existante de votre solution, puis de la rtablir dans son tat original, plutt
que de personnaliser linterface utilisateur Visio intgre.
Lorsque vous rcuprez les barres doutils ou les menus intgrs de Visio, vous
rcuprez en fait une copie, ou un instantan de linterface utilisateur intgre Visio
que vous pouvez manipuler. Linterface utilisateur intgre Visio dorigine reste
intacte, de manire ce que vous puissiez la restaurer ultrieurement. Lorsque vous
rcuprez une interface utilisateur personnalise, vous rcuprez linterface active (y
compris toutes les barres doutils personnalises ventuellement ajoutes), non pas
une copie.
Pour dterminer linterface utilisateur en cours dutilisation, vrifiez les proprits
CustomMenus et CustomToolbars de tous les objets Document de la collection
Documents. Vrifiez ensuite les mmes proprits de lobjet Application. Si un objet
nutilise pas dinterface utilisateur personnalise, les deux proprits renvoient
Nothing, et vous pouvez, dans ce cas, simplement rcuprer une copie de linterface
utilisateur Visio intgre.
Si linterface active est une interface utilisateur personnalise, vous pouvez dcider de la
remplacer par la vtre ou de lui ajouter simplement des lments de votre interface.
P ERSONNAL I SATI ON DE L I NTERFACE UTI L I SATEUR VI SI O 441
Lexemple suivant indique comment rcuprer linterface utilisateur active de votre
document sans remplacer lventuelle interface utilisateur personnalise de niveau
application. Pour ajouter des lments de linterface utilisateur personnalise, vous
devez crire du code supplmentaire.
Pour plus dinformations sur les proprits CustomMenus et CustomToolbars,
reportez-vous laide en ligne Rfrence du dveloppeur (choisissez ? (Aide) >
Rfrence du dveloppeur) fournie avec Visio.
Cont rle de la port e de lint erf ace ut ilisat eur
De mme que vous pouvez rcuprer un objet UIObject de lobjet Document ou
Application, vous pouvez appliquer les modifications de linterface utilisateur
personnalise lobjet Document ou Application en utilisant sa mthode
SetCustomMenus ou SetCustomToolbars. La porte souhaite dtermine lobjet
auquel vous appliquez vos modifications.
Vous pouvez dcider que votre interface utilisateur personnalise sera disponible
pour un seul document ou pour lapplication. Pour utiliser linterface utilisateur
personnalise lchelle de lapplication, appliquez-la lobjet Application.
v1f1e s1 1e documehf compofe des mehus pesohha11ss
Tf Th1s0ocumehf.CusfomMehus Ts hofh1hg Theh
v1f1e s`11 ex1sfe des mehus pesohha11ss v1s1o
Tf v1s1o.App11caf1oh.CusfomMehus Ts hofh1hg Theh
uf111se 1es mehus 1hfgs
Sef v1suT0b = v1s1o.App11caf1oh.u11fThMehus
E1se
uf111se 1es mehus pesohha11ss v1s1o
Sef v1suT0b = v1s1o.App11caf1oh.CusfomMehus.C1ohe
Ehd Tf
E1se
uf111se 1es mehus pesohha11ss du f1ch1e
Sef v1suT0b = Th1s0ocumehf.CusfomMehus
Ehd Tf
442 CHAP I TRE 22
Pour utiliser linterface utilisateur personnalise uniquement lorsquun document est
actif, appliquez linterface utilisateur personnalise un objet Document. Cette
mthode est celle que vous utilisez gnralement lorsque vous programmez dans
Microsoft Visual Basic pour Applications (VBA). Lexemple suivant indique
comment paramtrer les menus personnaliss de lobjet ThisDocument :
Cont rle de la persist ance de lint erf ace ut ilisat eur
Lapproche utiliser pour personnaliser linterface utilisateur Visio dpend de
ltendue des modifications que vous avez lintention dapporter et de
lenvironnement de dveloppement dans lequel vous programmez. En fonction de la
porte des modifications de votre interface utilisateur, vous pouvez faire en sorte que
les modifications soient en vigueur pendant quun document est actif, pendant
lexcution dune copie de Visio ou chaque lancement de lapplication Visio.
Persistance de linterface utilisateur lorsquun document est actif
Un document peut disposer dune interface utilisateur personnalise prioritaire sur
linterface utilisateur (personnalise ou intgre) de lapplication Visio. Par exemple,
si un utilisateur cre un document partir dun modle, vous pouvez ajouter un
bouton de barre doutils qui excute un Assistant pour aider lutilisateur crer un
dessin. Ds que lutilisateur ferme le document, linterface utilisateur intgre reprend
le pas jusqu ce quune interface utilisateur personnalise soit dfinie pour
lapplication ou pour le document actif suivant.
Lorsque vous personnalisez linterface utilisateur Visio partir de VBA, vous
travaillez gnralement au niveau du document. Par consquent, vous pouvez
paramtrer linterface utilisateur personnalise de lobjet ThisDocument ou charger
un fichier dinterface utilisateur personnalise (.vsu) lorsque lvnement
DocumentOpened se produit. De cette manire, linterface utilisateur personnalise
persiste pendant quun document est actif. Pour plus dinformations sur les
vnements, reportez-vous au chapitre 21, Gestion des vnements dans Visio .
Persistance de linterface utilisateur pendant lexcution dune copie
de Visio
Si votre interface utilisateur doit persister au cours dune seule copie de Visio,
paramtrez linterface utilisateur personnalise de lobjet Application partir dune
macro VBA ou dun programme autonome.
01m u10b as v1s1o.uT0becf
Ia1e uhe cop1e des mehus 1hfgs v1s1o
Sef u10b = v1s1o.App11caf1oh.u11fThMehus
... Appofe des mod1f1caf1ohs af1h de pesohha11se 1`1hfeface
0f1h1 1es mehus pesohha11ss de Th1s0ocumehf
Th1s0ocumehf.SefCusfomMehus u10b
P ERSONNAL I SATI ON DE L I NTERFACE UTI L I SATEUR VI SI O 443
Persistance de linterface utilisateur chaque lancement de
lapplication Visio
Si vous souhaitez que les modifications de linterface utilisateur remplacent linterface
utilisateur Visio de manire permanente, vous pouvez activer linterface personnalise
de lobjet Application chaque lancement de lapplication Visio ou crer un fichier
dinterface utilisateur personnalise.
Aprs avoir cr un fichier dinterface utilisateur personnalise, spcifiez le nom du
fichier en paramtrant la proprit CustomMenusFile ou CustomToolbarsFile de
lobjet Application. Le fichier dinterface personnalise est alors charg chaque
lancement de Visio, jusqu ce que vous choisissiez un autre fichier ou restauriez
linterface utilisateur intgre de Visio. Pour plus dinformations, reportez-vous la
section Mise en oeuvre des modifications apportes linterface utilisateur
personnalise , page 456.
Modif icat ions apport es lint erf ace ut ilisat eur
Aprs avoir choisi lobjet UIObject, la porte et la persistance de votre interface
utilisateur personnalise, vous pouvez commencer modifier linterface. Pour
accder llment supprimer ou vous positionner lemplacement o vous
souhaitez ajouter un lment, vous devez naviguer dans le modle dobjet Visio
.
Pour ce faire, rcuprez tout dabord un objet UIObject, puis un menu, un
acclrateur, une barre doutils ou une barre dtat et enfin, les lments modifier.
Aprs avoir modifi linterface utilisateur, vous devez dfinir lobjet personnalis
UIObject de manire ce que votre interface utilisateur prenne effet.
Rcuprat ion dun objet MenuSet , ToolbarSet , AccelTable ou
St at usBar
Pour rcuprer un objet MenuSet, ToolbarSet, AccelTable ou StatusBar, utilisez la
mthode ItemAtID de la collection approprie et spcifiez lID de lobjet souhait.
Pour accder la liste des constantes que vous pouvez utiliser avec ItemAtID,
recherchez ItemAtID dans laide en ligne Rfrence du dveloppeur (choisissez ?
(Aide) > Rfrence du dveloppeur) fournie avec Visio.
444 CHAP I TRE 22
Par exemple, le fragment de code suivant utilise la constante visUIObjSetDrawing
pour rcuprer un objet MenuSet qui reprsente les menus de la fentre de dessin :
Lexemple suivant utilise la constante visUIObjSetShapeSheet pour rcuprer un
objet ToolbarSet qui reprsente les barres doutils de la fentre ShapeSheet
:
ID des const ant es pour des cont ext es de f ent re
Le tableau suivant rpertorie les constantes dfinies dans la bibliothque de types
Visio, et que vous pouvez indiquer laide de ItemAtID pour les sept fentres
principales. Les constantes des fentres qui reprsentent les menus contextuels, les
palettes et les fentres contextuelles disponibles pour les objets MenuSet, ToolbarSet,
AccelTable et StatusBar figurent dans laide en ligne Rfrence du dveloppeur
(choisissez ? (Aide) > Rfrence du dveloppeur) fournie avec Visio.
01m u10b As v1s1o.uT0becf
01m mehuSef0b As v1s1o.MehuSef
Pcupe uh obef uT0becf coespohdahf a uhe cop1e des mehus v1s1o
1hfgs
Sef u10b = v1s1o.App11caf1oh.u11fThMehus
Pcupe 1a cohf1guaf1oh des mehus de 1a fehfe de dess1h
Sef mehuSef0b =
u10b.MehuSefs.TfemAfTd|v1suT0bSef0aW1hg)
01m u10b As v1s1o.uT0becf
01m foo1baSef0b As v1s1o.Too1baSef
Pcupe uh obef uT0becf coespohdahf a uhe cop1e des baes d`ouf11s
1hfges v1s1o
Sef u10b = v1s1o.App11caf1oh.u11fThToo1bas|0)
Pcupe 1a cohf1guaf1oh des baes d`ouf11s de 1a fehfe ShapeSheef
Sef foo1baSef0b =
u10b.Too1baSefs.TfemAfT0|v1suT0bSefShapeSheef)
ID des constantes des contextes de fentre
O
b
j
e
t
s
M
e
n
u
S
e
t
s
O
b
j
e
t
s
T
o
o
l
b
a
r
S
e
t
s
O
b
j
e
t
s
S
t
a
t
u
s
B
a
r
s
O
b
j
e
t
s
A
c
c
e
l
T
a
b
l
e
s
ID de constante Contexte
visUIObjSetNoDocument* Fentre Visio, aucun document
ouvert
visUIObjSetDrawing Fentre de dessin
visUIObjSetStencil Fentre de gabarit
visUIObjSetShapeSheet Fentre ShapeSheet
P ERSONNAL I SATI ON DE L I NTERFACE UTI L I SATEUR VI SI O 445
* La constante visUIObjSetNoDocument est utilise dans les versions antrieures Visio 2000, SR-1. A partir
de Visio 2000, SR-1, si aucun document n est ouvert dans la fentre Visio, le jeu de contexte par dfaut est
visUIObjSetDrawing.
Ajout dun menu et dune opt ion de menu
Aprs avoir rcupr un objet UIObject, vous pouvez ajouter des options linterface
utilisateur ou en supprimer. Pour ajouter des options, parcourez la branche UIObject
du modle dobjet Visio pour rcuprer la collection qui contient le type dlment
ajouter, puis utilisez la mthode Add ou AddAt de cette collection.
Lexemple suivant ajoute un menu et une nouvelle option de menu disponibles
lorsque la fentre de dessin Visio est active :
visUIObjSetIcon Fentre de modification
d icnes
visUIObjSetInPlace Fentre d dition in situ
visUIObjSetPrintPreview Fentre d aperu avant
impression
01m u10b As v1s1o.uT0becf
01m mehuSefs0b As v1s1o.MehuSefs
01m mehuSef0b As v1s1o.MehuSef
01m mehus0b As v1s1o.Mehus
01m mehu0b As v1s1o.Mehu
01m mehuTfems0b As v1s1o.MehuTfems
01m mehuTfem0b As v1s1o.MehuTfem
Pcupe uh obef uT0becf coespohdahf a uhe cop1e des mehus 1hfgs
v1s1o
Sef u10b = v1s1o.App11caf1oh.u11fThMehus
Pcupe 1a co11ecf1oh MehuSefs
Sef mehuSefs0b = u10b.MehuSefs
Pcupe 1`obef MehuSef de 1a fehfe de dess1h Pcupe 1e cohfexfe
Sef mehuSef0b= mehuSefs0b.TfemAfTd|v1suT0bSef0aW1hg)
Pcupe 1a co11ecf1oh Mehus
Sef mehus0b = mehuSef0b.Mehus
Aoufe uh mehu 0mo avahf 1e mehu Iehfe
Les mehus qu1 he compofehf aucuhe opf1oh h`appaa1ssehf pas.
Sef mehu0b = mehus0b.AddAf|7)
mehu0b.Capf1oh = "0mo"
ID des constantes des contextes de fentre
O
b
j
e
t
s
M
e
n
u
S
e
t
s
O
b
j
e
t
s
T
o
o
l
b
a
r
S
e
t
s
O
b
j
e
t
s
S
t
a
t
u
s
B
a
r
s
O
b
j
e
t
s
A
c
c
e
l
T
a
b
l
e
s
ID de constante Contexte
446 CHAP I TRE 22
Cette premire partie dexemple part du principe que le menu Fentre est toujours sa
position initiale, cest--dire quil apparat en septime position dans la barre des
menus depuis la gauche de lcran. Lajout ou la suppression de menus modifie la
position des autres menus.
La deuxime moiti de lexemple, indique ci-dessous, ajoute une option au menu
Dmo et paramtre les proprits de cette option. Pour plus dinformations,
reportez-vous la section Paramtrage des proprits dune option , page 451.
Pour ajouter une option au menu Dmo ajout dans lexemple prcdent, le code
suivant utilise la mthode Add. Cette option ajoute loption la fin dune collection.
Cet exemple ajoute une seule option de menu, sa position na donc pas grande
incidence. En revanche, si vous deviez ajouter une autre option laide de la mthode
Add, elle apparatrait galement la fin du menu. Pour contrler lendroit o loption
apparat, utilisez la mthode AddAt et spcifiez la position ordinale de loption.
La dernire instruction, ThisDocument.SetCustomMenus uiObj, indique la copie de
Visio dutiliser les menus personnaliss lorsque le document est actif. Les
modifications de linterface utilisateur personnalise ne sont pas conserves aprs la
fermeture du document.
Pcupe 1a co11ecf1oh MehuTfems
Sef mehuTfems0b = mehu0b.MehuTfems
Aoufe uh obef MehuTfem au houveau mehu 0mo
Sef mehuTfem0b = mehuTfems0b.Add
0f1h1 1es pop1fs de 1a houve11e opf1oh de mehu
mehuTfem0b.Capf1oh = "Excufe 1e pogamme de &dmohsfaf1oh"
mehuTfem0b.Add0hhame = "0emo.EXE"
mehuTfem0b.Add0hAgs = "/0vS=Iuh"
mehuTfem0b.M1h1he1p = "Excufez 1e pogamme de dmohsfaf1oh"
Paamfe v1s1o af1h qu`11 uf111se 1e houve1 obef uT0becf |mehus
pesohha11ss)
pehdahf que 1e documehf esf acf1f
Th1s0ocumehf.SefCusfomMehus u10b
P ERSONNAL I SATI ON DE L I NTERFACE UTI L I SATEUR VI SI O 447
Une option de menu peut tre constitue dune icne, de texte ou dune icne avec du
texte. Lorsquun utilisateur choisit laffichage avec icne, cette dernire apparat
active. Lorsque lutilisateur choisit laffichage du texte uniquement, loption est
coche. Le fragment de code suivant indique comment dfinir les proprits des trois
options de menu (dnommes Option 1, Option 2 et Option 3) qui contiennent une
icne (Smiley.ico) et du texte.
Comme lindique lexemple suivant, un programme peut parcourir les options dun
menu pour dterminer si elles sont slectionnes :
01m 1 As Thfege
Io 1 = 1 To 3
Aoufe uhe opf1oh de mehu
Sef mehu1fem0b = mehu0b.MehuTfems.Add
W1fh mehu1fem0b
0f1h1 1e fexfe de 1a 1gehde
.Capf1oh = "Tfem " & Sf|1)
0f1h1 1`1che
.TcohI11ehame "c:\sm11ey.1co"
Paamfe 1`opf1oh de mah1e a ce qu`e11e aff1che 1`1che ef 1e
fexfe
.Sfy1e = v1s1o.v1suffohTcohahdCapf1oh
Acf1ve/dsacf1ve 1`opf1oh
.Sfafe = TTf|1 = 1, v1s1o.v1suffoh0oWh, v1s1o.v1suffohup)
Paamfe 1`opf1oh de mah1e a ce qu`e11e excufe ce code
1osqu`e11e esf s1ecf1ohhe
.Add0hhame = "Th1s0ocumehf.TfemPoc|" & Sf|1) & ")"
Ehd W1fh
hexf
01m 1 As Thfege
Io 1 = 0 To mehu0b.MehuTfems.Couhf - 1
Sef mehu1fem0b = mehu0b.MehuTfems|1)
0f1h1 1`opf1oh de mehu comme fahf s1ecf1ohhe/ds1ecf1ohhe
mehu1fem0b.Sfafe = TTf|1 = |1fem - 1),
v1s1o.v1suffoh0oWh, v1s1o.v1suffohup)
hexf
448 CHAP I TRE 22
Ajout dune barre dout ils et dun bout on de barre dout ils
Vous pouvez ajouter un bouton lune des barres doutils intgres ou une barre
doutils compltement personnalise. La procdure suivante montre comment
ajouter, dans le contexte de la fentre de dessin, un bouton une copie des barres
doutils intgres :
Sub AddToo1bauffoh|)
va1ab1es d`obefs a uf111se dahs 1e pogamme
01m u10b As v1s1o.uT0becf
01m foo1baSef0b As v1s1o.Too1baSef
01m foo1baTfems0b As v1s1o.Too1baTfems
01m obheWToo1baTfem As v1s1o.Too1baTfem
Pcupe 1`obef uT0becf pou 1es baes d`ouf11s
Sef u10b = v1s1o.App11caf1oh.u11fThToo1bas|0)
Pcupe 1`obef Too1baSef de 1a fehfe de dess1h
Sef foo1baSef0b = u10b.Too1baSefs.TfemAfT0|v1suT0bSef0aW1hg)
Pcupe 1a co11ecf1oh Too1baTfems
Sef foo1baTfems0b = foo1baSef0b.Too1bas|0).Too1baTfems
Aoufe uh boufoh au pem1e emp1acemehf
Sef obheWToo1baTfem = foo1baTfems0b.AddAf|0)
0f1h1 1es pop1fs du houveau boufoh de bae d`ouf11s
obheWToo1baTfem.Acf1ohTexf = "Excufe 1`Ass1sfahf Pappof de gaba1f"
obheWToo1baTfem.Add0hhame = "Sfhdoc.exe"
obheWToo1baTfem.Chf1Type = v1sCf1TypeuTT0h
obheWToo1baTfem.P1o1fy = 1
0f1h1 1`1che du houveau boufoh de bae d`ouf11s
obheWToo1baTfem.TcohI11ehame "dvs.1co"
Paamfe v1s1o de mah1e a ce qu`11 uf111se 1es houve11es baes
d`ouf11s pesohha11ses
Th1s0ocumehf.SefCusfomToo1bas u10b
Ehd Sub
P ERSONNAL I SATI ON DE L I NTERFACE UTI L I SATEUR VI SI O 449
Voici quelques remarques concernant cet exemple :
Set toolbarItemsObj = toolbarSetObj.Toolbars(0).ToolbarItems. Lapplication Visio
ordonne les barres doutils verticalement. Lorsque vous indiquez lemplacement dun
objet Toolbar, 0 reprsente la barre doutils la plus lextrieur.
Set objNewToolbarItem = toolbarItemsObj.AddAt(0). Lapplication Visio ordonne les
options de la barre doutils horizontalement. Cette instruction ajoute donc lobjet
ToolbarItem ou le bouton lemplacement le plus gauche sur la barre doutils, si
celle-ci est ancre horizontalement, et lemplacement le plus lev si la barre doutils
est ancre verticalement.
objNewToolbarItem.CntrlType = visCtrlTypeBUTTON dfinit le type de bouton de
barre doutils afficher. La proprit CntrlType permet galement de dfinir les
lments de barre dtat. Lapplication Visio comprend dautres constantes pour les
boutons de barres doutils par dfaut, mais les boutons personnaliss ne peuvent
utiliser que les constantes visCtrlTypeBUTTON, PALETTEBUTTON,
PALETTEBUTTONNOMRU ou PALETTEBUTTONICON.
objNewToolbarItem.Priority = 1 donne cet lment de barre doutils la priorit la
plus leve. Les options de barre doutils napparaissent pas tous dans toutes les
rsolutions. Sur les moniteurs faible rsolution, comme les moniteurs VGA, les
lments de barre doutils priorit faible napparaissent pas : seuls les lments
priorit leve sont affichs. Le nombre dlments affichs est proportionnel la
qualit de la rsolution.
objNewToolbarItem.IconFileName "dvs.ico" rcupre le fichier Dvs.ico contenant le
bitmap pour que la barre doutils apparaisse depuis le dossier situ sur le chemin des
programmes complmentaires Visio ; ce chemin est indiqu dans longlet Chemins
d'accs. Le fichier dicne doit contenir une icne de 32 pixels par 32 et une icne de
16 pixels par 16. Lapplication Visio affiche licne de 16 pixels par 16 en mode
petite icne et licne de 32 pixels par 32 en mode grande icne .
ThisDocument.SetCustomToolbars uiObj utilise les barres doutils personnalises
lorsque le document est actif.
La procdure suivante indique comment ajouter une barre doutils flottante nomme
Test ; cette barre doutils flottante ne peut pas tre ancre mais peut tre masque
dans le contexte de la fentre de dessin. Le programme vrifie tout dabord si le
document ou la copie de Visio utilise les barres doutils personnalises et attribue un
objet UIObject la variable uiObj. Le programme rcupre ensuite la collection
Toolbars pour la fentre de dessin, ajoute la nouvelle barre doutils et dfinit ses
proprits.
450 CHAP I TRE 22
Sub AddToo1ba|)
01m u10b As uT0becf
01m foo1bas0b As Too1bas
01m foo1ba0b As Too1ba
01m foo1baTfems0b As Too1baTfems
01m foo1baTfem0b As Too1baTfem
v1f1e s1 1e documehf compofe des baes d`ouf11s pesohha11ses
Tf Th1s0ocumehf.CusfomToo1bas Ts hofh1hg Theh
v1f1e s1 1`occuehce uf111se des baes d`ouf11s pesohha11ses
Tf v1s1o.App11caf1oh.CusfomToo1bas Ts hofh1hg Theh
uf111se 1es baes d`ouf11s 1hfges
Sef u10b = v1s1o.App11caf1oh.u11fThToo1bas|0)
E1se
uf111se 1es baes d`ouf11s pesohha11ses de 1`app11caf1oh
Sef u10b = v1s1o.App11caf1oh.CusfomToo1bas.C1ohe
Ehd Tf
E1se
uf111se 1es baes d`ouf11s pesohha11ses du documehf
Sef u10b = Th1s0ocumehf.CusfomToo1bas
Ehd Tf
Pcupe 1a co11ecf1oh Too1bas du cohfexfe de 1a fehfe de dess1h
Sef foo1bas0b = u10b.Too1baSefs.TfemAfT0|
v1s1o.v1suT0bSef0aW1hg).Too1bas
Aoufe uhe bae d`ouf11s
Sef foo1ba0b = foo1bas0b.Add
W1fh foo1ba0b
0f1h1 1e f1fe de 1a bae d`ouf11s
.Capf1oh = "Tesf"
Pos1f1ohhe 1a bae d`ouf11s f1offahfe aux coodohhes 300, 200
.Pos1f1oh = v1s1o.v1saI1oaf1hg
.Leff = 300
.Top = 200
Thfed1e 1`ahcage
.Pofecf1oh = v1s1o.v1sahoho1zohfa10ock
+ v1s1o.v1sahovef1ca10ock
Pehde 1a houve11e bae d`ouf11s v1s1b1e
.v1s1b1e = Tue
Pemeffe a 1`uf111safeu de masque ef d`aff1che 1a bae d`ouf11s
.Ehab1ed = Tue
Ehd W1fh
Ehd Sub
P ERSONNAL I SATI ON DE L I NTERFACE UTI L I SATEUR VI SI O 451
Paramt rage des proprit s dune opt ion
Aprs avoir ajout une option, vous pouvez paramtrer ses proprits. Par exemple,
vous pouvez paramtrer la proprit Caption dune option de menu pour dfinir le
texte qui apparat ou la mthode IconFileName dune barre doutils ou dune option
de menu pour indiquer licne afficher et la rcuprer. Cette opration extrait le
bitmap du fichier dicne et le stocke avec linterface ; le fichier dicne nest ainsi plus
ncessaire. Vous pouvez aussi modifier les proprits dune option existante.
Une option de menu ou un lment de barre doutils disposent de deux proprits
dterminantes : CmdNum permet de spcifier lID de la commande associe
loption, et AddOnName permet de spcifier un programme ou une macro excuter
lorsque lutilisateur choisit loption de menu ou clique sur le bouton. Si le programme
accepte les arguments de ligne de commande, ceux-ci peuvent tre indiqus par
lintermdiaire de la proprit AddOnArgs. Pour plus dinformations sur les
proprits et sur les mthodes dune option, recherchez cette option dans laide en
ligne Rfrence du dveloppeur (choisissez ? (Aide) > Rfrence Du Dveloppeur)
fournie avec Visio.
Caption correspond au texte qui apparat dans un menu ou une option de menu.
Pour afficher lacclrateur avec loption de menu, ajoutez-le au texte de la proprit
Caption et insrez deux espaces entre le \a et le texte dacclrateur. Par exemple :
Dans cet exemple, Ouvrir... est la lgende de loption de menu ; Ctrl+O est le texte de
lacclrateur, et \a sert justifier gauche le texte dacclrateur. Le fait dajouter un
texte dacclrateur la proprit Caption najoute pas dacclrateur proprement
parler et nintervient que sur laffichage. Vous pouvez ajouter des acclrateurs en
utilisant les objets relatifs aux acclrateurs du modle dobjet Visio.
Vous pouvez aussi spcifier dautres proprits comme celles de lexemple suivant :
ActionText correspond au texte qui apparat dans le menu Edition avec les
commandes Annuler, Rtablir et Rpter. Il apparat galement dans tous les
messages derreur ou dans les ventuelles info-bulles de la barre doutils. MiniHelp
correspond au message qui apparat dans la barre dtat lorsque lutilisateur
immobilise le pointeur sur loption.
"0uv1...\a Cf1+0"
mehuTfem0b.Acf1ohTexf = "Excufe 1`app11caf1oh 0mo 1"
mehuTfem0b.M1h1he1p = "Excufe 1`app11caf1oh 0mo 1"
acce1Tfem0b.Key = Espace a1e
acce1Tfem0b.A1f = Tue
452 CHAP I TRE 22
Key correspond la valeur du code ASCII dun acclrateur. Par exemple, le code
ASCII de la touche Retour est 8, le code ASCII de la touche Echap est 27. Pour plus
dinformations sur les codes ASCII, reportez-vous laide en ligne du kit de
dveloppement SDK (Microsoft Platform Software Development Kit). Les proprits
Alt, Control et Shift modifient la proprit Key dun acclrateur. Pour dfinir les
proprits dun acclrateur, paramtrez une combinaison de modificateurs sur
TRUE, spcifiez un code de touche, puis dfinissez la proprit CmdNum ou
AddonName de loption. Pour activer une commande acclratrice, appuyez sur la
combinaison des modificateurs et sur la touche qui correspond au code.
La proprit CmdNum correspond lID de commande dune option. Chaque option
de menu ou option de barre doutils intgre Visio reprsente une commande Visio et
dispose dun ID de commande. Par exemple, lID de la commande Afficher la feuille
ShapeSheet est visCmdWindowShowShapeSheet ; lID de la commande de Afficher le
gabarit de document est visCmdWindowShowMasterObjects. Pour obtenir la liste
des ID de commande valides, reportez-vous la bibliothque de types Visio dans
lexplorateur dobjets et recherchez visCmd .
CONSEIL : pour masquer linterface utilisateur Visio mais pas la fentre Visio, paramtrez
les proprits ShowToolbar, ShowStatusBar et ShowMenusde lobjet Application sur
FALSE pour masquer respectivement toutes les barres doutils, les barres dtat et les
menus.
Suppression dopt ions dune int erf ace ut ilisat eur
Vous pouvez supprimer nimporte quel lment de linterface utilisateur Visio, que
cet lment fasse partie de linterface utilisateur intgre Visio ou quil y ait t ajout
(si vous souhaitez rendre une barre doutils ou une option de menu temporairement
indisponible en le grisant, paramtrez sa proprit Enabled sur FALSE).
La suppression dune option ne supprime pas la fonctionnalit de cette option, mais
seulement son accs. Dautres modes daccs, comme les acclrateurs, peuvent rester
disponibles. Par exemple, si vous supprimez la commande Copier du menu Edition,
mais pas lacclrateur (Ctrl+C), lutilisateur peut toujours faire appel la
fonctionnalit de copie en appuyant sur Ctrl+C. Vous pouvez galement supprimer la
commande Afficher la feuille ShapeSheet du menu Fentre, mais si laction du
double-clic sur une forme a pour effet dafficher la fentre ShapeSheet, cette fentre
apparat tout de mme lorsque vous double-cliquez sur cette forme.
P ERSONNAL I SATI ON DE L I NTERFACE UTI L I SATEUR VI SI O 453
CONSEIL : chaque option de menu et lment de barre doutils intgr de Visio reprsente
une commande Visio et comporte un ID de commande. Si vous souhaitez supprimer lune
de ces options Visio, vous pouvez lidentifier par son ID de commande. En revanche, la
proprit CmdNumdune option de menu ou dune option de barre doutils
personnalise permettant dexcuter un programme ou une macro nest associe aucun
ID de commande Visio. Cest pourquoi vous ne pouvez pas identifier llment par son ID
de commande. Vous devez utiliser la chane de la proprit Caption dune option de
menu ou dun lment de barre doutils personnalise pour le localiser.
Pour supprimer une option, utilisez sa mthode Delete. Par exemple, les instructions
suivantes suppriment, dans la fentre de dessin, loption Afficher la feuille ShapeSheet
du menu Fentre pour la copie de Visio en cours dexcution :
01m u10b As v1s1o.uT0becf
01m mehuSef0b As v1s1o.MehuSef
01m mehuTfems0b As v1s1o.MehuTfems
01m 1 As Thfege
Sef u10b = v1s1o.App11caf1oh.u11fThMehus
Sef mehuSef0b =
u10b.MehuSefs.TfemAfT0|v1suT0bSef0aW1hg)
Pcupe 1e mehu Iehfe
Sef mehuTfems0b = mehuSef0b.Mehus|7).MehuTfems
Pcupe 1`opf1oh de mehu Aff1che 1a feu111e ShapeSheef a 1`a1de de sa
`pop1f Cmdhum.
Ceffe fechh1que fohcf1ohhe avec 1es ves1ohs 1oca11ses de v1s1o.
Io 1 = 0 To mehuTfems0b.Couhf -1
Tf mehuTfems0b|1).Cmdhum =
v1sCmdW1hdoWShoWShapeSheef Theh
mehuTfems0b|1).0e1efe
Ex1f Io
Ehd Tf
hexf 1
Pemp1ace 1es mehus 1hfgs de v1s1o avec 1a cohf1guaf1oh pesohha11se
v1s1o.App11caf1oh.SefCusfomMehus u10b
454 CHAP I TRE 22
Suppression dune opt ion de barre dout ils
La macro suivante indique comment supprimer, dans le contexte de la fentre de
dessin, le bouton Vrificateur d'orthographe de la barre doutils intgre Visio :
Sub 0e1efeToo1bauffoh| )
01m u10b As v1s1o.uT0becf
01m foo1baSef0b As v1s1o.Too1baSef
01m foo1baTfems0b As v1s1o.Too1baTfems
01m foo1baTfem0b As v1s1o.Too1baTfem
01m 1 As Thfege va1ab1e de bouc1e
Pcupe 1`obef uT0becf pou 1es baes d`ouf11s
Sef u10b = v1s1o.App11caf1oh.u11fThToo1bas|0)
Pcupe 1`obef Too1baSef de 1a fehfe de dess1h
Sef foo1baSef0b = u10b.Too1baSefs.TfemAfT0|v1suT0bSef0aW1hg)
Pcupe 1a co11ecf1oh Too1baTfems
Sef foo1baTfems0b = foo1baSef0b.Too1bas|0).Too1baTfems
Pcupe 1`obef Spe111hg Too1baTfem
Efahf dohh que ce code cupe 1es baes d`ouf11s 1hfges de v1s1o,
vous avez accs a 1`opf1oh de bae d`ouf11s v1f1cafeu d`ofhogaphe.
S1 1e code cupe uhe bae d`ouf11s pesohha11se, ce11e-c1
peuf he pas compofe 1`opf1oh v1f1cafeu d`ofhogaphe.
Io 1 = 0 To foo1baTfems0b.Couhf - 1
Pcupe 1`obef Too1baTfem acfue1 de 1a co11ecf1oh
Sef foo1baTfem0b = foo1baTfems0b|1)
v1f1e s1 1`opf1oh de bae d`ouf11s acfue11e esf 1e boufoh
v1f1cafeu d`ofhogaphe
Tf foo1baTfem0b.Cmdhum = v1sCmdToo1sSpe111hg Theh
Ex1f Io
Ehd Tf
hexf 1
0e1efe fhe Spe111hg buffoh
foo1baTfem0b.0e1efe
Paamfez v1s1o de mah1e a ce qu`11 uf111se 1es houve11es baes
d`ouf11s pesohha11ses 1osque 1e documehf esf acf1f
Th1s0ocumehf.SefCusfomToo1bas u10b
Ehd Sub
P ERSONNAL I SATI ON DE L I NTERFACE UTI L I SATEUR VI SI O 455
Suppression dun acclrat eur
La macro suivante indique comment supprimer, du contexte de la fentre de dessin,
lacclrateur de lEditeur Visual Basic :
Sub 0e1efeAcce1Tfem| )
01m u10b As v1s1o.uT0becf
01m acce1Tab1e0b As v1s1o.Acce1Tab1e
01m acce1Tfems0b As v1s1o.Acce1Tfems
01m acce1Tfem0b As v1s1o.Acce1Tfem
01m 1 As Thfege
Pcupe 1`obef uT0becf pou 1a cop1e des mehus 1hfgs
Sef u10b = v1s1o.App11caf1oh.u11fThMehus
Paamfe 1`obef acce1Tab1e0b su 1a cohf1guaf1oh de mehus de dess1h
Sef acce1Tab1e0b = u10b.Acce1Tab1es.TfemAfT0|v1suT0bSef0aW1hg)
Pcupe 1a co11ecf1oh d`acc1afeus
Sef acce1Tfems0b = acce1Tab1e0b.Acce1Tfems
Pcupe 1`acc1afeu de 1`d1feu v1sua1 as1c eh
pacouahf 1a co11ecf1oh des acc1afeus ef eh epahf
ce1u1 que vous souha1fez supp1me.
Io 1 = 0 To acce1Tfems0b.Couhf - 1
Sef acce1Tfem0b = acce1Tfems0b.Tfem|1)
Tf acce1Tfem0b.Cmdhum = v1s1o.v1sCmdToo1sPuhvE Theh
Ex1f Io
Ehd Tf
hexf 1
Supp1me 1`acc1afeu
acce1Tfem0b.0e1efe
Paamfe v1s1o de mah1e a ce qu`11 uf111se 1es houveaux mehus
pesohha11ss 1osque 1e documehf esf acf1f.
Th1s0ocumehf.SefCusfomMehus u10b
Ehd Sub
456 CHAP I TRE 22
Mise en oeuvre des modif icat ions apport es lint erf ace
ut ilisat eur personnalise
Ltape finale du processus de personnalisation de linterface utilisateur Visio consiste
paramtrer linterface utilisateur personnalise dun objet. Linterface utilisateur
personnalise est ainsi applique la copie de Visio. Les modifications que votre
programme apporte un objet UIObject apparaissent dans la copie de Visio aprs
cette tape.
Pour appliquer les modifications de linterface utilisateur personnalise, utilisez les
mthodes SetCustomMenus ou SetCustomToolbars de lobjet Document ou
Application et spcifiez lobjet UIObject reprsentant votre interface utilisateur
personnalise. Par exemple, linstruction suivante permet de paramtrer les menus
pour un document :
Pour paramtrer les barres doutils personnalises pour tous les documents dune
copie de Visio, utilisez cette instruction :
Si vous modifiez un objet UIObject qui reprsente les barres doutils ou les menus
personnaliss actifs au cours de lexcution dune copie de Visio, utilisez la mthode
UpdateUI de lobjet UIObject pour afficher vos modifications :
Th1s0ocumehf.SefCusfomMehus u10b
v1s1o.App11caf1oh.SefCusfomToo1bas u10b
Pcupe 1`obef uT0becf pou 1es mehus pesohha11ss
Sef u10b = v1s1o.App11caf1oh.CusfomMehus
...Chahgemehfs de code appofs a 1`1hfeface pesohha11se
App11que 1es mod1f1caf1ohs a 1`1hfeface pesohha11se
u10b.updafeuT
P ERSONNAL I SATI ON DE L I NTERFACE UTI L I SATEUR VI SI O 457
Ut ilisat ion des f ichiers dint erf ace ut ilisat eur personnalise
Le fichier dinterface utilisateur Visio (VSU) est un moyen de sauvegarder linterface
utilisateur personnalise dune copie de Visio une autre. Si votre solution apporte des
modifications importantes linterface utilisateur Visio et si les utilisateurs
napporteront vraisemblablement pas dautres modifications par lintermdiaire
dautres solutions, le fichier VSU constitue certainement le moyen le plus efficace
dobtenir une interface utilisateur personnalise.
Fichier Cust om.vsu
Visio 2000 utilise un fichier VSU pour conserver les personnalisations de lutilisateur.
La premire fois quun utilisateur personnalise linterface utilisateur Visio laide de
la commande Affichage > Barres doutils > Personnaliser, la copie de Visio prend un
instantan de linterface utilisateur active (notamment les personnalisations fournies
par les solutions Visio) et, lorsque lutilisateur quitte Visio, la stocke dans un fichier
appel Custom.vsu dans le dossier du profil de lutilisateur.
Si votre solution utilise un fichier .vsu pour fournir une interface utilisateur
personnalise, vous devez retenir les informations suivantes :
Si le systme utilisateur comporte un fichier Custom.vsu, les proprits
CustomMenus et CustomToolbars de lobjet Application renvoient un objet
UIObject au lieu de renvoyer Nothing (dans les versions prcdentes de Visio,
CustomMenus et CustomToolbars renvoyaient un objet UIObject seulement si
linterface utilisateur Visio avait t personnalise par un programme).
Le fichier Custom.vsu de lutilisateur est un instantan de linterface utilisateur,
quelle quelle soit, qui est active lorsque lutilisateur personnalise linterface. Si
une solution personnalise linterface utilisateur Visio, et si lutilisateur cre une
barre doutils personnalise, le fichier Custom.vsu de lutilisateur correspond
linterface utilisateur de la solution laquelle sajoutent les modifications de
lutilisateur. Si une solution recharge ensuite son fichier .vsu original, la copie de
Visio semble perdre les personnalisations de lutilisateur.
Si le fichier Custom.vsu est supprim, la copie de Visio rtablit les
personnalisations de lutilisateur partir des donnes de ressource internes et
recre le fichier lorsque lutilisateur quitte le programme la fois suivante.
Si votre solution Visio est la seule excute sur plusieurs installations Visio, pensez
donner au fichier dinterface utilisateur de cette solution le nom de Custom.vsu, puis
linstaller dans le dossier des donnes de lapplication appropri afin de distribuer
une interface utilisateur personnalise Visio dans toute lentreprise.
458 CHAP I TRE 22
Enregist rement dun f ichier dint erf ace ut ilisat eur
personnalise
Si vous avez apport des modifications importantes linterface utilisateur et si vous
avez lintention denregistrer votre interface utilisateur personnalise dans un fichier
VSU, utilisez la mthode SaveToFile de lobjet UIObject. Par exemple :
Chargement dun f ichier dint erf ace ut ilisat eur personnalise
Vous pouvez charger un fichier dinterface utilisateur personnalise en paramtrant
linterface personnalise de lobjet Application. Vous pouvez aussi charger un fichier
dinterface utilisateur personnalise (.vsu) au dclenchement dun vnement,
comme louverture dun document.
Pour charger le fichier dinterface utilisateur personnalise dun objet Application,
paramtrez les proprits suivantes de lobjet sur le nom de ce fichier :
CustomMenusFile : paramtrez cette proprit pour les menus personnaliss et les
acclrateurs.
CustomToolbarsFile : paramtrez cette proprit pour les barres doutils et les
barres dtat personnalises.
Par exemple, pour charger un fichier dinterface utilisateur personnalise chaque
lancement de lapplication Visio, utilisez cette instruction :
Vous devez paramtrer ces proprits de lobjet Application une fois seulement. Ces
proprits dfinissent la valeur des entres CustomMenusFile et
CustomToolbarsFile dans le registre de Microsoft
Windows
et indiquent
lapplication Visio lemplacement du fichier dinterface personnalise correspondant.
Si aucun chemin nest spcifi, lapplication Visio effectue une recherche dans les
dossiers du chemin des programmes complmentaires Visio, spcifi dans longlet
Chemins d'accs. Si le fichier indiqu ne peut pas tre localis, ou si la cl de registre
est supprime ou modifie, lapplication Visio reprend linterface utilisateur Visio
intgre.
Pour charger un fichier dinterface utilisateur personnalise au dclenchement dun
vnement, comme louverture dun document, placez le code dans lvnement
appropri de lobjet Document.
u10b.SaveToI11e|"c:\v1s1o\so1uf1ohs\off1ce\mesouf11s.vsu")
v1s1o.App11caf1oh.CusfomToo1basI11e =
"c:\v1s1o\so1uf1ohs\off1ce\mesouf11s.vsu"
P ERSONNAL I SATI ON DE L I NTERFACE UTI L I SATEUR VI SI O 459
Pour charger un fichier dinterface utilisateur personnalise chaque ouverture de
document, utilisez cette instruction dans lvnement DocumentOpened de lobjet
Document :
Si vous programmez dans un environnement de dveloppement externe comme
Microsoft
Visual Basic
ActiveX
Visio
Windows
Visual Basic
pour Applications (VBA) correspondant. Le document et son projet sont ainsi
toujours dans le mme mode. Quand un document est en mode cration, aucun de
ses objets (y compris ses contrles) nmet dvnements.
Un document Visio est par dfaut en mode excution son ouverture, moins que la
protection contre les virus de macro ne soit active dans Visio. Pour passer en mode
cration, vrifiez que la barre doutils Dveloppeur est affiche. Si ce nest pas le cas,
choisissez Affichage > Barres d'outils > Dveloppeur. Cliquez ensuite sur le bouton
Mode Cration qui apparat en clair pour indiquer que Visio est en mode cration.
REMARQUE : si la protection contre les virus de macro est active, lutilisateur est invit
activer ou dsactiver les macros louverture dun document. Si lutilisateur dsactive
les macros, le document est ouvert en mode cration, et il est impossible de passer en mode
excution moins de fermer le document et de louvrir de nouveau en activant les macros.
Pour activer la protection contre les virus de macro, choisissez Outils > Options, cliquez
sur longlet Options avances, puis slectionnez ou dslectionnez loption Protection
anti-virus macro.
Insert ion dun cont rle dans un dessin
Avant dinsrer un contrle ActiveX dans un dessin Visio, le contrle doit tre install
sur votre systme. Certains contrles peuvent galement ncessiter une licence de
cration pour tre utiliss dans les applications que vous dveloppez.
UTI L I SATI ON DE CONTRL ES ACTI VEX DANS UNE SOL UTI ON VI SI O 463
Vous insrez un contrle en le slectionnant dans la bote de dialogue Contrles, qui
rpertorie tous les contrles ActiveX installs sur votre systme, notamment ceux
installs par dautres applications. De telles applications fournissent gnralement une
licence dexcution pour les contrles ActiveX quelles contiennent. La licence
dexcution vous autorise utiliser ces contrles dans lapplication qui les contient,
mais pas les insrer dans des applications que vous dveloppez. Pour insrer ce type
de contrle dans vos applications, vous devez disposer dune licence de cration. Pour
plus dinformations, reportez-vous la section Distribution de contrles ActiveX
dans une solution Visio , page 469.
Pour insrer un cont rle Act iveX dans un dessin :
1 Cliquez sur le bouton Insrer un contrle ( ) de la barre doutils Dveloppeur.
2 Dans la bote de dialogue Contrles, slectionnez un contrle, par exemple
Microsoft Forms 2.0 CommandButton.
Bote de dialogue Contrles
3 Cliquez sur OK pour insrer le contrle dans la page de dessin.
4 Le cas chant, dplacez et redimensionnez le contrle.
Un contrle slectionn est dot de poignes de slection vertes, comme une forme
slectionne, et vous pouvez le dplacer et le redimensionner de la mme faon.
Contrle slectionn
464 CHAP I TRE 23
5 Le cas chant, modifiez le contrle et dfinissez ses proprits.
Pour modifier un contrle, double-cliquez dessus. Un contrle activ de cette
faon pour la modification sur place se prsente de la mme faon dans Visio et
dans tous les conteneurs ActiveX. Pour dfinir les proprits dun contrle, utilisez
lEditeur Visual Basic ( ).
Contrle activ pour la
modification sur place
Aprs linsertion dun contrle dans un dessin, son utilisation est trs similaire celle
dune forme Visio. Par exemple, vous pouvez couper ou copier, puis coller le
contrle, le dupliquer en maintenant la touche Ctrl enfonce et en faisant glisser le
pointeur, ou le transformer en forme de base en le faisant glisser vers un gabarit.
Conseils destins aux dveloppeurs de contrles
La premire fois que vous insrez un contrle dans un dessin Visio, VBA cre une
bibliothque de types fusionne pour ce contrle et le stocke dans le rpertoire
Temp dans un fichier portant lextension .exd. Si vous modifiez ensuite le contrle,
commencez par supprimer le fichier .EXD avant dessayer dinsrer de nouveau le
contrle. Si un message derreur apparat lorsque vous insrez un contrle aprs
lavoir modifi, supprimez le fichier .EXD cach pour rsoudre ce problme.
Si le contrle prend en charge linterface IClassFactory2, le moteur Visio utilise cette
interface lorsque vous essayez dinsrer une nouvelle occurrence de ce contrle. Par
consquent, cette insertion ne russit que sur les systmes sur lesquels le contrle fait
lobjet de la licence adquate. Si le contrle ne prend pas en charge IClassFactory2, le
moteur Visio utilise linterface IClassFactory pour instancier le contrle, et la licence
na aucune incidence.
Df init ion de lordre de t abulat ion des cont rles
Lorsque Visio est en mode excution, appuyez sur la touche Tab pour passer dun
contrle un autre dans la page de dessin. Si vous ajoutez plusieurs contrles un
dessin, il est intressant de pouvoir activer les contrles dans un ordre logique.
Lordre de tabulation des contrles correspond leur ordre dempilement sur la page
de dessin, en commenant par le contrle de dernier plan. A lorigine, il sagit de
lordre dans lequel vous avez insr les contrles dans le dessin, le contrle le plus
rcent figurant au premier plan.
UTI L I SATI ON DE CONTRL ES ACTI VEX DANS UNE SOL UTI ON VI SI O 465
Pour modifier lordre dempilement des contrles, utilisez les commandes suivantes
du menu Forme :
Rapprocher
Premier plan
Eloigner
Arrire-plan
Ut ilisat ion des proprit s dambiance de Visio dans des
cont rles
Si vous dveloppez des contrles ActiveX pour Visio, vous pouvez tirer parti des
proprits dambiance dfinies par Visio. Un contrle utilise les proprits
dambiance dune application pour conserver une apparence cohrente avec les autres
contrles dun document. Par exemple, la proprit BackColor indique la couleur de
lintrieur dun contrle.
Pour obt enir la list e des proprit s dambiance de Visio :
Dans la fentre de lEditeur Visual Basic, cliquez avec le bouton droit sur
lexplorateur dobjets et choisissez Afficher les membres cachs dans le menu
contextuel, puis slectionnez IVAmbients dans la liste Classes.
Les proprits dambiance sont en lecture seule.
Impression dun dessin sans cont rle
Pour que lutilisateur puisse imprimer un dessin mais pas les contrles, effectuez lune
des oprations ci-dessous :
Slectionnez les contrles, choisissez Format > Comportement, puis cochez
loption Forme non imprimable.
Attribuez le mme calque tous les contrles et dfinissez-le comme non imprimable.
Pour plus dinformations sur les calques, reportez-vous au chapitre 11,
Rorganisation des formes dun dessin .
Prot ect ion des cont rles cont re les modif icat ions
Lorsque vous distribuez une solution contenant des contrles, vous pouvez autoriser
les utilisateurs modifier les formes dans le dessin, mais vous ne souhaitez
gnralement pas quils puissent modifier les contrles. Vous pouvez protger les
contrles contre les modifications des utilisateurs, mme en mode cration, en
verrouillant les formes et en protgeant le document.
466 CHAP I TRE 23
Pour prot ger les cont rles cont re les modif icat ions :
1 Slectionnez les contrles dans le dessin.
2 Choisissez Format > Protection, puis cochez loption Contre la slection.
3 Choisissez Affichage > Fentres > Drawing Explorer pour afficher la fentre
Drawing Explorer
.
4 Dans la fentre Drawing Explorer, cliquez avec le bouton droit sur le document et
choisissez Protger le document dans le menu contextuel, puis cochez la case
Formes.
5 Pour plus de scurit, dfinissez un mot de passe dans la bote de dialogue Protger
le document.
Lutilisateur peut saisir le dessin, mais pas les contrles.
Gest ion des vnement s dun cont rle
Aprs avoir ajout un contrle ActiveX la page de dessin, vous pouvez grer les
divers vnements mis par le contrle (par exemple, si vous insrez un bouton de
commande, vous pouvez grer son vnement Click). Pour grer les vnements dun
contrle, vous devez rdiger des procdures dvnement dans le projet Microsoft
Visual Basic pour Applications (VBA) du dessin Visio contenant le contrle, comme
vous le faites pour les vnements Visio.
Pour rdiger une procdure dvnement dun cont rle :
1 Dans la fentre de code de lEditeur Visual Basic associe ThisDocument,
slectionnez un contrle dans la zone de liste des objets.
2 Slectionnez lvnement grer dans la zone de liste des procdures.
3 Remplissez la procdure dvnement dans la fentre de code.
Par exemple, la procdure dvnement suivante dun bouton de commande
supprime une forme du dessin Visio si un utilisateur slectionne le nom de la forme
dans un contrle de zone de liste et clique sur le bouton de commande :
P1vafe Sub Commahduffoh1C11ck| )
01m v1sShape As v1s1o.Shape
Tf L1sfox1.L1sfThdex >=0 Theh
Sef v1sShape =
Acf1vePage.Shapes|L1sfox1.Texf)
v1sShape.0e1efe
Ehd Tf
Ehd Sub
UTI L I SATI ON DE CONTRL ES ACTI VEX DANS UNE SOL UTI ON VI SI O 467
Ut ilisat ion des cont rles lexcut ion
Un contrle ActiveX propose gnralement des proprits et des mthodes que vous
pouvez utiliser au moment de lexcution pour intgrer le contrle votre
programme. Par exemple, un contrle de zone de liste est dot dune proprit
ListIndex qui renvoie lindice de llment slectionn et dune proprit Text qui
renvoie le texte de llment cet indice.
A propos des noms de cont rle
Un contrle est associ deux noms : un nom Visio et un nom VBA. A lorigine, ces
noms identiques sont constitus du type de contrle associ un nombre entier qui
rend le nom unique. Par exemple, le premier contrle de zone de liste que vous
insrez dans un dessin reoit le nom ListBox1 et vous pouvez utiliser ce nom pour
faire rfrence ce contrle dans le code VBA et dans Visio. Visio utilise dautres
conventions de nom pour ses formes. Pour plus dinformations sur les conventions de
nom, reportez-vous au chapitre 16, Utilisation des objets Visio Document, Page et
Shape .
Bien quayant lorigine la mme valeur, les deux noms sont distincts du point de vue
de la programmation et ne sont pas interchangeables :
Utilisez le nom dobjet VBA dun contrle pour faire rfrence ce dernier dans le
code VBA. Pour modifier ce nom, dfinissez la proprit Name du contrle dans la
fentre des proprits de VBA dans lEditeur Visual Basic. Vous ne pouvez pas
utiliser le nom dobjet VBA dun contrle pour rcuprer un objet Shape dune
collection Visio, comme la collection Shapes ; vous devez pour cela utiliser la
proprit Shape.Name du contrle (par exemple, ListBox1.Shape.Name).
Utilisez le nom Visio dun contrle pour rcuprer lobjet Shape reprsentant le
contrle dans une collection Visio, comme OLEObjects ou Shapes. Pour modifier
ce nom, utilisez la zone Nom dans la bote de dialogue Spcial dans Visio
(slectionnez le contrle et choisissez Format > Spcial) ou dfinissez la proprit
Shape.Name du contrle dans VBA. Vous ne pouvez pas utiliser le nom Visio dun
contrle pour faire rfrence ce dernier dans le code VBA.
CONSEIL : pour des raisons pratiques, vous pouvez, si vous modifiez la valeur par dfaut
dun nom, changer lautre nom afin que les noms VBA et Visio dun contrle restent
identiques.
468 CHAP I TRE 23
Rcuprat ion dun cont rle de la collect ion OLEObject s
Vous pouvez rcuprer lobjet Shape reprsentant un contrle de la collection
OLEObjects dun objet Document, Page ou Master Visio. Vous pouvez galement
rcuprer un contrle de la collection Shapes dune page ou dune forme de base,
mais il est beaucoup plus rapide dutiliser la collection OLEObjects car elle ne
contient que des objets lis ou incorpors, alors que la collection Shapes inclut
galement toutes les formes Visio (donc un plus grand nombre dobjets).
La collection OLEObjects contient un objet OLEObject reprsentant chaque objet li
ou incorpor dans un document, une page ou une forme de base Visio, ainsi que tous
les contrles ActiveX. La proprit Object dun objet OLEObject renvoie une
rfrence lobjet li ou incorpor, que vous pouvez utiliser pour accder aux
proprits et aux mthodes de lobjet.
Vous pouvez extraire un contrle de la collection OLEObjects via son indice au sein
de la collection ou par le nom attribu au contrle dans Visio. A lorigine, ce nom est
identique au nom dobjet VBA du contrle, comme lexplique la section prcdente
A propos des noms de contrle , page 467. Par exemple, les instructions suivantes
permettent de rcuprer une forme nomme ListBox1 :
Pour effectuer la mme opration sur tous les contrles, bouclez sur la collection
OLEObjects et vrifiez la proprit ForeignType de chaque objet OLEObject pour
voir si la partie visTypeIsControl est dfinie. Si ForeignType et visTypeIsControl ont
la valeur TRUE, lobjet est un contrle ActiveX.
01m g11sfbox As 0becf
Sef g11sfbox =
0ocumehf.0LE0becfs|"L1sfox1").0becf
UTI L I SATI ON DE CONTRL ES ACTI VEX DANS UNE SOL UTI ON VI SI O 469
Dist ribut ion de cont rles Act iveX dans une solut ion Visio
Microsoft Visual Basic pour Applications (VBA), dans Microsoft
Visio
2000, inclut
les contrles Microsoft Forms 2.0 ActiveX, qui comprennent les contrles de bote de
dialogue standard comme les boutons, les cases cocher, les zones de texte et les zones
de liste modifiable. Vous pouvez distribuer ces contrles trs simplement avec une
solution Visio car ils sont inclus dans Visio (aucune installation spciale ni licence
supplmentaire nest ncessaire).
Vous pouvez vous procurer dautres contrles en installant Visual Basic ou C++, en
tlchargeant des contrles depuis Internet ou en achetant des modules externes. La
distribution dune solution contenant de tels contrles peut tre un peu plus
complexe :
Les contrles pouvant dj se trouver sur le systme de lutilisateur, le programme
dinstallation de votre solution doit vrifier si le contrle est dj install et, sil ne
lest pas, linstaller et lenregistrer sur le systme de lutilisateur.
De tels contrles sont gnralement livrs avec une licence de cration de faon
ce que vous puissiez les utiliser dans les projets de dveloppement ; ils peuvent
ncessiter une licence dexcution pour leur distribution.
Pour plus dinformations sur linstallation, lenregistrement et les licences des
contrles de socits tierces, reportez-vous la documentation destine aux
dveloppeurs, fournie avec le contrle.
470 CHAP I TRE 23
Exemple de cont rles Act iveX qui int eragissent avec des f ormes
Pour comprendre linteraction des contrles ActiveX avec une forme Visio, consultez
lexemple suivant qui illustre un dessin comportant un contrle de zone de liste
modifiable qui rpertorie plusieurs lments : le nom des formes du dessin, des zones
de texte affichant du texte et certaines proprits personnalises dune forme
slectionne, ainsi quun bouton de commande permettant de mettre jour une
forme slectionne selon les nouvelles valeurs des zones de texte. Le dessin tient
galement jour le total des cots et des dures de toutes les formes de diagramme de
flux de processus de la page, en actualisant les totaux lors de lajout, de la suppression
ou de la modification de formes.
Dessin utilisant des
contrles ActiveX pour
interagir avec des formes
UTI L I SATI ON DE CONTRL ES ACTI VEX DANS UNE SOL UTI ON VI SI O 471
Lexemple de code suivant illustre le gestionnaire dvnements
ComboBox1_Change. Ce dernier slectionne une forme dans le dessin et affiche ses
proprits personnalises dans des zones de texte lorsque lutilisateur slectionne le
nom de cette forme dans la zone de liste modifiable :
P1vafe Sub Comboox1Chahge|)
L`uf111safeu a c11qu su uhe ehfe d`uhe 11sfe
01m sfhame As Sf1hg
0h Eo CoTo Tghoe:
Tf |bThCombooxChahged) Theh
u1ffe sahs 1eh fa1e pohde da a 1`vhemehf 1h1f1a1 Chahge
Ex1f Sub
Ehd Tf
0f1h1 uh 1hd1cafeu pou 1hfome que 1e pogamme esf dahs 1a ouf1he
Chahge. S1 uhe eeu suv1ehf aps, saufe a 1`f1queffe Tghoe, aps
avo1 1h1f1a11s cef 1hd1cafeu.
bThCombooxChahged = Tue
L`appe1 de 0ese1ecfA11 ef Se1ecf su 1`obef W1hdoW df1h1f
Comboox1.Texf |vo1 fheW1hdoWSe1ecf1ohChahged). Eheg1sfe 1e fexfe
couahf avahf d`effecfue 1`appe1 0ese1ecfA11, a1hs1 hous savohs que11e
esf 1a fome qu1 a f s1ecf1ohhe.
sfhame = Comboox1.Texf
S1ecf1ohhe 1`ehfe ef 11e ses pop1fs
Acf1veW1hdoW.0ese1ecfA11
Acf1veW1hdoW.Se1ecf Acf1vePage.Shapes|sfhame), v1sSe1ecf
W1fh Acf1vePage.Shapes|sfhame)
Texfox1.Texf = .Texf
Texfox2.Texf = Iomaf|.Ce11s|"pop.cof").Pesu1fTu, "0ev1se")
Texfox3.Texf = Iomaf|.Ce11s|"pop.due").Pesu1f|v1sE1apsedM1h),
"###0 m1h.")
Ehd W1fh
Ex1f Sub
Tghoe:
0f1h1 1`1hd1cafeu pou 1hd1que que 1e pogamme h`esf PLuS dahs 1a
ouf1he Chahge
bThCombooxChahged = Ia1se
Ehd Sub
472 CHAP I TRE 23
Ce gestionnaire dvnements effectue les oprations suivantes :
1 Il dslectionne tous les lments du dessin.
2 Il slectionne la forme dont le nom correspond la valeur de la proprit Text du
contrle ComboBox1. Si le dessin ne contient pas de forme de ce type, le
gestionnaire sinterrompt.
3 Il attribue la proprit Text du contrle TextBox1 la proprit Text de la forme.
4 Il attribue la proprit Text du contrle TextBox2 la valeur de la proprit
personnalise Cot de la forme, sous la forme dune valeur montaire.
5 Il attribue la proprit Text du contrle TextBox3 la valeur de la proprit
personnalise Dure de la forme, sous forme de minutes.
La variable globale bInComboBoxChanged indique si le gestionnaire
ComboBox1_Change est appel pour la premire fois. Le fait de dslectionner et de
slectionner une forme dclenche des vnements Window_SelectionChanged.
Toutefois, dans cet exemple, le gestionnaire de cet vnement dfinit la proprit
ComboBox1.Text, qui dclenche un vnement ComboBox1_Change et entrane une
nouvelle excution du gestionnaire ComboBox1_Change. Le gestionnaire dfinissant
la variable bInComboBoxChanged la premire excution peut ignorer les oprations de
slection la deuxime fois, empchant ainsi le programme dentrer dans une boucle
rcursive.
Il est galement possible dviter de telles boucles en dfinissant la proprit
EventsEnabled de lobjet Application afin de dsactiver la gestion des vnements
pendant que le gestionnaire effectue des oprations qui dclencheraient normalement
des vnements et entraneraient lexcution incorrecte des gestionnaires. Toutefois,
cette mthode nest pas recommande car elle dsactive tous les vnements pour la
copie du moteur Visio, risquant ainsi dentraner des interfrences avec dautres
solutions excutes sur le systme de lutilisateur (notamment si une erreur dans la
solution lempche de ractiver les vnements). A moins dtre certain que cette
solution sera la seule traiter des vnements Visio, utilisez la technique de variable
globale indique dans lexemple prcdent.
Sommaire
24
Ut ilisat ion du gest ionnaire
dannulat ion de Visio dans vot re programme
Dans un document Microsoft
Visio
Visio
Visual Basic
Visio
Visual
Basic
Visio
Visio
Visio
2000,
Professional Edition, (car il ne possde pas de copie lgale du gabarit Technical
Edition contenant la forme de base).
Les fichiers de constantes et fonctions globales Microsoft
Visual Basic
et C++ situs
dans le dossier \DVS du CD-ROM de Visio sont galement soumis un copyright.
Vous pouvez intgrer ces fichiers dans vos projets et les utiliser pour crer des
programmes excutables, mais vous ne pouvez pas les diffuser si les dveloppeurs
destinataires ne disposent pas de la licence dun produit Visio contenant ces fichiers.
Vous pouvez protger les formes que vous crez en fournissant des informations de
copyright dans la bote de dialogue Spcial associe la forme de base ou toute
occurrence de cette forme de base. Pour ouvrir la bote de dialogue Spcial,
slectionnez une forme, puis choisissez Format > Spcial. Vous ne pouvez effectuer
cette opration quune seule fois par forme (sauf si vous cliquez sur Annuler
immdiatement aprs). Aucune modification ultrieure des informations de
copyright dune forme nest autorise.
REMARQUE : pour plus dinformations sur la licence des formes de base et des produits
Visio, reportez-vous laccord de licence Visio fourni avec Visio.
Sommaire
26
Programmat ion de Visio
avec Microsof t Visual Basic
Les chapitres prcdents du manuel Developing Visio Solutions taient consacrs au
dveloppement de programmes dans lenvironnement de Microsoft
Visual Basic
pour Applications (VBA) de Microsoft
Visio
Visual Basic
.
Pour plus dinformations sur le modle dobjet de Visio, reprsentant les objets, les
proprits et les mthodes proposs par le moteur Visio via Automation,
reportez-vous au chapitre 14, Automation et le modle dobjet de Visio .
Rcupration dune copie de Visio ....................................................................... 496
Cration dun document Visio............................................................................... 501
Gestion des erreurs dans Microsoft Visual Basic ................................................ 502
Interprtation de la chane de commande envoye par Visio
votre programme ........................................................................................................503
Utilisation de la bibliothque de types de Visio dans les projets
Microsoft Visual Basic.................................................................................................506
Migration de Microsoft Visual Basic VBA.......................................................... 507
496 CHAP I TRE 26
Rcuprat ion dune copie de Visio
Les programmes externes contrlant Visio par le biais dAutomation doivent interagir
avec une copie de Visio. Selon lusage du programme, vous pouvez lancer une
nouvelle copie de Visio ou utiliser une copie en cours dexcution.
Crat ion dun objet Applicat ion
Aprs avoir dclar une variable objet Visio pour un objet Application, vous pouvez
utiliser la fonction CreateObject dans une instruction Set pour crer lobjet et
lassocier la variable objet qui permet ensuite de contrler la copie :
La cration dun objet Application excute une nouvelle copie de Visio, mme si
dautres copies existent dj.
Vous pouvez galement utiliser la fonction CreateObject pour crer une copie de
Visio invisible :
Vous pouvez ensuite utiliser la proprit Visible de lobjet Application pour
contrler la visibilit de la copie.
REMARQUE : vous pouvez utiliser lobjet InvisibleApp uniquement avec la fonction
CreateObject. Si vous essayez de lutiliser avec la fonction GetObject, cela chouera.
Lobjet InvisibleApp nest pas disponible dans les versions Visio antrieures Microsoft
Visio
2000.
Sef appv1s1o = Ceafe0becf|"v1s1o.App11caf1oh")
Sef appv1s1o = Ceafe0becf|"v1s1o.Thv1s1b1eApp")
P ROGRAMMATI ON DE VI SI O AVEC MI CROSOFT VI SUAL BASI C 497
Rcuprat ion dun objet Applicat ion
Vous pouvez utiliser la fonction GetObject pour accder un objet Application
correspondant une copie de Visio en cours dexcution. Exemple :
La virgule indique que le premier argument de GetObject, savoir le chemin dun
fichier, a t omis. Cette virgule est indispensable car, dans certains cas, un nom de
fichier doit tre le premier argument de GetObject. Cependant, pour accder une
copie de Visio, vous devez omettre largument du nom de fichier ; sinon, une erreur
se produit. Pour plus dinformations, recherchez les donnes concernant GetObject
dans votre documentation Microsoft Visual Basic.
Si plusieurs copies de Visio sont en cours dexcution, GetObject renvoie la copie
active. Lorsquun programme est excut sous la forme de programme
complmentaire ou par double-clic sur une forme, la copie active est celle partir de
laquelle le programme a t lanc. Dans le cas contraire, il sagit de la dernire copie
excute ou active. Si aucune copie de Visio nest excute, lutilisation de GetObject
provoque une erreur.
Librat ion dun objet Applicat ion
Une copie dapplication vit jusqu ce que vous utilisiez la mthode Quit ou que
lutilisateur la ferme. Vous pouvez prvoir la gestion des erreurs ou utiliser des
vnements pour faire face cette dernire situation qui peut se produire tout
moment durant lexcution de votre programme.
Pour plus dinformations sur la gestion des vnements, reportez-vous au chapitre 21,
Gestion des vnements dans Visio
Exemple dut ilisat ion dun objet Applicat ion dans un
programme Microsof t Visual Basic
La sous-routine Visual Basic suivante cre un objet Application excutant une copie
de Visio, et gnre un dessin en ouvrant un modle et un gabarit. Cette sous-routine
suit les tapes ci-dessous :
1 Excution dune copie de Visio.
2 Cration dun document fond sur le modle Diagramme de base.vst.
3 Placement dune occurrence de la forme de base Rectangle du gabarit Formes de
base.vss sur la page de dessin.
4 Insertion de la chane Bonjour tous ! dans la forme de rectangle de la page de
dessin.
5 Enregistrement du document.
6 Fermeture de la copie de Visio.
Sef appv1s1o = Cef0becf|, "v1s1o.App11caf1oh")
498 CHAP I TRE 26
Sub he11oWo1d |)
va1ab1es d`obefs a uf111se dahs 1e pogamme
01m appv1s1o As v1s1o.App11caf1oh 0ccuehce de v1s1o
01m docs0b As v1s1o.0ocumehfs Co11ecf1oh 0ocumehfs de
1`occuehce
01m doc0b As v1s1o.0ocumehf 0ocumehf a uf111se
01m sfh0b As v1s1o.0ocumehf Caba1f cohfehahf 1a fome de
base
01m masf0b As v1s1o.Masfe Iome de base a 1hse
01m pags0b As v1s1o.Pages Co11ecf1oh Pages du documehf
01m pag0b As v1s1o.Page Page a uf111se
01m shp0b As v1s1o.Shape 0ccuehce de 1a fome de base
su 1a page
Cez uhe occuehce de v1s1o, a1hs1 qu`uh documehf su 1a base du
mod1e de base. vous pouvez effecfue ceffe opaf1oh mme s1 uhe
occuehce de v1s1o esf da eh cous d`excuf1oh
1e pogamme eh 1ahce uhe houve11e.
Sef appv1s1o = Ceafe0becf|"v1s1o.app11caf1oh")
Sef docs0b = appv1s1o.0ocumehfs
Cez uh documehf su 1a base du mod1e de d1agamme de base qu1
ouve aufomaf1quemehf 1e gaba1f Iomes de base.
Sef doc0b = docs0b.Add|"01agamme de base.vsf")
Sef pags0b = appv1s1o.Acf1ve0ocumehf.Pages
uh houveau documehf compofe au mo1hs uhe page dohf 1e humo
d`1hd1ce dahs 1a co11ecf1oh Pages esf 1.
Sef pag0b = pags0b.Tfem|1)
Sef sfh0b = appv1s1o.0ocumehfs|"01agamme de base.vss")
Sef masf0b = sfh0b.Masfes|"Pecfahg1e")
Thsez 1e ecfahg1e au m111eu de 1a page.
Les coodohhes fahsm1ses au momehf de 1`1hsef1oh sohf fouous
exp1mes eh pouces.
Sef shp0b = pag0b.0op|masf0b, 4.2S, S.S)
0f1h1ssez 1e fexfe du ecfahg1e
shp0b.Texf = "ohou a fous !"
Eheg1sfez 1e dess1h ef qu1ffez v1s1o. Le message 1hfeompf 1e
pogamme. Le dess1h v1s1o appaa1f avahf 1a femefue de 1`occuehce.
doc0b.SaveAs "he11o.vsd"
Msgox "0ess1h fem1h !", , "ohou a fous !"
appv1s1o.u1f
Ehd Sub
P ROGRAMMATI ON DE VI SI O AVEC MI CROSOFT VI SUAL BASI C 499
CreateObject est une fonction Visual Basic qui cre un objet Automation (dans le
prsent exemple, CreateObject excute une nouvelle copie de Visio et renvoie un
objet Application qui reprsente la copie, qui est associe la variable appVisio). Les
six instructions Set suivantes crent des rfrences aux autres objets du programme en
accdant aux proprits des objets rcuprs prcdemment. Vous remarquez de
nouveau la progression effectue dans le modle dobjet de Visio : objet Application,
collection Documents, objet Document, collection Pages, puis objet Page.
Linstruction Set docObj = docsObj.Add("Diagramme de base.vst") utilise la mthode
Add pour ouvrir un modle et lajouter la collection Documents. Pour plus
dinformations sur lajout dobjets Document, reportez-vous la section Cration
dun document Visio , page 503
Linstruction appVisio.Quit utilise la mthode Quit pour fermer la copie Visio
associe appVisio.
Raccourcis dut ilisat ion dune copie de Visio
En cas dchec de CreateObject ou de GetObject (par exemple, si Visio nest pas
install sur le systme sur lequel CreateObject est appel ou si GetObject ne peut pas
localiser une copie en cours dexcution), une erreur se produit. La fonction
vaoGetObject de Visreg.bas remplace avantageusement CreateObject et GetObject,
car elle comprend la gestion des erreurs dans les situations suivantes :
Si une copie de Visio est dj en cours dexcution, vaoGetObject lassocie g_appVisio
et renvoie visOK. g_appVisio est une variable globale gre dans Visreg.bas.
Si aucune copie nest en cours dexcution, vaoGetObject appelle CreateObject
pour en lancer une, associe cette dernire g_appVisio, puis renvoie visOK.
Si Visio nest pas install ou si une erreur se produit, vaoGetObject renvoie
visError. Les constantes visOK et visError sont dfinies dans Visreg.bas.
Visreg.bas contient une bibliothque de fonctions permettant doptimiser lutilisation
de copies de Visio. Cette bibliothque gre la variable globale g_appVisio. Pour utiliser
la bibliothque de fonctions, ajoutez Visreg.bas votre projet Visual Basic et utilisez
g_appVisio pour faire rfrence lobjet Application.
Pour ajouter Visreg.bas ce projet Visual Basic, choisissez Projet > Ajouter un fichier.
Lexemple suivant utilise vaoGetObject pour rcuprer une copie de Visio. Si aucune
copie nest en cours dexcution, le code en lance une. Si cette opration choue, un
message apparat.
Sub appCohhecf|)
Tf vaoCef0becf|) <> v1s0K Theh
Msgox |"Tmposs1b1e de 1ahce v1s1o")
Ehd Tf
Ehd Sub
500 CHAP I TRE 26
Ut ilisat ion du descript eur de f ent re dune copie
Pour mieux contrler une copie de Visio, rcuprez son descripteur de fentre. Vous
pourrez ensuite grer sa fentre de cadre de la mme manire que pour les autres
applications Microsoft
Windows
Excel, ces rfrences sont ncessaires pour rcuprer ou crer une copie
de Visio. En revanche, quand vous programmez dans le moteur Visio, il est dj en
cours dexcution.
Transfrez le code.
Quels sont les composants utiliss dans votre code ? Utilisez-vous des contrles
personnaliss absents de VBA ? Utilisez-vous des formulaires Visual Basic ?
Vrifiez si VBA prend en charge ces formulaires et ces contrles personnaliss.
Dans laffirmative, vous pouvez importer les formulaires des projets Visual Basic
dans un projet VBA et y ajouter des contrles personnaliss. Dans le cas contraire,
vous pouvez crer un formulaire utilisateur dans VBA et faire du copier-coller
entre les lments du projet de Visual Basic et de VBA.
Vrifiez le code ouvrant les modles et les gabarits.
Les programmes VBA sont stocks dans les fichiers Visio. Si vous stockez votre
programme VBA dans un modle qui ouvre les gabarits contenant les formes
utilises dans le programme, il nest pas ncessaire douvrir le modle et les
gabarits dans le programme : ils sont dj ouverts, tout comme une copie de Visio
est dj en cours dexcution.
Sommaire
27
Programmat ion de
Visio avec C++
Tous les clients prenant en charge le modle COM (Component Object Model) OLE
peuvent accder aux objets Microsoft
Visio
Visual Basic
Visio
Visual Basic
Win32
.
Visio attribue de la mmoire aux chanes renvoyes ; lappelant est ensuite charg de
librer cette mmoire.
Les classes wrapper dfinies dans Visiwrap.h assurent la libration de la mmoire
pour les chanes. Si, en revanche, vous nutilisez pas de classe wrapper, noubliez pas
dappeler SysFreeString pour librer les chanes renvoyes par Visio.
Argument s t ransmis aux mt hodes Visio
La transmission darguments aux mthodes Visio ne pose pas de difficults :
Les arguments entiers sont dclars de type short ou long, selon quil sagit dune
valeur de 2 ou de 4 octets.
Les arguments virgule flottante sont dclars de type double.
Les valeurs boolennes sont transmises sous la forme dentiers de type short ou
VARIANT_BOOL.
Les pointeurs dobjet, tels que BSTR ou VARIANT utiliss comme argument
mritent de plus amples explications.
Arguments sous forme de pointeurs dobjet
Certaines mthodes ncessitent des pointeurs dobjet ; dautres ncessitent un
pointeur vers un type dobjet Visio. Par exemple, la mthode GlueTo de lobjet Cell
reoit un argument qui doit faire rfrence un autre objet Cell.
Dautres mthodes recevant des pointeurs dobjet ne sont pas aussi difficiles. Par
exemple, la mthode Drop de lobjet Page accepte une rfrence un objet placer,
car vous pouvez dposer une forme de base ou une forme sur une page.
Le moyen le plus simple de transmettre un pointeur dobjet une mthode est de lui
cder une rfrence un objet de la classe wrapper adquate. Par exemple,
transmettez une rfrence CVisioCell comme argument de la mthode GlueTo.
Les interfaces dfinies dans Visio.h dclarent les pointeurs dobjet par rapport aux
interfaces correspondantes. Par exemple, Visio.h dclare GlueTo comme pointeur
vers une interface IVCell. La mthode Drop nest pas limite un objet particulier ;
cest pourquoi Visio.h dclare que Drop reoit un IUnknown, ce qui signifie en
langage OLE que Drop accepte une rfrence nimporte quel objet. En interne, la
mthode Drop dtermine lobjet placer en demandant lobjet qui lui a t transmis
une interface IDataObject. Linterface que vous transmettez Drop nest pas
forcment une interface avec un objet Visio.
P ROGRAMMATI ON DE VI SI O AVEC C++ 519
Arguments sous forme de chane
Toutes les chanes transmises Visio doivent tre de type BSTR. La classe daide
VBstr, dfinie dans Helpers.h, est trs pratique pour transmettre des chanes aux
copies de Visio. VBstr assure lattribution de mmoire lors de la cration de la chane
et libre cette mmoire lorsque le VBstr est dtruit. Si vous nutilisez pas VBstr,
noubliez pas dappeler SysFreeString pour librer la mmoire attribue aux chanes.
Par exemple, linstruction suivante utilise un VBstr pour transmettre un nom de
cellule la mthode Cells dun objet CVisioShape. Dans cette instruction, cell est une
variable de type CVisioCell :
Arguments VARIANT
Certaines mthodes de Visio reoivent des arguments non limits un certain type.
Par exemple, si vous transmettez lentier 5 la mthode Item dune collection
Documents, elle renvoie une rfrence au cinquime document de la collection. Si, en
revanche, vous transmettez la mme mthode une chane correspondant un nom
de document, elle renvoie une rfrence un document portant ce nom (en
admettant que ce document soit ouvert).
OLE dfinit une structure de donnes appele VARIANT pour transmettre ce type
darguments. La classe daide VVariant, dfinie dans Helpers.h, est fort utile pour
transmettre des arguments VARIANT une copie de Visio. Par exemple, comparez
les deux instructions suivantes :
La premire instruction transmet la valeur 1 (un entier) la mthode Item dune
collection Pages. La seconde transmet Poste (une chane) la mthode Item dune
collection Masters. Dans ces instructions, page et master sont respectivement des
variables de type CVisioPage et CVisioMaster.
h = shape.Ce11s|vsf|"Cohhecf1ohs.X4"), ce11)
h = pages.Tfem|vva1ahf|1L), page)
h = masfes.Tfem|vva1ahf|"Posfe"), masfe)
520 CHAP I TRE 27
Gest ion des vnement s Visio dans les programmes C++
Pour grer des vnements Visio partir dun programme en C++, vous pouvez
utiliser des objets Event. Un objet Event associe un vnement une action, pour
excuter un programme complmentaire ou notifier un autre objet, appel objet
rcepteur, que lvnement sest produit. Pour plus dinformations sur le
fonctionnement des objets Event et leur mise en oeuvre dans les programmes
Microsoft Visual Basic, reportez-vous au chapitre 21, Gestion des vnements dans
Visio .
Les protocoles utiliss par le moteur Visio pour prendre en charge le style WithEvents
Visual Basic du gestionnaire dvnements sont les protocoles IConnectionPoint
standard fournis par des contrles et utiliss par des conteneurs de contrle. Comme
alternative lutilisation des objets Event, un programme C++ peut recevoir des
vnements dune copie Visio laide des protocoles IConnectionPoint, mais il doit
mettre en oeuvre la totalit de linterface de groupe dvnements dclare pour le
type dobjet Visio partir duquel il souhaite recevoir des vnements. Pour plus
dinformations sur IConnectionPoint et les interfaces lies, reportez-vous votre
documentation COM.
Les sujets traits dans cette section dcrivent comment recevoir des vnements Visio
dans des programmes C++ laide dobjets Event tablis par des appels destins
EventList.Add ou EventList.AddAdvise. Ce protocole tant propre Visio, un
programme C++ na pas besoin de mettre en oeuvre la totalit des interfaces de
groupe dvnements ; au contraire, il peut enregistrer uniquement les vnements
qui lui sont utiles plutt que tous les vnements dun groupe dvnements,
contrairement IConnectionPoint.
Mise en oeuvre dun objet rcept eur
La gestion des vnements Visio dans un programme C++ est globalement la mme
que dans un programme Microsoft Visual Basic, quelques dtails prs :
Lobjet rcepteur du programme C++ doit tre un objet COM mettant linterface
IDispatch disposition.
P ROGRAMMATI ON DE VI SI O AVEC C++ 521
Linterface IDispatch doit fournir une mthode appele VisEventProc et
comportant la signature suivante :
Lorsque vous appelez AddAdvise pour crer lobjet Event, vous transmettez un
pointeur vers linterface IUnknown ou IDispatch avec lobjet rcepteur.
Ut ilisat ion de CVisioAddonSink
Au lieu de mettre en oeuvre votre propre objet rcepteur, vous pouvez utiliser la classe
CVisioAddonSink propose par Visio 2000. Cette classe est dclare dans le fichier
Addsink.h du dossier \DVS\Libraries\C-CPP\Vao_inc.
Pour ut iliser CVisioAddonSink :
1 Ajoutez Addsink.h aux fichiers source du projet. Si vous utilisez les classes wrapper
dfinies dans Visiwrap.h, passez cette tape.
2 Ecrivez une fonction de rappel pour recevoir les notifications dvnement
envoyes par lobjet rcepteur.
3 Appelez CoCreateAddonSink avec un pointeur vers votre fonction de rappel et
ladresse dune interface IUnknown. CoCreateAddonSink cre une occurrence
dobjet rcepteur connaissant votre fonction de rappel et crit un pointeur vers
linterface IUnknown avec lobjet rcepteur ladresse indique.
4 Rcuprez une rfrence la collection EventList de lobjet Visio dont vous
souhaitez recevoir des notifications.
5 Appelez la mthode AddAdvise de la collection EventList rcupre ltape 4
avec linterface IUnknown obtenue ltape 3 et le code dvnement de
lvnement Visio qui vous intresse. Lorsque lvnement se produit, la copie de
Visio appelle votre fonction de rappel.
6 Lorsque vous nutilisez plus lobjet rcepteur, librez-le.
ST0METh00{v1sEvehfPoc) {
W0P0 WEvehf, //Code de 1`vhemehf qu1 se dc1ehche
TUhkhoWh IAP* 1pSouce, //Po1hfeu ves TUhkhoWh su 1`obef qu1
//dc1ehche 1`vhemehf
0W0P0 dWEvehfT0, //T0 de 1`vhemehf qu1 se dc1ehche
0W0P0 dWSeq, //Numo de squehce de 1`vhemehf
TUhkhoWh IAP* 1pSubecf, //Po1hfeu ves TUhkhoWh su 1e suef de
//1`vhemehf
vAPTANT vexfaThfo //Thfomaf1ohs comp1mehfa1es {gha1emehf uh
//cohfexfe)
),
522 CHAP I TRE 27
Lexemple de programme Generic.cpp utilise CVisioAddonSink pour grer deux
vnements : DocumentCreated et ShapeAdded. Le programme dclare une fonction
de rappel pour chacun deux. La signature de la fonction de rappel doit tre conforme
VISEVENTPROC, qui est dfini dans Addsink.h. Lexemple suivant prsente lune
des dclarations. Pour avoir un exemple dune utilisation de cette fonction,
reportez-vous Generic.cpp.
hPESuLT ST0METh00CALLTYPE Pece1vehof1fyIomv1s1o |
TuhkhoWh IAP" 1pS1hk,
W0P0 WEvehf,
TuhkhoWh IAP" 1pSouce,
0W0P0 hEvehfT0,
0W0P0 dWEvehfSeq,
TuhkhoWh IAP" 1pSubecf,
vAPTAhT evehfExfa)
P ROGRAMMATI ON DE VI SI O AVEC C++ 523
Pour crer lobjet rcepteur, le programme rcupre la collection EventList de lobjet
Application (reprsent par la variable app de type CVisioapplication), appelle
CoCreateAddonSink pour crer lobjet rcepteur, et appelle AddAdvise dans lobjet
EventList pour crer lobjet Event dans la copie de Visio. Le programme dfinit un
indicateur, bFirstTime, pour vrifier que les objets Event ne sont crs quune seule
fois au cours de lexcution du programme. Lidentificateur de lobjet Event est stock
dans la variable statique stc_nEventID pour une utilisation ultrieure. Lappel AddAd-
vise cre une seconde rfrence lobjet rcepteur ; le programme peut alors librer
pSink :
Les objets Event crs avec AddAdvise subsistent jusqu la suppression de lobjet
Event, la libration de toutes les rfrences lobjet source ou la fermeture de la copie
de Visio. Si votre programme doit effectuer des travaux de nettoyage avant la
fermeture de la copie de Visio, utilisez lvnement BeforeQuit.
Si CVisioAddonSink est utilis dans une bibliothque Visio (VSL), son gestionnaire
de fermeture doit appeler Event.Delete.
sfaf1c 1ohg sfchEvehfT0 = v1sEvfT0Thva1
TuhkhoWh IAP" pS1hk = huLL
TuhkhoWh IAP" pAhofheS1hk = huLL
sfaf1c 00L bI1sfT1me = TPuE
Cv1s1oApp11caf1oh app
Cv1s1oEvehfL1sf eL1sf
Cv1s1oEvehf evehf
...
1f |bI1sfT1me && |SuCCEE0E0|app.EvehfL1sf|eL1sf))))
{
bI1sfT1me= IALSE
1f |SuCCEE0E0|CoCeafeAddohS1hk|Pece1vehof1fyIomv1s1o, &pS1hk)))
{
1f |SuCCEE0E0|eL1sf.AddAdv1se|v1sEvfCode0ocCeafe,
vva1ahf|pS1hk), vsf|""), vsf|""), evehf)))
{
evehf.T0|&sfchEvehfT0)
}
//S1 1a mfhode AddAdv1se uss1f, v1s1o cohf1ehf dsoma1s uhe
fehce a 1`obef cepfeu
//v1a 1`obef d`vhemehf. pS1hk peuf fe 11b
pS1hk->Pe1ease|)
pS1hk= huLL
}
...
}
524 CHAP I TRE 27
Bibliot hques Visio (VSL)
Une bibliothque Visio (VSL) est une DLL (Dynamic-Link Library) dun type
particulier, charge par le moteur de Visio lexcution, et susceptible de mettre en
oeuvre un ou plusieurs programmes complmentaires de Visio (programmes utilisant
Automation pour contrler les copies de Visio.
Un programme complmentaire mis en oeuvre par une bibliothque Visio peut
interagir avec les objets Visio de la mme manire quun programme prenant la forme
dun fichier excutable (EXE) ou dun code dans le projet VBA (Visual Basic pour
Applications de Microsoft) dun document, et un utilisateur peut sen servir de la
mme faon. Les programmes complmentaires mis en oeuvre dans un fichier VSL
prsentent des avantages sur les programmes excutables en ce qui concerne les
performances et lintgration. Par exemple, un fichier VSL est excut dans le mme
processus que la copie de Visio. Cependant, il est impossible de lancer une
bibliothque Visio depuis lExplorateur de Windows, contrairement aux excutables.
Est considr comme bibliothque Visio tout fichier pourvu de lextension .vsl et situ
dans les chemins des programmes complmentaires et de dmarrage. Pour installer
une VSL, copiez le fichier dans lun des rpertoires dfinis comme chemin des
programmes complmentaires ou de dmarrage. Lorsque vous relancez une copie de
Visio, les programmes complmentaires mis en oeuvre par cette VSL sont disponibles
dans cette copie.
Les fichiers ncessaires au dveloppement dune VSL sont dans le dossier
\DVS\Libraries\C-CPP. Ce dossier contient galement :
Les fichiers source et .MAK dune VSL simple dcrits dans le fichier Lisezmoi.txt
du dossier C-CPP.
Le fichier MyAddon.cpp du dossier \Samples\MyAddon contenant une interface
de dveloppement de votre VSL.
Le dossier \Libraries\C-CPP\Wizards, contenant deux versions de Microsoft
Visual Studio
Visio
associes aux formes, aux styles, aux pages et aux documents. Elle rpertorie
galement les constantes dindice correspondantes que vous pouvez utiliser dans un
programme pour accder aux sections, aux lignes et aux cellules laide
dAutomation, ainsi que les constantes dindice que vous pouvez utiliser pour accder
aux paramtres des tabulations.
Pour rechercher la valeur dune constante, utilisez lexplorateur dobjets de lEditeur
Visual Basic. Lorsque vous slectionnez une constante dans la liste Membres de, la
valeur de cette constante apparat dans le volet des dtails. Pour afficher la fentre
ShapeSheet associe un objet, cliquez sur cet objet, puis choisissez Fentre >
Afficher la feuille ShapeSheet.
CONSEIL : pour accder plus rapidement la fentre ShapeSheet, choisissez Outils >
Options, cliquez sur longlet Options avances, puis cochez la case Excuter sous le mode
dveloppeur dans la zone Paramtres dveloppeurs. Lorsque le mode dveloppeur est
activ, le menu contextuel qui apparat lorsque vous cliquez avec le bouton droit sur un
objet affiche la commande Afficher la feuille ShapeSheet.
Indices de section, de ligne et de cellule associs aux formes .......................... 548
Indices de section, de ligne et de cellule associs aux styles ............................ 554
Indices de section, de ligne et de cellule associs aux pages............................ 554
Indices de section, de ligne et de cellule associs aux documents ................... 556
Cellules de tabulation et types de ligne............................................................... 557
548 ANNEXE B
Les sections sont rpertories par ordre alphabtique et les cellules sont regroupes
par section. Dans les sections dotes dun nombre variable de lignes, comme la section
Actions, les lignes sont indexes par la constante de ligne. Pour crer une rfrence
une ligne, ajoutez un dcalage sous la forme dun nombre entier la constante de
lindice de ligne, en partant de 0 pour la premire ligne. Pour faire rfrence une
cellule dune ligne, utilisez le mme nombre entier dans le nom de cellule. Par
exemple, utilisez Actions.Action[i].
Pour plus dinformations sur lutilisation des rfrences de cellule dans les formules,
effectuez une recherche dans laide en ligne laide des mots-cls
formules:rfrences de cellule . Pour plus dinformations sur laccs aux cellules
partir dun programme, reportez-vous au chapitre 17, Automatisation des
formules
Indices de sect ion, de ligne et de cellule associs aux f ormes
Le tableau suivant rpertorie les sections, les lignes et les cellules de la fentre
ShapeSheet
associes une page de dessin, avec des constantes pour les indices de
section, de ligne et de cellule correspondants.
Les sections et les cellules associes une page et auxquelles vous pouvez faire
rfrence sont pour la plupart les mmes que celles associes une forme et
auxquelles vous pouvez faire rfrence : sections Actions, Proprits personnalises,
Liens hypertexte, Montage et Cellules personnalises. Pour plus dinformations sur
ces sections et cellules, reportez-vous la section Indices de section, de ligne et de
cellule associs aux formes , page 548. Vous pouvez galement crer une rfrence
aux sections et aux cellules rpertories dans ce tableau, associes une page.
Indices de section, de ligne et de cellule associs aux styles
Section ou
ligne Cellule Indice de section
Indice de
ligne Indice de cellule
Section
Proprits de
style
ActiverPropsTexte
ActiverPropsTraits
ActiverPropsRemp
M asquerPourAppl
visSectionO bject visRowStyle visStyleI ncludesText
visStyleI ncludesLine
visStyleI ncludesFill
visStyleHidden
I NDI CES DE SECTI ON, DE L I GNE ET DE CEL L UL E SHAP ESHEET 555
REMARQUE : pour afficher la fentre ShapeSheet associe une page, vrifiez quaucun
lment de la page nest slectionn, puis choisissez Fentre > Afficher la feuille
ShapeSheet. Si vous travaillez en mode dveloppeur, vous pouvez cliquer avec le bouton
droit sur la page, puis choisir Afficher la feuille ShapeSheet dans le menu contextuel.
Indices de section, de ligne et de cellule associs aux pages
Section ou ligne Cellule Indice de section Indice de ligne Indice de cellule
Section Calques Calques.Nom[i]
Calques.Visible[i]
Calques.Print[i]
Calques.Actif[i]
Calques.Locked[i]
Calques.M agn[i]
Calques.Colle[i]
Calques.Couleur[i]
Calques.NameUniv[i]
1
visSectionLayer visRowLayer + i visLayerName
visLayerVisible
visLayerPrint
visLayerActive
visLayerLock
visLayerSnap
visLayerGlue
visLayerColor
visLayerNameUniv
Section M ise en page StypePlace
ProfPlace
CodeTrac
RedimPage
DynamDsac
ActiverGrille
CtrlCommeEntre
TailleBlocX
TailleBlocY
EspacementX
EspacementY
StylePosition
DirDvTraitPageX
DirDvTraitPageY
TraitVersNoeudX
TraitVersNoeudY
TraitVersTraitX
TraitVersTraitY
FacteurDvTraitX
FacteurDvTraitY
CodeDvTrait
StyleDvTrait
AjustTraitDepuis
AjustTraitVers
visSectionO bject visRowPageLayout visPLO PlaceSyle
visPLO PlaceDepth
visPLO PlowCode
visPLO ResizePage
visPLO DynamicsO ff
visPLO EnableGrid
visPLO CtrlAsI nput
visPLO BlockSizeX
visPLO BlockSizeY
visPLO AvenueSizeX
visPLO AvenueSizeY
visPLO RouteSyle
visPLO JumpDirX
visPLO JumpDirY
visPLO LineToNodeX
visPLO LineToNodeY
visPLO LineToLineX
visPLO LineToLineY
visPLO JumpFactorX
visPLO JumpFactorY
visPLO JumpCode
visPLO JumpStyle
visPLO LineAdjustFrom
visPLO LineAdjustTo
Section Proprits de la
page
LargeurPage
HauteurPage
EchellePage
EchelleDessin
DcalO mbrX
DcalO mbrY
TypeTailleDessin
TypeEchelleDessin
I nterdireM agnt
visSectionO bject visRowPage visPageWidth
visPageHeight
visPageScale
visPageDrawingScale
visPageShdwO ffsetX
visPageShdwO ffsetY
visPageDrawSizeType
visPageDrawScaleType
visPageI nhibitSnap
556 ANNEXE B
1
Cette cellule n apparat pas dans la fentre ShapeSheet.
Indices de sect ion, de ligne et de cellule associs aux document s
Les sections et les cellules associes un document et auxquelles vous pouvez faire
rfrence sont pour certaines les mmes que celles associes une forme et auxquelles
vous pouvez faire rfrence : sections Proprits personnalises, Liens hypertexte,
Montage et Cellules personnalises. Pour plus dinformations sur ces sections et
cellules, reportez-vous la section Indices de section, de ligne et de cellule associs
aux formes , page 548. Vous pouvez galement crer une rfrence aux sections et
aux cellules rpertories dans ce tableau, associes un document.
REMARQUE : pour afficher la fentre ShapeSheet
Visio
.
La section Tabulations comporte une ligne pour chaque groupe de tabulations dfini
pour la forme. Chaque ligne contient trois cellules pour chaque taquet de tabulation
dfini dans cette ligne, le maximum tant 60 taquets de tabulation. Les cellules de la
totalit de la ligne sont indexes partir de 0.
REMARQUE : la position du jme taquet de tabulation (j>0) est stocke dans la cellule
((j-1)*3) + visTabPos. Lalignement du jme taquet de tabulation est stock dans la
cellule ((j-1)*3) + visTabAlign.
Le nombre de tabulations pouvant tre dfinies dpend du type de ligne de
tabulation. Vous pouvez modifier ce type de ligne en dfinissant la proprit
RowType de lobjet Shape associe la ligne et la section de tabulation sur lune des
constantes de libell de ligne dans le tableau suivant.
Indice de section Indice de ligne Indice de cellule
visSectionTab visRowTab + i 0 ... 180
Indice Description Indice Description
0 Nombre de tabulations actives dans la ligne 6 Rserv
1 Position de la premire tabulation
2 Code d alignement de la premire tabulation 178 Position de la 60me tabulation
3 Rserv 179 Code d alignement de la 60me
tabulation
4 Position de la seconde tabulation 180 Rserv
5 Code d alignement de la seconde tabulation 6 Rserv
Constante Description
visTagTab0 Zro taquet de tabulation
visTagTab2 Zro, un ou deux taquets de tabulation
visTagTab10 De zro dix (10) taquets de tabulation
visTagTab60 De zro soixante (60) taquets de tabulation
Glossaire
Action : 1. Elment de menu dfini par lutilisateur et associ une forme. Lorsque la
forme est slectionne, llment apparat dans le menu contextuel et dans le sous-
menu Actions du menu Forme. 2. Programme ou commande dapplication
Microsoft
Visio
dcrit les dimensions dune forme, ainsi que langle, le centre de rotation et les styles
qui dterminent laspect de cette forme. Les feuilles de calcul ShapeSheet peuvent
contenir des formules qui dfinissent le comportement de la forme lorsquelle est
dplace ou redimensionne et la faon dont elle rpond des vnements. La feuille
de calcul ShapeSheet est affiche dans une fentre ShapeSheet et est accessible par
lintermdiaire de linterface de programmation Automation de Visio.
Feuille de page : feuille de calcul ShapeSheet
Visual Basic
Windows
.
Oprateur : symbole reprsentant ou excutant une opration mathmatique ou
logique.
Origine : point (0,0) dun systme de coordonnes cartsien. Dans Visio, lorigine est
toujours le coin infrieur gauche du systme de coordonnes dune forme, dun
groupe ou dune page. Les dimensions dune forme, comme sa largeur et sa hauteur,
ainsi que le centre de rotation, sont mesurs partir de son origine. Lemplacement
dune forme par rapport son parent (un groupe ou une page) est mesur partir de
lorigine du parent.
Origine de la grille : point qui dfinit la disposition des lignes de la grille sur la page de
dessin. Une ligne de grille verticale et une ligne de grille horizontale passent par
lorigine de la grille, toutes les autres lignes de grille tant dessines des intervalles
rguliers partir de ces lignes de rfrence. Par dfaut, lorigine de la grille se situe
dans le coin infrieur gauche de la page de dessin.
GL OSSAI RE 569
Page : zone imprimable de la fentre de dessin contenant un dessin. Une page peut
tre une page de premier plan ou darrire-plan. A chaque page sont attribus un
format (correspondant gnralement au format de papier standard) et une chelle
(que le programme Visio prconfigure pour les diffrents types de dessin).
Page de dessin non mise lchelle : page de dessin dont lchelle est de 1:1.
Page active : page de dessin en cours pouvant tre modifie dans un document Visio.
Page de dessin : zone imprimable dune fentre de dessin contenant un dessin. Une
page peut tre de premier plan ou darrire-plan. Chaque page possde des
dimensions qui correspondent gnralement une taille de papier standard et
comporte une chelle.
Paire nombre unit : expression compose dun nombre et dune dimension. Par
exemple, 1 cm est une paire nombre unit.
Paramtrique : caractristique dune forme dans un dessin Visio ayant la possibilit de
rgler sa gomtrie et dautres attributs en fonction des valeurs de certains
paramtres.
Parent : niveau immdiatement suprieur dans la hirarchie du systme de
coordonnes. Si une forme est un membre ou un groupe, son parent est le groupe. Si
une forme nest pas le membre dun groupe, son parent est la page de dessin.
Persistance : dure de vie dune variable, dune procdure ou dun objet. Par exemple,
un objet peut persister pendant lexcution de lapplication Visio. Un objet pouvant
stocker les objets Event dune session Visio lautre est un objet qui persiste aux
vnements.
Pile dannulation : rgion de la mmoire rserve o sont stockes les units
dannulation.
Plan largeur-hauteur : rectangle orthogonal dun espace de coordonnes local dont un
coin a pour coordonnes (0,0) et le coin oppos correspond (largeur,hauteur).
Poigne : contrle qui apparat lorsque vous slectionnez une forme. Vous pouvez
utiliser des poignes pour modifier une forme. Les poignes varient en fonction de la
forme que vous slectionnez et de loutil de slection que vous utilisez. Par exemple,
lorsque vous slectionnez une forme avec loutil Pointeur, lapplication fait apparatre
des poignes de slection que vous pouvez dplacer pour changer la taille et les
proportions de la forme. Lorsque vous slectionnez une forme avec loutil Rotation,
les poignes de rotation qui apparaissent vous permettent de faire pivoter la forme.
Poigne de contrle : poigne qui contrle le comportement dune forme. Par
exemple, vous pouvez crer une poigne de contrle pour que lutilisateur puisse
ajuster larrondi des angles, modifier la forme dune flche ou crer un lien
directement depuis une forme 2D.
570 GL OSSAI RE
Poigne de direction : poigne qui apparat sur un point de connexion slectionn
pour indiquer sa direction. La poigne de direction dtermine si la forme pivote
lorsquelle est colle une autre forme.
Poign de rotation : poigne circulaire qui apparat au coin du rectangle de slection
dune forme lorsque vous slectionnez la forme avec loutil de rotation. Le
dplacement dune poigne de rotation modifie langle de rotation de la forme.
Poigne de slection : poigne carre qui apparat sur une forme slectionne laide
de loutil Pointeur. Les poignes de slection indiquent que vous pouvez dplacer ou
redimensionner la forme.
Poigne dexcentricit : cercle qui apparat chaque extrmit dune ligne en pointill
lorsque le point de contrle dun arc dellipse est slectionn avec loutil Crayon. Le
dplacement dune poigne dexcentricit change langle et lamplitude de
lexcentricit dun arc.
Point de connexion : point situ sur une forme, auquel un autre point de connexion
peut tre coll. Vous pouvez crer des points de connexion lintrieur ou
lextrieur de la forme, ou sur son primtre, laide de loutil Point de connexion.
Chaque point de connexion de la forme est signal par une coche () bleue lorsque
loption Points de connexion est coche dans le menu Affichage.
Point de contrle : 1. Poigne circulaire qui apparat sur une ligne, un arc ou une spline
(ou un segment de ligne, darc ou de spline) lorsque la forme est slectionne avec
loutil Crayon. Vous pouvez dplacer un point de contrle pour modifier la courbure
dun arc ou dune ellipse. 2. Point ayant une influence sur la courbure dun segment
de spline.
Point de dpart : poigne de slection au dbut dune forme 1D. Le point de dpart
porte la marque . Egalement appel point de dbut.
Point de repre : lignes de rfrence que vous pouvez faire glisser sur la page de dessin
afin de positionner les formes avec prcision. Le point de repre partir de langle
suprieur gauche de la fentre de dessin, lintersection des rgles verticale et
horizontale.
Point zro : 1. Emplacement du 0 sur la rgle horizontale ou verticale. 2. dintersection
dans la fentre de dessin des points zro de chaque rgle. Par dfaut, le point zro est
le coin infrieur gauche de la page de dessin.
Point dancrage : point fixe qui ancre une ligne lastique dont lautre extrmit est
relie une poigne de contrle. Les points dancrage sont visibles seulement lorsque
les effets dynamiques sont dsactivs dans un document. Dans ce cas, la ligne
lastique stire et se rtrcit pour donner un effet de retour lorsque lutilisateur
dplace la poigne de contrle, sans que cela intervienne sur le comportement de la
poigne.
Polygone de contrle : srie de segments dune ligne droite qui relient tous les points
de contrle dune seule spline.
GL OSSAI RE 571
Polyligne : srie contigu de segments de ligne reprsents dans un dessin Visio par
une ligne Polyligne dans une section Gometrie de la forme. Les lignes reprsentes
sous la forme dune ligne Polyligne quivalent aux lignes reprsentes sous la forme
dune squence de lignes TraitVers, mais une ligne Polyligne est plus efficace. Dans les
dessins Visio, les dessins imports contiennent souvent des polylignes.
Porte : tendue de persistance dune variable, dune procdure ou dun objet dans un
programme dexcution. La porte dun lment dpend gnralement de
lemplacement partir duquel il est dclar. Par exemple, la porte dune variable
dclare dans une procdure est la procdure mme. En dautres termes, que lorsque
la procdure termine son excution, la variable sort.
Premier plan : page suprieure dun dessin. Les formes insres dans la page de premier
plan apparaissent devant celles de la page darrire-plan. Elles ne sont pas visibles
lorsque vous modifiez la page darrire-plan du dessin.
Procdure : squence nomme dinstructions excutes en tant quunit. Function,
Property et Sub sont des types de procdure.
Procdure dvnement : dans un programme Microsoft Visual Basic ou Visual Basic
pour Applications (VBA), code excut lorsquun vnement se produit. Par exemple,
un bouton situ dans un formulaire Visual Basic dispose gnralement dune
procdure dvnement pour grer lvnement Click.
Programme complmentaire : programme qui, par lintermdiaire de rfrences
Automation, tend lapplication Visio aux objets, aux mthodes et aux proprits
Visio.
Projet : dans Microsoft Visual Basic pour Applications (VBA), code que vous rdigez
et qui est enregistr avec un fichier Visio. Vous pouvez crer seulement un projet pour
un document Visio, mais ce projet peut comporter nimporte quel nombre de
modules, de modules de classe et de formulaires utilisateur.
Proprit : attribut nomm dun objet. Les proprits dfinissent les caractristiques
de lobjet comme la taille, la couleur et lemplacement lcran, ou ltat dun objet
(activ ou dsactiv).
Proprit personnalise : donnes dfinies par lutilisateur et associes une forme. Par
exemple, les proprits personnalises dune forme reprsentant la partie dun moteur
identifient son numro de pice, son prix et le nombre de ses composants en stock.
Rapport de huit : rgle de manipulation des occurrences de forme dont lchelle est
diffrente de celle de la page de dessin. Si le facteur qui diffrencie lchelle de dessin
de la forme de base et lchelle de la page de dessin est infrieur ou gal huit, la forme
est mise lchelle en fonction des paramtres de la page de dessin. Si ce facteur est
suprieur huit, la forme nest pas mise lchelle.
572 GL OSSAI RE
Rcepteur dvnements : dans un programme Microsoft Visual Basic pour
Applications (VBA), classe qui reoit les vnements dclenchs par un type dobjet
de Visio. Dans un programme autonome Visual Basic, C ou C++, objet qui reoit la
notification envoye par un objet Event Visio et qui permet une communication
bidirectionnelle entre une solution autonome et une copie de Visio.
Rcepteur de notification : dans un programme Microsoft Visual Basic pour
Applications (VBA), classe qui reoit les vnements activs par un type spcifique
dobjet de lapplication Visio. Dans un programme autonome Visual Basic, C ou
C++, objet destinataire de la notification envoye par un objet Event Visio et qui
tablit une communication bidirectionnelle entre une solution autonome et une
copie de Visio.
Rectangle de slection : ligne en pointill formant un rectangle autour des formes ou
des objets slectionns issus dautres applications.
Redimensionner : modifier les dimensions dune forme.
Rfrence de cellule : rfrence utilise dans les formules dune feuille de calcul
ShapeSheet
pour calculer la valeur dune cellule daprs la valeur dune autre cellule.
Remplissage : couleur et/ou motif situs lintrieur dune forme ferme. Le
remplissage par dfaut pour les formes Visio est blanc uni.
Repre : lignes de rfrence que vous pouvez faire glisser sur la page de dessin afin de
positionner les formes avec prcision. Vous pouvez faire glisser le repre horizontal
partir de la rgle horizontale, le repre vertical partir de la rgle verticale.
Segment : ligne droite, arc ou partie dune spline.
Slection : formes slectionnes dans un dessin et modifiables. Les formes
slectionnes sont dotes de poignes de slection. La slection fait galement
rfrence au texte slectionn dans un bloc. Lorsque vous pouvez modifier un texte
slectionn, il est mis en surbrillance.
Slection primaire : premire forme slectionne dans une slection multiple, indique
sur la page de dessin par des poignes de slection vertes. Lorsquune slection
multiple est combine, le formatage de la slection primaire est appliqu la nouvelle
forme. Dans un objet Selection, la slection primaire est le premier lment dans la
collection Shapes de lobjet.
Sous-slection : slection de chacune des formes dun groupe.
Spline : courbe trace main leve, base sur une quation polynomiale.
Spline non priodique : spline avec points de fin dfinis. Si le point de dpart et le point
de fin dune spline concident, la spline est ferme.
Spline priodique : spline ferme sans points de fin dfinis.
Style : ensemble nomm dattributs enregistr avec un modle ou un fichier de dessin.
Voir aussi Attribut, Format.
GL OSSAI RE 573
Technologie SmartShapes : la technologie SmartShapes
permet de personnaliser le
comportement dune forme avec des formules de la feuille de calcul ShapeSheet
.
Unit de dessin : dimensions qui refltent la taille relle des objets reprsents par les
formes dans un dessin Visio. Par exemple, dans un dessin architectural qui utilise
lchelle 1 cm = 1 m, lunit de dessin est le mtre.
Unit de page : dimensions qui refltent la taille des formes telles quelles sont
dessines sur une page de dessin Visio. Par exemple, dans un dessin architectural qui
utilise lchelle 1 cm = 1 mtre, lunit de page est le centimtre.
Unit dangle : unit dans laquelle les angles sont exprims dans les cellules
ShapeSheet
.
Unit dannulation : occurrence dune classe qui regroupe les informations ncessaires
linversion dune action excute par un utilisateur dans linterface utilisateur ou par
un client Automation.
Units explicites : unit de mesure indique sous la forme dune paire nombre unit et
concernant laffichage du rsultat. Dans une feuille de calcul ShapeSheet
, par
exemple, la valeur 3 mm apparat toujours sous la forme 3 mm .
Unit implicite : unit de mesure indique sous la forme dune paire nombre unit et
concernant laffichage du rsultat dans un systme de mesure dtermin. Ce systme
peut ne pas concider avec lunit saisie lorigine. Par exemple, lexpression
1 [po.,d] spcifie que la valeur est au dpart interprte comme un pouce, mais
le d indique que le rsultat est affich laide de lunit de dessin par dfaut de la page
courante. Si lunit de dessin est le centimtre, la feuille de calcul ShapeSheet
affiche
2,54 .
Unit interne : unit de mesure que lapplication Visio utilise en interne pour stocker
les valeurs de dimension. Les units internes de lapplication Visio sont les pouces
pour les mesures linaires et les radians pour les mesures angulaires.
Unit par dfaut : unit de mesure utilise pour afficher une valeur dans une cellule
ShapeSheet
si aucune unit nest explicitement spcifie. Les units par dfaut dun
dessin et de la page sont les proprits dune page de dessin. Les units par dfaut de
texte et dangle sont les paramtres de lapplication.
Valeur boolenne : type de donnes ayant deux valeurs possibles : TRUE (vrai) ou
FALSE (faux). Lorsque les types numriques sont convertis en valeurs boolennes, 0
devient FALSE et toutes les autres valeurs deviennent TRUE.
Verrouillage : paramtre qui limite les moyens dont disposent les utilisateurs pour
modifier une forme. Par exemple, un verrouillage sur une poigne de slection
empche lutilisateur de redimensionner une forme laide dune poigne de ce type.
Zoom: degr de grossissement dun dessin dans la fentre de dessin. Un dessin affich
en 100 % a la mme taille que lorsquil est imprim, sauf si vous rduisez ou
agrandissez la sortie imprime dans la bote de dialogue Mise en page.
Index
Symboles
!ShapeCount, variable 400
(= ) Signe gal en prfixe des formules
ShapeSheet 83
Nombres
128 bits, valeur 328
A
Acclrateur, suppression 455
AccelItem, objet 437
AccelItems, collection 285
AccelTable, objet 437, 444
AccelTables, collection 285
Accepter les formes insres, option 116
Action
annulable 473
cellule 139
commande 138, 139
Actions. Voir noms des actions
spcifiques
Actions au dplacement des raccourcis
de la forme de base 269
Actions au dplacement, champ 269
Actions, section 66, 68, 138, 145
ActionText, proprit 451
Activate, mthode 291
ActiveDocument, proprit 319
ActivePage, proprit 324
Activer les effets dynamiques 136
ActiveWindow, proprit 313
ActiveX, contrles 461
ajout 462
attribution dun nom 467
avec les formes 472
dfinition des tabulations 465
distribution 469
excution 467
gestion des vnements 466
mode cration 464
proprits dambiance 465
protection 466
rcupration 468
Activit non modale 529
Add, mthode 325
AddAdvise, mthode 422, 425, 427, 430,
523
AddAt, mthode 439
AddNamedRow, mthode 393
Addon, objet 500
AddOnArgs, proprit 505
AddOnName, proprit 451
AddonPaths, proprit 487, 500
Addons, collection 500
AddRef, mthode 512, 516
AddRow, mthode 349
AddSection, mthode 349, 351
Addsink.h 523
AddUndoUnit, mthode 481
Affichage des formules, commande 71
Afficher la feuille ShapeSheet,
commande 65, 66
Afficher le gabarit de document,
commande 54, 66
Afficher les accoudoirs, commande 145
Afficher les membres cachs,
commande 465
Aide
en ligne 4
fichiers 261, 487
HTML Help (fichiers .chm) 266
identificateurs de contexte 266
Ajout aux dessins
contrles 464
contrles ActiveX 461, 462
cration 338
pages 325
Ajout doptions de menu, exemple 480
Ajout dun menu et dune option de
menu (exemple) 447
Ajout dune option de menu au menu
Dmo (exemple) 447
Ajout dune section Gomtrie, exemple
352
Ajouter au groupe, commande 116
Ajouter la forme aux groupes
linsertion, option 116
Ajouter une poigne de contrle la
forme, option 184
Ajouter une procdure, bote de
dialogue 300
Alignement
cellule 386
section 68
Analyse 506
ANG360( ), fonction 199
Angle
champ 100
normalis 199
protection de la cellule Angle 102
rotation 78, 193
variables 192
AngleTexte, cellule 181, 198
ANGLEVERSPAR, formules 170
Appartenance au calque, section 68, 232
APPELER_CE, fonction 154
Application, objet
cration 496
dans le modle dobjet Visio 279
dans un exemple Visual Basic 416
dans un modle dobjet de Visio 282
exemple dans Visual Basic 497
interfaces 432, 441
libration 497
personnalisation 434
proprits 284
rcupration 319, 497, 516
rfrences 306
Application, proprit 308
Arc, outil 40, 104
576 I NDEX
ArcElliptiqueVers, ligne 104, 107
Arcs
Voir aussi Splines
contrle des courbes 103
conversion 108
elliptiques 103, 104, 106, 107, 108
Arcs elliptiques 108
ArcVers, ligne 106
Arguments
Voir aussi noms des mthodes ou des
proprits spcifiques
chane 519
dfinition de valeurs 289
excution de programmes 505
fonctions 73
ID uniques 395
pointeur dobjet 518
transmission 518
VARIANT 519
Arrire-plan, pages 58, 367
Voir aussi Pages
ATTEINDREPAGE, fonction 140, 154
Attraction
vers la gomtrie des formes 176
Attribution de noms
Voir aussi noms des objets spcifiques
formes de base 262, 263
AucunAff, cellules 129, 145
Automation
Voir aussi noms des langages de
programmation spcifiques
concepts COM 509
connexions 375
dans les dessins 357
description 279
dveloppeurs 25
extraction 396
programmation pour lapplication
Visio 293
rfrences de bibliothque 305
serveur 20, 30
Automation dans les solutions
attribution de noms 493
diffusion 485
intgration 29, 30
langages de programmation 20
mise en oeuvre de la conception 29
utilisation 20
Automation et les objets
formes 29, 391
modles 29
utilisation 20
Automatisation des ventes sur le terrain,
exemple 13
Autonomes, gabarits
Voir aussi Gabarits
Autonomes, programmes
Voir aussi Programmes
Axe
blocs de texte 180
consquence du retournement 99
consquences de la rotation 100
coordonnes 92
cube en 3D 122
dplacement 228
dplacement autour 93, 101
dplacement par rapport laxe 121
formules 64
personnalisation 226
poigne de contrle du texte 184
AxeLocX et AxeLocY, cellules 92, 101
Voir aussi AxeX et AxeY, cellules
AxeLocXTexte et AxeLocYTexte,
cellules 181
AxeX et AxeY, cellules 70, 71, 92, 93, 94,
101
Voir aussi AxeLocX et AxeLocY,
cellules
AxeXTexte et AxeYTexte, cellules 181,
193, 198
B
B-splines 111
BackColor, proprit 465
BackPage, proprit 367
Barre de formule 64, 73
Barres doutils 454
ajout 449
suppression 454
Bas sur, option 208
Bases sur la hauteur
formes 89, 96
formules 94, 95
BaseID, proprit 395
Bases de donnes
accs 152
Assistant 30, 152
dans les solutions Visio 29
intgration de solutions 407
liaison personnalise 151
BeforeDocumentClose, vnement 407,
416
BeforeQuit, vnement 430
BeforeShapeDelete, vnement 24
BeginUndoScope, mthode 477
Bzier, courbes 330
Voir aussi Courbes, Splines
Bibliothques 31, 303, 305, 306, 525
de symboles CAO 46
de types 303, 305, 507
de types Visio 303, 305, 306
dossier 5
dynamiques 524
Visio (.vsl) 31, 284, 303, 524, 525,
526, 529
Bidimensionnelles, formes. Voir Formes
2D
Bitmaps 45
Bloc de texte droit, largeur 195
Bloc de texte, outil 183
Blocs de texte
affichage des rsultats relatifs au
format 198
conception 179
coordonnes 180
dans les formes 179, 180, 181
dcalage 198
droits 195
positionnement 183
quantit de texte 188
redimensionnement 186, 187
restriction 187
rotation 192, 194
test 204
Bote 2D 159
Botes de dialogue. Voir noms des botes
de dialogue spcifiques
Bonjour tous !, exemple de
programme 338
Bonjour.vsd 309, 319, 339
Boolennes, valeurs 150, 366
Boucles 286, 287, 355, 400
Boulon, exemple de forme 15
Boutons de barre doutils
ajout 449
pour lancer les programmes 491
Boutons de barre doutils personnalise
449
B-splines
Voir aussi Splines
I NDEX 577
BSTR, mthodes 518, 519
BuiltInMenus, proprit 434
BuiltInToolbars, proprit 434
Bulle avec poigne de contrle, exemple
138
Bulle, forme 134
Bureau Windows, lancement de Visio 30
Bus, forme 161
C
C/C++, programmes
Voir aussi Programmes
contrles 469
copyright 494
fichiers dans le dossier DVS 512
gestion des vnements 521
programmation 279, 509
Cadenas pour les formes 102
Calcul dun total, exemple 22
Calcules sur la base de la hauteur
formes 97
formules 97
Calculs
pour la courbure des arcs 109
pour le rayon des arcs 109
Calque, bote de dialogue 233
Calque, indice 371
Voir aussi Indices dobjets, proprits
Calques
Voir aussi Pages
attribution 230
attribution de formes 230, 231
attribution de formes de base 231,
233
avec formes 229, 230, 231
description 59, 230, 371
formes 59
identification 371, 372
modification des paramtres 374
optimisation 231
section 68
suppression 231
utilisation 371
Canalisation, formes 167
Caption, proprit 451
Caractres, section 68, 182, 191
C-CPP, dossier 512
CD-ROM, matriaux de rfrence 4
Cell, objet
automatisation des dessins 341
collage 380
dans le modle dobjet Visio 342
formules 345
proprit Error 314
Cells, proprit
formatage 322
formules 342
rcupration 343
CellsC, proprit 374
CellsSRC, proprit 342, 355, 374
Cellule MseAJourRectSl 242
Cellules
Voir aussi noms des cellules
spcifiques
collage 386
dans la section Evnements 153
formules 72, 84, 342, 346
invisibles 129
Montage 83
units de mesure 79
verrouillage 94
Cellules dfinies par lutilisateur, section
ajout de cellules 82
conventions de nom 75
section Montage 81
Cellules personnalises, section
description 68
Centre de rotation. Voir Axe
Chane 200, 518
de caractres 393, 396
de commande 503, 506
de texte 150
proprit 150
renvoye 396
Chaise, forme 132, 143
Champ
bote de dialogue 202
codes 333
Champs de texte, section 68, 198, 199
Characters, proprit 332
Chemins
description 88
fichiers Visio 277
formes cres par fusion 128
installation des fichiers 487
liens repositionnables 163
outil Crayon 39
recherche de fichiers 487
Chemins daccs 487
bote de dialogue 277
onglet 488
CHM 487
Voir aussi Fichiers daide
Chr$, fonction 332
CibleADposer, cellule 116
ClearCustomMenus, mthode 460
Clipart, importation 44
CLS 302
CmdNum, proprit 452
CntrlType, proprit 449
Coch, cellule 140, 141
CoCreateAddonSink 523
Code
Voir aussi Programmes
copyright 53, 494
criture 401
examen 399, 405
extraction de donnes 391, 396
interface utilisateur 432
lisibilit 2
mise en oeuvre 411
portable 260
protection 316
rdaction 495
source 53
transfert 507
CodeDvTraitLien, cellule 245
CodeFixeForme, cellule 178
CodeTracForme, cellule 245
Coins, commande 104
Collage 157, 169
Voir aussi Liens, Collage des formes
comportement 170
connexions 172, 380
dessins avec connexions 384
dynamique 170, 388
formes 169, 381, 384, 386, 388
paires de cellules 386
poignes de slection 386
points de repre 387
rgles 385
repres 239
spcifications 171
statique 170
CollagePossible, cellule 133, 135
Colle
Voir aussi Liens, Collage de formes
Collections
Voir aussi noms des collections
spcifiques
578 I NDEX
itration 286, 355
rfrence aux objets 285
suppression dobjets 287
vrification des objets 314
Coller le raccourci, commande 269
Coller sur Gomtrie des formes 176
Colors, collection 285
COM (Component Object Model) 280,
316
Combinaison de formes
Voir aussi Formes regroupes,
Formes multiples, Formes
Combinaison, commande 42, 127, 144
Voir aussi Formes multiples
Combine, mthode 366
Combines, formes 113, 126
Commande Menu pour lancer les
programmes 491
Commande, bouton de contrle 301
Commandes coches 141
Component Object Model (COM) 279,
316, 509
Comportement
bote de dialogue 116
cellules 135, 137
ComportementX et ComportementY,
cellules 135, 138, 184
Composant de rfrence dobjet
Voir aussi Rfrences
Composes, rfrences dobjet 288
Concatnation 288
Conception de forme
laide dAutomation 29
composants 10
conformit aux spcifications 17
planification 27
Conception de solution
cration 15
dans les dessins 11
mise en oeuvre 29
objets Visio 21
utilisabilit 25
Configuration de pages, exemple 369
Connect, objet
utilisation 377
Connecteurs, cration 157
ConnectionsAdded, vnement 407
ConnectionsDeleted, vnement 407
Connects
collection 377
proprit 377
Connexion de formes 117, 377
exemple dans un diagramme de flux
389
Connexion de formes 1D
automation 380
liens 157
Connexion de formes 2D, automation
380
Connexion, donnes. Voir Donnes
Connexions
analyse 378, 379, 381
collage 172
consquences sur le regroupement
117
dans les solutions Visio 375
formes 1D et 2D 380
itration 381, 382
rcupration de cellules 380
utilisation 377
Conserver le formatage local, option 216
Constantes
Voir aussi noms des proprits ou des
constantes spcifiques
dans la bibliothque 507
globales 303
libell de ligne 557
pour les connexions 380
ContainingMaster, proprit 366
ContainingPage, proprit 366
ContainingShape, proprit 366
Conteneurs 76
Contrle de recalcul 84
Contrles
ajout 301, 462
attribution dun nom 467
collection OLEObjects 468
contrles de section 67
dfinition de lordre de tabulation
465
dnomination 302
distribution 469
excution 467
gestion des vnements 466
interaction avec les formes 472
mode cration 464
ordre dempilement 465
personnalisation 461
proprits dambiance 465
protection 466
Contrles, barre doutils 301
Contrles, bote de dialogue 464
Contrles, section 68
Voir aussi Poignes de contrle
Contrleur
application 20
Automation ActiveX 31
Conversion
formes 46
formes 1D en 2D 159
Convertir en groupe, commande 46
Convertir les bibliothques CAO, bote
de dialogue 46
Coordonnes
consquence du retournement 99
dans les blocs de texte 180
de page 362
formes 89
formules bases sur la hauteur 95
locales 89, 90, 92, 118
modification 71
parent 90, 92, 118
poignes de contrle 135
point zro 90
pour les sommets 89
sur la page 89, 118
types 89
Copie de Visio
cration 496
dans un objet Application 501
descripteur de fentre 500
excution dautres programmes 496
gestion des erreurs 499, 502
rcupration 497
utilisation de raccourcis 499
Copie des lments dune forme 41
Copy, mthode 291, 331, 366
Copyright 50, 53, 494
Cordes 105
CorelDRAW! (.cdr) 45
Couleurs
copie 218
dfinition de RVB 217
dfinition de TSL 217
gestion 217
indices 217
personnalisation 217
Count, proprit 285, 286
Coupure, commande 43
Courbes 103
I NDEX 579
Voir aussi Arcs, Splines
Courbures des arcs 104, 105, 109
Crayon, outil 40, 47, 71
CreateDrawing, procdure 361
CreateObject, fonction 496, 499
Voir aussi GetObject, fonction
Cration dun exemple dunit
dannulation 482
Cration dun processus de
dveloppement 25
Cration de dessins partir de donnes,
exemple 429
Cration de formes
formes fermes 41
par fusion 42
rptition dlments 41
CrationEvn, cellule 153
Cubes en 3D 121, 122, 123
Custom.vsu 457
CustomMenus, proprit 434
CustomMenusFile, proprit 459
CustomToolbars, proprit 434
Cut, mthode 331, 366
CVisioAddOnSink, classe daide 523
CVisioApplication, classe wrapper 512
CVisioCell, argument 518
CVisioDocument
classe wrapper 515
objet 516
CVisioMaster 519
CVisioPage 519
D
DAO (Data Access Objects - objets
daccs aux donnes) 30, 407
Data Access Objects (DAO) 407
Data1, Data2 et Data3, proprits 333
Date/heure, proprit 150
DbAction, cellule 170
Dcaler, commande 43
Dclenchement des vnements 156
DEFF, fonction 139, 143, 145, 154
Dfinir le style, commande 208, 210, 213
Dfinir les proprits personnalises,
bote de dialogue 147
Dfinir les styles, bote de dialogue 208,
209, 214, 321
Degrs dangle 199
Delete, mthode 331, 366, 373
DeleteSection, mthode 353
DeleteShapesFlag, argument 373
Dlimitation dune forme, zone 177
Dmarrage, programmes. Voir
Programmes
Dnomination
styles 214
DensitGrilleX et DensitGrilleY,
cellules 233
DpartFlche, cellule 220
DpartX et DpartY, cellules 117
DEPENDDE, fonction 152, 154
Dsactiv, cellule 140, 142
Description
proprit 320, 480
zone 311
DeselectAll, mthode 365
Dessin main leve, outil 40
Voir aussi Splines
Dessin, pages
Voir aussi Pages
Dessins
partir de formes de base 358
association de fichiers daide 485
avec Automation 357
avec connexions 381
enregistrement 62, 323
extraction de donnes 396
impression 322
mis lchelle 57
ouverture 61
partage de donnes 391
rpondant aux spcifications 17
taille des fichiers 492
Developing Visio Solutions sur CD-
ROM 4
Dveloppeur
barre doutil 65
ressources 5
Devise, proprit 151
Diagramme de base, modle 501
Diagramme de flux, gabarit 210
Diagrammes avec connexions 377
analyse 381
Automation 375
cration 384, 385
lignes de repre 381
obtention dinformations 378
Diffusion de formes
peaufinage 259, 260
performances 261
Dim, instruction 400
DirDvTraitLienX et DirDvTraitLienY,
cellules 245
Dissociation 50, 115
Dissocier, commande 50, 115
Divers, section 68
DLL (Dynamic link libraries) 31, 509,
524
Voir aussi Bibliothques
DllMain 526
Do, procdure 480
Document, gabarits 18
Document, objet
comparaison 309
contrle de la porte 442
dans le modle dobjet Visio 317
dans un modle dobjet de Visio 282
dans une collection Masters 359
description 282, 318
formules 341, 342
personnalisation 432, 434
proprits 284
rcupration 319
ThisDocument 309
Document, proprit 284, 319, 321
Documentation de gabarit, Assistant 5
DocumentOpened
vnement 407
gestionnaire dvnements 414
Documents
actifs 318, 319
collection 282, 284, 286, 309, 319, 359
contenant plusieurs pages 59
cration 501
lments 56
enregistrement 62, 297, 323
format dun fichier Visio 60
impression 322
modification 65
ouverture 57, 61
partage de donnes 391
proprit 284
rcupration dinformations 320
Domaine dannulation
association dvnements 478
cration avec des programmes
complmentaires 477
description 473
vrification 478
Donnes
et formes 391
exportation 400
580 I NDEX
intgration avec des programmes
391
liaison personnalise 151
proprits personnalises 147
rcupration 396
vrification de la collection 400
Dossiers Visio dinstallation des
solutions 487
Doubles, variables
Voir aussi Variables
DrawBezier, mthode 331
Drawing Explorer 207, 209
DrawingPaths, proprit 487
DrawLine, mthode 330
DrawNURBS, mthode 331
DrawOval, mthode 330
DrawPolyline, mthode 331
DrawRectangle, mthode 330
DrawSpline, mthode 331
Droits dauteur sur les formes 50
Drop, mthode 331, 335, 360
DropMany, mthode 360
DropManyU, mthode 493
Duplicate, mthode 331, 366
Duration, proprit 150
DWG, fichiers 47, 111
Dynamiques, liens 177
DynamiqueX et DynamiqueY, cellules
135, 136, 184
E
Echelle de dessin
section 253
Echelle personnalise, option 253
Echelles de dessin
configuration 253
description 249
facteurs 252
pour les formes de base 253
rgle du rapport huit 254
test 263
utilisabilit 251, 252
Ecriture seulement, proprits. Voir
Proprits
Editeur de proprits personnalises 151
Editeur Visual Basic
configuration des options 295
dmarrage 295
enregistrement de projets 297
excution de macros 311
excution du code 311
Gestionnaire de complments 316
navigation dans le projet 296
utilisation 294
Ellipse, outil 40
Elliptiques, arcs 108
Voir aussi Arcs
EMETTRESON, fonction 154
En ligne, aide 4
Enabled, proprit 436, 453
Encapsulated PostScript (.eps) 45
EndUndoScope, mthode 477
Enlever du groupe, commande 116
Enregistrement de dessins 297
Enregistrement de donnes
dans dautres programmes 398
sur le disque 398
EnterScope, vnement 477, 478
EpaisseurTrait, cellule 206, 208
Equations. Voir Formules
Error, fonction 314
Espace de travail 57
enregistrement 62
enregistrer sous 62
liste 60, 271, 277
ouverture 61
EspacementGrilleX et
EspacementGrilleY, cellules 233
Etiquettes de ligne, constantes 350
EVALTEXT, fonction 189
EvnDblClic, cellule 153
Evnements
Voir aussi noms des vnements
spcifiques
associs des actions 420
code de module de classe 417
de dclenchement 85
dclenchant une action 420
dclenchement 412, 414
dfinition dune classe 417
excution 491
gestion 409
indexation par objet 532
initialisation 418
mise en oeuvre du code 411
persistance 424
procdures 413, 466
protocole 520
rception 293
section 68, 153, 154
utilisation avec un domaine
dannulation 478
vrification 478
Event, objet
cration 427
dfinition 420
excution 422
excution dun programme
complmentaire 423
notification 425, 430
persistance 424
porte 420
proprits 409, 410, 422
EventInfo, proprit 422
EventList, collection 420, 422, 523
EventList.Add 520
EventList.AddAdvise 520
EventsEnabled, proprit 472
EvnXFMod, cellule 153, 170
Excel 284
Excentricit
arcs 37, 106, 108
poignes 37
EXD, fichiers 464
EXE, fichiers 31, 423, 487
Excuter sous le mode dveloppeur,
option 65, 66, 174
Excuter Sub/UserForm 311
Excution
fentre 400
mode 462
Excution de programmes
au dmarrage 488
avec des arguments 505
calcul de formules 504
depuis le dossier Startup 506
depuis le menu Macros 503
en contexte 313
options 488
Exemple de premire procdure Sub
dans le module 297
Exemples
Voir aussi noms des exemples
spcifiques
ajout doptions de menu 480
ajout dun menu et dune option de
menu 447, 480
ajout dune menu et dune option de
menu 447
I NDEX 581
ajout dune option de menu au menu
Dmo 447
ajout dune section Gomtrie 352
automatisation des ventes sur le
terrain 13
bulle avec poigne de contrle 138
configuration de pages 369
connexion de formes dans un
diagramme de flux 389
cration dun dessin partir de
donnes 401
cration dun groupe de cubes en 3D
122
cration dune unit dannulation
482
cration de dessins partir de
donnes 429
extraction de donnes depuis le
dessin 396
forme de piscine 251
formes dquipement rseau 17
formes de flche 19
formes de racks 17
groupe Ilot cuisine 119
itration dans des connexions 381,
382
itration dans la collection Pages 368
modification de la gomtrie des
formes 143
module de classe rpondant des
vnements 419
objet Application en Visual Basic
416, 497
personnalisation des formules dune
flche 97
plans damnagement 231, 328
positionnement des formes dans un
dessin 361
premire procdure Sub dans le
module 297
programme Bonjour tous ! 338
proprits personnalises pour une
liste de contrle de stock 147
rcupration dobjets Layer 372
redimensionnement dune flche 95
rorganisation dun bureau 10
rorganisation dun service 10
surveillance de la consommation
lectrique 22
surveillance des vnements et calcul
dun total 22
systme de scurit 14, 30
ExitScope, vnement 478
Explicite, type de donnes. Voir Types de
donnes
Explorateur dobjets 303, 304
Explorateur de dessin 65
Explorateur de projet 302, 309
fentre 296
Explorateur Windows, lancement de
Windows 30
Exportation de fichier, commande 302
Exporter un fichier, bote de dialogue
315
Extraction de donnes 11, 29, 30, 396
depuis un exemple de dessin 396
Extrmits de trait 220, 221
personnalises 227
F
Fentre de dessin de la forme de base 55
Fentre de modification dicnes 271
Fichiers
Voir aussi Documents
dplacement des modles 278
en lecture seule 57, 62
en lecture-criture 62
enregistrement 62
excutables 31, 423, 487
format dun fichier Visio 60
lecture-criture 62
ouverture 61
recherche des chemins 487
Fichiers de dessin
extraction des donnes dun modle
11
gabarit de document 52
styles par dfaut 207
utilisation des objets 318
validation des rgles dun modle 11
Fichiers de symboles, plusieurs 46
FillStyle, proprit 334
FillStyleKeepFmt, proprit 334
FilterPaths, proprit 487
FinAction, cellule 170
Fixes, grilles 233, 236
Voir aussi Grilles
Flche, formes 161
Fonctions
Voir aussi noms des fonctions
spcifiques
dans les formules 73
excution des actions 154
nouvelles 3
For, boucles
Voir aussi Count, proprit
For...Next, instruction 400
ForeignType, proprit 468
Format
cellule 202
menu 104, 126
Format de bloc de texte, section 68, 182,
203
Format de caractre, section 181
Format de remplissage, section 68, 71
Format de trait, section 68, 71
FORMAT, fonction 79, 201
Formatage
Voir aussi Styles
application 207
chanes 200
conservation 216
formes regroupes 126
occurrence des formes de base 212
protection 334
rsultats 198
rsultats cohrents 213
texte 181
FORMATEX, fonction 199, 200
Forme de base, menu 55
Forme de bulle 134
Forme non imprimable, option 465
Formes
Voir aussi noms des actions ou des
formes spcifiques, Gomtrie,
Formes de base, Formes
multiples, SmartShapes
accrochage la grille 234
affichage 70
ajout 133, 149, 174, 332, 365
ajout de poignes de contrle 132
ajout de points de connexion 174
ajout de proprits personnalises
149
alignement 237
amliorations 131
anatomie 18, 34
angles arrondis 102, 104
attributs 18
582 I NDEX
collage 169, 381, 386, 388
comportement 16, 246
composants 16
conception 260, 261
connexion 117, 172, 377, 405
copie 331
copyright 261
couleur 217, 219
couper 331
cration 15, 33, 39, 330
cubes en 3D 123
dfinition de la porte 366
dplacement 70, 88, 93, 348
dtermination des connexions 378,
379
dveloppement 18, 25
dissociation 50, 115
duplication 331
fermes 35, 41
formules 71
fusion 113, 114, 128, 144
groupes 41, 115, 116, 239
importation 44
insertion dans une page 358
interaction 472
largeur 199
liaison de donnes 391
liens dynamiques 177
limitation du texte 188
masquage 129
mise lchelle 264
mise en page automatique 243
modlisation 8
modifications 47, 331
non mise lchelle 254
optimisation 110
options de mise en page 244
ouvertes 35
performances 261
personnalisation 260
planification 260
poignes de contrle 132, 134
positionnables 161
positionnement 92, 361
positionnement sur une grille par
magntisme 233
proprits 19
protection 126
redimensionnement 88, 120, 121,
190, 191
reformatage 210
regroupes 38, 41, 116, 330
retournement 98, 101
rotation 98, 101
slection 363
styles 209, 334
suppression 331, 365
systme de coordonnes 89
test 204, 261
units de mesure 78
utilisation de boucles 400
verrouillage 94, 102
Formes 1D
Voir aussi Liens, Formes
collage 385
comparaison avec les formes 2D 158
comportement 36
conversion 159
description 157
galerie 161
points de fin 37
repositionnables 161, 162
utilisabilit 158
Formes 2D
Voir aussi Liens, Formes
accrochage la grille 234
collage 385
comparaison avec les formes 1D 158
comportement 36
conversion 159
description 157
positionnables 161, 162
utilisabilit 158
Formes dquipement rseau, exemples
17
Formes dun dessin, formes de base 54
Formes de base
Voir aussi Groupes, Formes
attribution des calques 230, 232
attribution dun nom 263, 270
attribution de calques 231
attribution de noms 262
automation des dessins 358
automatisation des dessins 17
BaseID 395
cohrence 262, 263
conception 27
copyright 53
cration 51, 52, 54, 331
cration pour les grilles 234
de document 16
fichiers daide 266
icnes 263
ID uniques 395
insertion dans une page 360
modification 55, 66, 185, 270
motifs 220
nettoyage 270
organisation sur des calques 59
paramtrage des units 235
peaufinage 259
poignes de contrle 132
proprits personnalises 148, 151
provenant dautres programmes 54
raccourcis 269
rcupration 359
reformatage 211
rgle de rapport huit 255
rutilisation 52
test 262, 263
texte 180
utilisation des calques 371
utilisation des chelles 249, 253, 254,
256, 257, 263, 265, 266
vrification des lments 263
Formes de cercle 104, 105, 107
Formes de composant
axe parent 121
cubes en 3D 125
protection 126
Formes de flche, exemple 19
Formes de membre 121, 125, 126
Formes de racks, exemples 17
Formes fusionnes
Voir aussi Combinaison de formes,
Regroupement de formes, Formes
multiples
Formes individuelles
redimensionnement 121
Formes lies
Voir aussi Collage de formes
Formes multiples
Voir aussi Combinaison de formes,
Chemins
Formes, proprits 19
FormeValide, procdure 369
Formula, proprit 345
FormulaForce, proprit 290, 347
Formulaires utilisateur 298, 301, 302
Formule de forme de base, calcul 505
I NDEX 583
Formule de style, calcul 505
Formules
Voir aussi noms des formules
spcifiques
affichage 63
associes aux arcs 103
associes aux formes 18, 27, 71, 80,
94
Automation 86
bases sur la hauteur 94
commandes apparaissant en gris
142
contrle des emplacements 88
dans la section Gomtrie 97
dans les cellules de la section
Evnement 152
dans les cellules dfinies par
lutilisateur 81
dans les cellules libelles 66
dans les dessins automatiss 341
dans les groupes 115, 116, 117
des pages 325
lments 63, 72
formules et gomtrie 87, 90
gestion des vnements 409
hrites 18, 71, 81, 126, 208, 356
identification 81
intelligentes 161, 192, 366
liens avec angle 164, 165
lisibilit 2
menus contextuels 141
modification 64, 65, 73, 209
personnalises 168
points de connexion 170
pour le dplacement des formes 93,
348
pour les arcs 109
pour les grilles 235, 236
pour les poignes de contrle 132,
133
pour les units 78, 79
protection 84, 126, 139, 203, 347
redimensionnement 121, 190
rsultats 198, 346, 347
rotation inverse 191
saisie 73
test des blocs de texte 204
Formules associes aux objets
affichage 64, 65
modification 64
Formules dvnement
description 152
liste 152
optimisation 156
simulation 153
Formules relatives aux formes 1D
en fonction de la hauteur 167
formules intelligentes 161
Fragment, mthode 366
Fragmentation, commande 42
FreeLibrary, fonction 526
FRM 302
FromCell, proprit 380
FromConnects, proprit 377
FromPart, proprit 380, 381, 382
FromSheet, proprit 378, 379, 381, 382
FullName, proprit 320
Function, procdure 300
Fusion
cration de formes 42
formes 113, 114, 126, 129, 144, 145
Fusionnes, formes 128
G
Gabarits
Voir aussi Document, gabarits,
Formes de base, Modles
ajout de nouvelles formes de base 54
autonomes 52, 211
conception 27
copyright 53
couleur 218
cration 51, 53, 54
cration de calques 231
de document 52
diffusion 485
enregistrement 62, 297
excution 261
fichier 318
fichiers daide 267
formats de fichier 60
installation 277
locaux 18
migration 507
modification 211
motifs personnaliss 220
nettoyage 271
obtention de gabarits modifiables 55
ouverture 53, 54, 57, 61, 66
peaufinage 259
rcupration 359
stockage 492
styles 213
test 262, 272, 273, 274
Gabarits de document 52
Gnrer automatiquement une icne
partir des donnes de la forme
271
Generic.cpp 512, 516
Gomtrie
formules 81
lignes 71, 91, 350
Gomtrie des formes 15, 110
commandes des menus contextuels
143
description 88
formules 87, 90
masquage 129
optimisation 110
points dancrage 136
Gomtrie, plusieurs sections 110
Gomtrie, section
Voir aussi noms des cellules
spcifiques
ajout 67, 351
chemins 88
considrations relatives aux formes
34
description 68
formes cres par fusion 113, 126
formes fusionnes 144
formules 89, 90, 97, 124
groupes 41
ligne ArcVers, cellules 106
modification des objets 47
poignes de contrle 135
remplissage des formes 128
GeometryCount, proprit 355
Gestion des erreurs 313, 502
Gestionnaire
dannulation 473, 475, 476, 479, 480,
481
dvnements 414, 472
de complments 316
GetFormulasU, mthode 493
GetIDsOfNames, mthode 516
GetObject, fonction 497
GETREF, fonction 85
GetResults, mthode 346
GetTypeInfo, mthode 516
584 I NDEX
GetTypeInfoCount, mthode 516
GETVAL, fonction 85
GetViewRect, mthode 362
GetWindowTask, proprit 500
Global, objet
dans un modle dobjet de Visio 282
description 307
rcupration 319
utilisation 306
Globalement unique, ID (GUID). Voir
GUID, ID unique
Globales, constantes
Voir aussi Constantes
Globales, variables
Voir aussi Variables
GlueTo, mthode 380, 384, 388, 518
GlueToPos, mthode 384, 388
Graphiques
fichiers 44, 45
images 44
objets 45
vectoriels 45
Grilles
affichage 233
comparaison avec les repres 237
cration 233
espacement 233
fixes 233, 236
lignes de repre 237
masquage 233
paramtrage des units de la grille
235
points 102
stockage de formules 235
variables 233, 236
Group, mthode 335
Groupe dvnements 411
Groupe Ilot cuisine, exemple 119
Grouper
commande 41, 115
Groupes
Voir aussi Collections, Formes
multiples
ajout 116, 335
appartenance 59
caractristiques 114
consquence des connexions 117
contrle du comportement 118
contrle du texte dans les formes 185
formes cres par fusion 113, 114
formules associes aux formes 116
imbriqus 119, 120
modification 48, 116
paramtrage du mode 119
protection du formatage 126
rectangles de slection 122, 242
redimensionnement 121
slection 118
test des performances 261
Groupes dobjets 38
Groupes de formes 38, 41, 116, 330
Groupes de formes de base,
comportement 38
GUID 394
Voir aussi ID unique
Guillemets 83, 85, 150, 155, 332, 345
H
Hauteur
cellules 72, 75
valeurs 70
HauteurPage, cellule 361
HAUTEURTEXTE, fonction 186, 188
HauteurTxt, cellule 181, 187, 198
HelpPaths, proprit 487
Hritage
formules 208
Hrites
donnes 356
formules 18, 71, 81, 126, 356
HLP 266, 487
Voir aussi Aide, fichiers
HPJ 266
Voir aussi Aide, fichiers
HRESULT 516
HTML Help (fichiers .chm) 266
Hub, forme 405
Hyperlinks, collection 285
I
IClassFactory2, interface 464
Icnes 55
fentre de modification 271
formes de base 56, 262, 266, 271
IconFileName, proprit 436
IConnectionPoint, protocoles 520
ID de forme 76
Voir aussi ID globalement unique, ID
unique
ID des constantes 444
ID uniques
en tant quarguments 395
gnration 393
objets Shape 394
ID. Voir GUID, ID de forme, ID unique
IDataObject, interface 336
IDE (Integrated development
environment) 293
Identification des formules 81
IDispatch, interface 511
Images
importation 44
numrises 44
Imbrication et liaison dobjet
Voir aussi Automation
Imbriqus, groupes
Voir aussi Groupes
Implements, instruction 428
Importation de fichier, commande 302
Imprimer, bote de dialogue 322
IncludesFill, proprit 322
IncludesLine, proprit 322
IncludesText, proprit 322
Indpendants, gabarits. Voir Gabarits
autonomes
Index pour les objets
vnements 532
mthodes 532
proprits 532
Indice
Voir aussi noms des formes ou des
cellules spcifiques
pages 556
rcupration de cellules 343
rcupration de formes 326
Indice dobjet 285
Indice de cellule
description 548
documents 556
formes 553
pages 556
styles 554
tabulation 557
types de ligne 557
Indice de ligne
description 548
documents 556
formes 553
pages 556
styles 554
I NDEX 585
tabulation 557
types de ligne 557
Indice de section
description 548
documents 556
formes 553
styles 554
tabulation 557
types de ligne 557
Indices de cellules. Voir Cellules, indices
Indices de couleur 217
Indices de lignes. Voir Lignes, indices
Indices de sections. Voir Section, indice
Info-bulles 133
Infos sur limage externe, section 68
Infos sur le collage, section 68, 170
Ingnieur systme 25
Insrer une ligne, commande 71, 139
Insrer une section, bote de dialogue 67
Installation
fichiers dans des dossiers 4
gabarits et modles 277
Instancing, proprit 426
Instruction 286
Intelligentes, formules. Voir Formules
Intelligents, liens. Voir Liens
Interface
contrles 301
fonctions 509, 511, 515
pointeur 511, 517
Interface utilisateur
ajout de formulaires utilisateur 301
persistance 442
Interface utilisateur personnalise
ajout 432, 445, 462
chargement 459
comparaison avec Visio 441
cration 440
description 457
enregistrement 458
fichier 457, 459
masquage 452
modification 434, 443, 456
persistance 442
porte 442
restauration 460
suppression doptions 453
utilisation 432
Interface Visio intgre 441, 453, 460
Interfaces doubles 511
Intersection
commande 43
dynamique 178
Inverser les extrmits, commande 204
Invisible, cellule 150
Invoke, mthode 516
InvokeOnMask 528
IOleUndoUnit 479
IsInScope, proprit 478
IsSet, fonction 517
IsUndoingorRedoing, proprit 476
Item
mthode 328
proprit 284
ItemAtID, proprit 436, 444
Itration
Voir aussi Count, proprit
collections 355
dans des collections et des lignes 355
dans un exemple de connexions 381,
382
exemple de la collection Pages 368
IterationMode, proprit 364
IUnknown, interface 523
IVBUndoUnit 479, 480
Ivisreg.cpp 516
Ivisreg.h 516
J
Jonction, commande 43, 127
K
Key, proprit 452
Keywords, proprit 320
Kit de dveloppement Microsoft
(Software Development Kit -
SDK) 509, 511
L
Langages de programmation 2
LaPage!EchelleDessin, formules 257
LaPage!EchellePage, formules 257
LaPage, forme 77
Largeur
cellules 75, 76, 78
formules 89, 90, 125
valeurs 70
LargeurPage, cellule 361
LARGEURTEXTE, fonction 186, 188
LargeurTxt, cellule 181, 195, 198
Layer, objet
identification 372
rcupration 372
LayerCount, proprit 372
Layers
collection 371
proprit 371
Lecture seule, fichiers 320
LesDonnes, cellule 153
LeTexte, cellule 153
Liaison
prcoce 511
prliminaire 507
tardive 511
Liaison de formes 1D, points de
connexion 172
Liaison de formes 2D, points de
connexion 172
Liaison des enregistrements de forme
152
Libells 150
Voir aussi Blocs de texte
Licence
dexcution 464
de cration 469
Lien dynamique
forme 161, 177, 178
outil 161
Lien S 161
Lien, outil 162
LienInscable, cellule 170
Liens
Voir aussi Formes 1D, Poignes de
contrle, Collage
Assistant SmartShape 166
avec angle 164, 165
collage 170
comportement 246
cration 162, 163, 164
dynamiques 165, 246
options de mise en page 244
repositionnables 161, 162, 163
Liens hypertexte, section 68
Lier les formes, commande 162
Lignes
Voir aussi noms des lignes spcifiques
ajout 349
boucle ditration 355
infinies 237
personnalises 393
586 I NDEX
suppression 353
suppression impossible 350
utilisation 349
LineStyle, proprit 334
LineStyleKeepFmt, proprit 334
Lisezmoi.txt 509, 524
Liste de variables, proprit 150
Liste des objets StatusBar 439
Liste fixe, proprit 150
LoadFromFile, mthode 459
LoadLibrary, fonction 526
LOC, fonction. Voir Coordonnes locales
Local
formatage 206
nom 75, 493
Local, gabarit. Voir Document, gabarit
Locales
formules 71, 81
variables 284
Locales, coordonnes
Voir aussi Coordonnes locales,
coordonnes
LockCalcWH, cellule 134
LOCVERSPAR, formules 170
M
Macros 31
Voir aussi noms des macros
spcifiques
bote de dialogue 311, 503
description 311
excution 311, 488, 503
menu 312
suppression 454, 455
Magntisme
sur une grille 233
vers le rectangle de slection 102
Magntisme et collage, bote de dialogue
171, 173
Magntisme et collage, commande 41
Masquer les accoudoirs, commande
Voir aussi Afficher les accoudoirs,
commande
145
MasquerTexte, cellule 203
Master, objet 282
ajout de calques 373
formules 341, 342
insertion dans une page 358, 360
rcupration 359
suppression de calques 373
Masters
collection 286, 359
proprit 359
Matriaux de rfrence
CD-ROM 4
Web 5
MAX, fonction 191
Membres dans les groupes 119
Membres de, liste 303
Menu
cellules 140
objet 436
MenuItem, objet 436
MenuItems, collection 285
Menus 433
ajout 445
collection 285
contextuels 138, 139, 140, 144
raccourcis 490
Menus. Voir noms des menus spcifiques
MenuSet
collection 285
objet 436, 444
Message daide, champ 270
Message, cellule 140, 344, 393
Mtafichiers, importation 45, 46
Mthodes
Voir aussi noms des mthodes
spcifiques
appel 293
dclaration de variables 289
indexation par objet 532
utilisation 291
valeurs renvoyes 289
Mettre lchelle avec le groupe, option
120
Mettre en page les formes, commande
163, 243, 244, 246
Micrografx Designer (.drw) 45
Microsoft Access 152
Microsoft Excel 284
Microsoft Office 293
Microsoft SQL Server 152
Microsoft Visual Basic 3
Microsoft Windows 215
Mid, fonction (Visual Basic) 506
MIN, fonction 191
MiniHelp, proprit 451
Mis lchelle, dessins
Voir aussi Echelles de dessin
Mise lchelle, option 221, 223
Mise en page
bote de dialogue 89
section 69
Mise en page des formes, section 69
Modle dobjet Visio 280, 282, 284, 377,
434, 435
Voir aussi noms des objets spcifiques
Modles
Voir aussi Documents, Gabarits
avantages 18
cohrence 213
conception 28, 29
contenant plusieurs pages 59
copyright 53
couleur 218
cration 51, 52, 57, 501
dplacement des fichiers 277
diffusion 485
lments 56
enregistrement 57, 297
excution 261
fichier 318
formes positionnables 163
grilles 233, 235
installation 277
migration 507
mise lchelle 57, 253
nettoyage 273
ouverture 61
peaufinage 259
repres 237
stockage 492
styles 213
suppression 273
test 274, 276
Modlisation laide de Visio
description 8
exemples issus de la ralit 13
validation 11
ModeRedim, cellule 119, 120
ModeSlection, cellule 119
Modification de la gomtrie des formes,
exemple 143
Modifier la forme de base, commande
56, 66, 232
Modifier le motif, commande 221
Modifier le texte du groupe, option 185
Modifier, menu contextuel 55
I NDEX 587
Modules 298, 299, 300, 302
Modules de classe
ajout de procdures 300
code 417
cration doccurrences 418
description 298
exemple rpondant des
vnements 419
gestion des vnements 417
insertion 299
objet ThisDocument 294
transfert de fichiers 302
Mon_prog.exe 154
Montage
cellules 81, 83
section 69, 81, 83, 124
Mosaque, commande 70
MotifRempl, cellule 220
Motifs de remplissage 222
Motifs de trait
couleurs 227
option de mise lchelle 226
Motifs en mosaque, conception 223
Motifs personnaliss
cration 220, 221
description 220
hrits 220, 244
icnes 221
traits 225
MotifTrait, cellule 220
MseAJourRectSl, cellule 137, 242
MsgBox, instruction 300
Multiformes 113, 126
Mur, forme 161
MyAddon.cpp 524
N
Name, proprit 320, 322, 328
NameID, proprit 328
NameU, proprit 493
New, mot-cl 481
NewBaseID, proprit 395
No Style, style 214
NOERROR, rsultat 516
Noeud, formes 405
NoFill, cellule 128
NoLine, cellule 128
Nom universel 75, 493
Nombre-unit, paires 201
Nombres 78, 396
Non priodiques, splines. Voir Splines
NON, fonction 145
NoSnap, cellules 176
Nouveau calque, bote de dialogue 232
Nouveau gabarit, commande 53
Nouvelle forme de base, bote de
dialogue 55
Nouvelles fonctions 3
Nudge, sous-routine 348
Nudge.exe 348
Null, chane 320, 323, 346, 394, 492, 500
Numrique, proprit 150
Numros
Voir aussi Constantes, Units de
mesure, Variables
NURBS 111
Nonuniform rational B-spline 111
O
Objet Forme de base
copyright 53
formules 63, 64, 65
Objet rcepteur 521, 523
Objet, rfrences
Voir aussi noms des objets ou des
collections spcifiques,
Rfrences
Objets
Voir aussi noms des objets spcifiques
collage 385
dans les collections 282
dans les groupes 38
dclaration 516
dplacement des formules 93
emplacement 88
indexation alphabtique 532
libration 287
proprit Error 314
proprit par dfaut 290
proprits 284
proprits par dfaut 20
Objets de Visio, types 284
Objets relatifs aux acclrateurs, liste
437
Objets relatifs aux barres dtat, liste 439
Objets relatifs aux menus, liste 435
Objets, variables 283, 284, 289
Voir aussi noms des variables
spcifiques
ObjType, cellule 162
Occurrence de lapplication Visio
dans un modle dobjet de Visio 282
Occurrences de formes de base
Voir aussi Formes de base
attribution des calques 231
comportement 17
cration 52
cration de calques 231
reformatage 212
ODBC (Open Database Connectivity)
30, 152, 407
OLE 282
OLE, Automation. Voir Automation
OLEObjects, collection 468
On Error, instruction 313, 502
OneD, proprit 396
OnNextAdd, procdure 480
Open, mthode 319
OpenEx, mthode 319
Oprateurs 74
Voir aussi noms des oprateurs
spcifiques
Oprateurs arithmtiques 74
Oprateurs logiques 74
Voir aussi Constantes
Oprateurs mathmatiques 73
Voir aussi symboles des oprateurs
spcifiques
Oprations
commande 42
sous-menu 220, 244
Options de menu 445, 447
Oracle SQL Server 152
OrderInfo, tableau 398, 400
Ordre
valuation (pour les vnements) 75
pages 231, 326, 368
priorit dans les formules 74
Organigrammes, gabarit 385
Outils de dessin
Arc 40
Crayon 40
description 39
Dessin main leve 40
Ellipse 40
Rectangle 40
Trait 40
Ouverture de dessins 57
Ouvrir Grouper, commande 49
Ouvrir un fichier, bote de dialogue 274
588 I NDEX
Ouvrir un gabarit, bote de dialogue 53,
66, 211, 336
Ouvrir un gabarit, commande 66
OUVRIRFENFEUILLE( ), fonction 154
OUVRIRFENTEXTE( ), fonction 154
OUVRIRFICHIER, fonction 154
P
Page active 318
Page de dessin, disposition en mosaque
70
Page, coordonnes
Voir aussi Coordonnes
Page, feuille. Voir LaPage, forme
Page, objet
Voir aussi LaPage, forme
ajout de calques 373
dans le modle Visio 317
dans les dessins 358
dans un modle de Visio 282
description 324
formules 341, 342
rcupration 324
suppression de calques 373
Pages
ajout 325
ajout de proprits personnalises
149, 393
analyse des connexions 381
collection 286, 324
cration dune grille 233
cration de calques 231
enregistrement 323
formes de hub 405
impression 322
mise lchelle des pages 253
modification des formules 65
modification des paramtres 370
options de mise en page 244
organisation des calques 59
prsentation 58
proprit 284
repres 237
Pages de dessin
arrangement des formes 229
arrire-plans 367
grilles 233
identification des calques 371
modification des objets 65
modification des paramtres 370
rfrences de cellule 77
reformatage des formes 210
repres 237
styles 205
PageSheet, proprit 325, 342, 370
PagIndex 504
Paires nombre/unit 78, 80
Palette de couleurs 217, 218
bote de dialogue 217
commande 218
Panneau de signalisation routire,
forme 185
Paragraphe, section 69, 182
Paramtres du mode de
redimensionnement 120
Paramtres du mode de slection 119
Paramtriques, formes 15
Parcourir les modles, bote de dialogue
57
Parent, coordonnes
Voir aussi Coordonnes
PasDplacEnfants, cellules 118
PasPoignCtl, cellule 137
PasRectSl, cellule 243
Paste, mthode 331
Path, proprit 320
Persistable, proprit 424
Persistance de linterface utilisateur 442
Persistent, proprit 424
PersistsEvents, proprit 424
Personnalisation des formules dune
flche, exemple 97
Personnalises, formules
Voir aussi Formules
Personnalises, proprits. Voir
Proprits personnalises
Personnaliser le texte de la forme,
option 184
Personnaliser, bote de dialogue 439
PESANTEUR, fonction 191
Pesanteur, formules 192, 193
Pile
dannulation 475
de rtablissement 475
Piscine, exemple de forme 251
Plan damnagement, exemples 231, 328
PNT, fonction 530
Voir aussi LOC, fonction,
Coordonnes locales
Poignes
de slection 37, 71
de verrouillage 71
sur les formes 36
Poignes de contrle
Voir aussi Liens, Section Contrles
axes du texte 184
collage de paires de cellules 386
comportement 137
description 133
formes 132
formes de base 132
paramtres 137
rfrences de cellule 134
sur les formes 37
Point de connexion, outil 247
Point de contrle pour les arcs 105
Pointeur dobjet, arguments 518
Points dancrage 136
Voir aussi Poignes de contrle
Points de connexion
Voir aussi Collage
attribution dun nom 176
collage 380, 385
cration 175
description 172
modification de la direction 247
section 69, 76
sur les lignes de la grille 102
types 173
vecteurs 173
Points de contrle, section 37, 133
Points de dpart 158
Points de fin 37, 158, 168
Points de fin 1D, section 69
Voir aussi Points de fin
Points de repre
collage 387
connexions 380
cration 238
description 237
modification 238
Points zro 90
Police, section 182
Polices
formules de redimensionnement 191
redimensionnement 186, 189
redimensionnement avec les formes
190
TrueType 215
Portable, code
I NDEX 589
Voir aussi Code
Porte des procdures 300
Positionnement de formes dans un
dessin, exemple 361
Premier plan, pages 367
PreserveMembersFlag, argument 373
Print, mthode 322
Procdures
dnomination 300
prives 300
publiques 300
types 300
Procdures (exemples), InitWith 23
Programmation en Visual Basic pour
Visio 280, 293
Programmation pour Visio 293
Voir aussi noms des langages de
programmation spcifiques
Programmation Visual Basic pour
application Visio 279
Programmation, erreurs. Voir Erreurs
Programmes
Voir aussi noms des langages de
programmation spcifiques,
Code
configuration du code 405
copie de Visio 496
cration 384, 485
dans Automation 20
distribution 491, 492
laboration du code 507
exportation de donnes 400
gestion des erreurs 502
gestion des vnements 409
importation de formes 44
informations de copyright 261
installation 486
interaction 20, 500
interprtation des commandes 503
liaison 490
migration 507
rdaction 418, 495
utilisation des classes wrapper 512
autonomes 31
Programmes complmentaires
action annulable 473
cration de domaine dannulation
477
dclaration 527
enregistrement 527
excution 529
utilisation du gestionnaire
dannulation 476
Programmes dinstallation inclus dans
les solutions 4
Projet/Bibliothque, zone 303, 305
Property, procdure 300
Proportionnel, redimensionnement.
Voir Redimensionnement
Proprit dune option, paramtrage
451
Proprit des cellules
rcupration 290
Read-only, proprit 290
Proprits
Voir aussi noms des proprits
spcifiques, Proprits
personnalises
bote de dialogue 149
en lecture/criture 290
fentre 295
indexation par objet 532
par dfaut des objets 290
rcupration 396
rcupration des proprits des
cellules 290
rfrences aux objets 284
stockage 396
utilisation 289
Proprits dambiance 465
Proprits dimage, section 69
Proprits de doc, section 69
Proprits de groupe, section 69, 119
Proprits de la forme de base, bote de
dialogue 222
Proprits de la page, section 69
Proprits de raccourci de la forme de
base, bote de dialogue 269
Proprits de style, section 69
Proprits des calques, bote de dialogue
231, 371, 374
Proprits des formes 146
Proprits personnalises 147
affichage 202
ajout 151, 391, 393
bote de dialogue 202
cellules 344
dfinition 148
description 147
fentre 148, 149
formats 150
liaison de donnes 151
pour une liste de contrle de stock,
exemple 147
rcupration de cellules 344
section 69
types 150
utilisation 147
Protection
Voir aussi PROTECTION, fonction
bote de dialogue 111
caractristiques de la forme par
verrouillage 111
cellule 71
code du programme 316
contre la modification du texte 185
contrles 466
fichiers en lecture seule 54
formatage des groupes 126
formatage local 334
formats locaux 216
formes 216
formules 84, 347
largeur des blocs de texte 187
modification des groupes 116
proprits gomtriques des formes
34
redimensionnement des formes 120
section 69
styles 216
type de ligne 108
valeurs du texte 203
Protection des formes 111, 126, 257
contre les mises lchelle 257
dplacement impossible 94
empchement de tout retournement
102
PROTECTION, fonction 84, 94, 112,
126, 148, 188, 203, 216, 290, 347
Voir aussi Verrouillage, Protection
Protger le document, bote de dialogue
466
Q
QueryInterface, mthode 516
Quit, mthode 497
R
Read-only, proprit 396
590 I NDEX
Rcepteur dvnement. Voir Objet
rcepteur
Rcepteur, objet 420, 422, 425, 428
Rcepteurs de notifications 425, 427
Voir aussi Objet rcepteur
Rechercher texte, case 303
Rectangle
formes 40, 103
outil 40
Rectangles de slection
attraction vers la grille 240
avec les formes 241, 242, 243
cubes en 3D 123
mise jour 137
personnalisation 242
Rcupration dobjets 284
Voir aussi noms des objets spcifiques
Rcupration dobjets Layer, exemple
372
Rcupration dun objet Cell
formes 387
options 342
par indice 343
par ligne 343
par nom 343
par section 343
Rcupration de formes
par ID 328
par le nom 326
par les indices 326
par type de proprit 328
Redimensionnement
laide de coordonnes 89
comportement du groupe 119
courbures des arcs 105
dans un sens uniquement 121
dimensions personnalises 191
en fonction de la valeur du texte 189
formes 88, 120
formules personnalises 125
protection des proportions 95
protection du texte 187
quantit de texte 188
Redimensionnement dune flche,
exemple 95
Redisposer les pages, bote de dialogue
368
Rfrence de ShapeSheet 7
Rfrence de Visio Automation 3
Rfrences
Voir aussi Cellule, rfrences, Objet,
rfrences
bibliothque Visio 507
chec 517
migration 507
non valides 289
objets 517
Rfrences aux cellules dune forme 76
Rfrences aux objets
collections 285
concatnation 288
dans un modle dobjet de Visio 284
libration 283
limitation de la porte 289
rcupration 283
variable objet 289
Rfrences aux objets non valides,
erreurs 289
Rfrences dobjet, renvoi de valeurs 517
Rfrences de cellule
dautres formes 76
au sein de la mme forme 76
collage 388
dans les feuilles de calcul ShapeSheet
75
formules 77
poignes de contrle 134
proprits des formes 19
Rfrences disponibles, liste 305, 507
Rgle de rapport huit 255
Rgle et grille, section 69
Rgles 89, 233, 238
Rgles et grille
bote de dialogue 233
formules 234
Release
appels 512
mthode 516
Remarques concernant la conception
261
Remove, mthode 373
Remplissage des formes 41, 128
RemplPremPlan, cellule 78, 79, 219
Renvoi de valeurs
Voir aussi noms des proprits ou des
mthodes spcifiques
Rorganisation dun bureau, exemple 10
Rorganisation dun service, exemple 10
Repres
affichage 239
collage 387
connexions 380
cration 238
dans les formes regroupes 239
dsactivation du magntisme 239
description 237
lignes de repre 237
manipulation 238
masquage 239
positionnement 238
rotation dobjets 239
slection 238
Repositionner seulement, option 120
Result, proprit 346, 347
Rsultats
remplacement de formules 347
utilisation des oprations sur les
formes 42
ResultInt, proprit 346, 347
ResultIU, proprit 346, 347
ResultStr, proprit 346
Rsum, onglet 274
Rtablissement dune action 473
Retirer les calques non rfrencs,
option 231
Retournement
consquences sur les coordonnes 99
empchement 102
formes 98
Retournement horizontal et
Retournement vertical,
commandes 99
RetournementX et RetournementY,
cellules 72, 98, 194
Rotation
bloc de texte 191
dans la bote de dialogue Protection
102
empchement 102
formes 98, 100
formes 1D 37
formes 2D 37
outil 37, 100, 101
pages 100
RouteStyle, cellule 163
RowCount, proprit 355
RowsCellCount, proprit 355
RUNADDON, fonction 154, 490, 504,
505
I NDEX 591
RUNADDONWARGS, fonction 154,
490, 505
RVB, valeurs de couleur 219
S
Sauvegarde de donnes
stockage 396
Save, mthode 323
SaveAs, mthode 323
Saved, proprit 320, 323
SaveToFile, mthode 458
Secteur, forme 161
Section Rgle et grille 69
Section, commande 66
Sections. Voir noms des sections
spcifiques
Sections Gomtrie, plusieurs
Voir aussi Chemins
Sections, bote de dialogue
affichage 67
ajout 67, 349
suppression 353
utilisation 349
Segments 354
Segments de trait
conversion 108
modification 108
Select, mthode 365
SelectAll, mthode 365
Selection, objet 282, 335, 363, 364, 365,
366
Slection, poignes 386
Selection, proprit 364
Shape
proprits 284
Shape, objet
ajout de lignes 349
ajout de lignes personnalises 393
ajout de sections 349
analyse des connexions 378
attribution de calques 373
dans le modle Visio 317
dans les fentres 364
dans un modle Visio 282
description 400
dslection 365
formules 341, 342
ID unique 394
membre dun groupe 330
modification 354
proprits 284, 289, 328, 332, 393
rcupration 326
rsultats des oprations 42
slection 363, 365
suppression de calques 373
utilisation 366
ShapeAdded, vnement 24, 407, 414,
482
Shapes, collection 286, 326, 330, 400
Shapes, proprit 284
ShapesDeleted, vnement 407
ShapeSheet
fentre 15, 18, 45
feuilles de calcul 15
formules 15, 18, 78, 147
rfrences de cellule 75
sections 67
ShapeSheet, fentre 45, 67, 70, 134, 181
affichage 64, 66
modification 64, 65, 72
ShowInMenu, macro 312
ShowPageConnections, macro 381, 382
Signe gal en prfixe des formules
ShapeSheet 83
Site Web de Visio 5
SmartShape, Assistant 166, 183, 190,
192, 193, 194, 198
SmartShapes, symboles 18
Solutions
chemins 487
diffusion 485
distribution 491
dossiers dinstallation 487
dossiers de fichier 487
excution sur dautres systmes 261
installation 486
intgration 30, 391, 407
migration 507
peaufinage 259
stockage 492
Visio 1
Sommets
chemins 88
coordonnes x et y 89
description 87
effets du dplacement des formes 37
fermeture 41
gomtrie des formes 88
points de dpart et de fin 159
pour les cubes en 3D 122, 123
Sons, lecture 155
Source dvnement 411
Source, code 494
Voir aussi noms des langages de
programmation spcifiques,
Code
SourceDpt, cellule 116
Soustraction, commande 42
Spcial, bote de dialogue 467
Splines 35, 40
Standard, barre doutils 39
Startup, dossier 506
StartupPaths, proprit 487, 500
State, proprit 436
StatusBar, objet 444
StatusBarItem, objet 439
StatusBarItems, collection 285
StatusBars, collection 285
StencilPaths, proprit 487
StrComp, fonction 506
Style dinteraction, option 159
Style de remplissage, zone 207
Style de trait, zone 207
Style du texte, zone 207
Style, bote de dialogue 207, 214
Style, commande 206
Style, objet
formules 341, 342
Style, proprit 436
StyleDvTraitLien, cellule 245
StyleKeepFmt, proprit 334
StylePositionForme, cellule 163, 170,
245
Styles 207
Voir aussi Formatage
attributs 206
cohrence 213
collection 286, 321
conseils 209
copie 209
couleur 217
cration 208, 322
dans le texte 206
dans les gabarits 211, 213
dans les modles 28, 213
dfinition 206, 215
dnomination 214
description 206
gestion 205
hrits 208
592 I NDEX
identification 334
modification 65, 207, 209
par dfaut 207
pour les angles 104
prsentation 206
proprit 321, 334
remplissage 206
suppression 213
trait 206
traits 206
Sub, procdure 300
Subject, proprit 320
SUCCEEDED, rsultat 516
Sujet dun vnement 411
Superposition de formes 42
Supprimer la ligne, commande 71
Supprimer, action 315
Surveillance de la consommation
lectrique, exemple 22
Symboles, bibliothques 46
Syntaxe des rfrences de cellule 77
SysFreeString 518, 519
Systme de scurit, exemple 14, 30
T
Tableaux 361, 398
Voir aussi Collections
Tabulations
dfinition 465
section 69, 182
Taille de police proportionnelle, option
190
Taille et position, fentre 100
TargetArgs, proprit 427
TemplatePaths, proprit 487, 501
Test
aide relative aux formes 268
dans la bote de dialogue Ouvrir un
gabarit 336
chelles de taille identique 264
chelles des formes de base 263
chelles diffrentes 265
fentres sur diffrents systmes 274
formes 262, 266, 268
formules personnalises 261
gabarits 272
gabarits en lecture seule 273
gestion des erreurs 502
informations de la bote de dialogue
Ouvrir un fichier 274
liste de contrle de la cohrence 263
modles 274, 276
modles en lecture seule 276
valeurs renvoyes 314
vrification dobjets 314
Text, proprit 332, 396
TextChanged, vnement 407
Texte
ajout 332
attributs 181
bote de dialogue 181
comportement 179
conception 179
dans les champs de donnes 333
dans les groupes 185
dimensionnement 188, 198
formatage 181, 201
formules 187, 188, 198, 203
outil 185
polices 182
positionnement 183, 192
protection 139
redimensionnement 189, 191
rotation 191, 192, 194
sortie 200
styles 206
Texte droit, formules 192, 194
TextStyle, proprit 334
TextStyleKeepFmt, proprit 334
ThisDocument, objet 294, 299, 306, 309,
412, 413, 414
Title, proprit 320
ToCell, proprit 380
ToolbarItems, collection 439
Toolbars, collection 285
ToolbarSet, objet 439, 444
ToolbarSets, collection 285
ToPart, proprit 380, 381, 382
ToSheet, proprit 378, 379, 381, 382
Tous les styles, liste 207
Trait
bote de dialogue 228
outil 40
Trait 1D 159
Transformation de la forme, section 69,
90, 92, 120, 188
Voir aussi noms des cellules
spcifiques
Transformation de texte, section 69, 181
Transistor, symbole 101
Transportables, dessins 16
TSL, valeurs de couleur 219
Type, proprit 328
Types dobjet dans les bibliothques 306
Types de donnes 396
Types, bibliothques
Voir aussi Bibliothques
U
UIObject, objet
liste 432
modification 443
rcupration 434
Dissociation
Voir aussi Groupes
Unidimensionnelles, formes. Voir
Formes 1D
Union
commande 42, 127
mthode 366
Unique, ID
Voir aussi ID globalement unique, ID
de forme
UniqueID, proprit 328, 394, 395
Unit dannulation 473, 479, 480, 481,
482
Units angulaires 78
Units de dessin 78, 249, 250, 253
Units de mesure 72, 78, 79, 83, 235
Voir aussi Valeurs
Units de mesure, paramtrage 253
Units de page 78, 79, 250
Units multidimensionnelles 79
UnitSize, procdure 480
UnitTypeCLSID, procdure 480
UnitTypeLong, procdure 480
UpdateUI, mthode 456
URL du site Web de Visio 5
USE, fonction 220
Util.Message, cellule 83
Utilisabilit
comportement des formes 260
conception 26, 260
conventions de noms 262
chelles de dessin 251
formes de base 262
Utilisateur, actions. Voir noms des
actions spcifiques
Utilisateur, interface
Voir aussi Interfaces, UIObject, objet
I NDEX 593
Utiliser les paramtres du groupe,
option 120
V
V2LMSG_ENUMADDONS, message
526
V2LMSG_ISAOENABLED, message
528
V2LMSG_KILLSESSION, message 530
V2LMSG_RUN, message 529
Valeur 128 bits 393
Valeur, cellule 344, 393
Valeurs
Voir aussi Formules, Numros
angle 71, 199
boolennes 72, 396
cellules ObjType 162
consquence de la rotation 100
consquences du retournement 99
dclaration de variables 289
modification 70
renvoyes 289, 314
renvoyes par les mthodes Visio 516
units multidimensionnelles 79
Vannes, formes 167
Vao.h 527
VAO_ENABLEALWAYS 527
VAO_ENABLEDYNAMIC 528
VAO_INVOKE_LAUNCH 528
VAO_NEEDSDOC 528
vaoGetObject, fonction 499, 516
Voir aussi GetObject, fonction
vaoGetObjectWrap, fonction 512, 516
VAOREGSTRUCT 528
VAOUtil_DefVisMainProc 526
VAOUtil_SendEndSession 530
VAOV2LSTRUCT 529
Variable
objets 287
Variable objet 289
Variable, grilles
Voir aussi Grilles
Variables
Voir aussi noms des variables dobjet
spcifiques
au niveau du module 284
dclaration 300
dfinition 400
description des objets 283
doubles 346, 396
formules pour les blocs de texte 187
globales 284
grilles 233
locales 300
non valides 287
objets 287, 415, 416
statiques 300
type de donnes 289
VARIANT, arguments 519
Variant, type de donnes dans Visual
Basic 289
VBA. Voir Visual Basic pour
Applications
VDLLmain.c 526
Vecteurs diffrents de zro 173
Vectoriels, graphiques 44
VerrCalcLH, cellule 108, 123, 137
VerrDplacX et VerrDplacY, cellules 94
VerrFormat, cellule 104, 126, 203, 216
VerrGroupe, cellule 116
VerrHauteur, cellule 120, 165
VerrLargeur, cellule 112, 120
VerrModifTexte, cellule 203
VerrModifTexte, commande 141, 142
VerrModifVtx, cellule 165
Verrouillage
Voir aussi GUARD, fonction,
Protection
cellules 94
comportement des formes 111
format des groupes 126
formatage des formes 126
formes 94, 102
pour une caractristique de forme
112
projet 316
texte 139
Verrouiller le projet pour laffichage,
option 316
Verrouiller le texte, commande 139, 141,
142
VerrPivoter, cellule 94, 102
Virgule 497
visActCodeRunAddon, constante 423
visBegin, constante 379
visCentimeters, constante 346
visConnectionPoint, constante 379, 380
Visconst.bas 303
visControlPoint, constante 379, 380
visDeselect, constante 365
visDrawingUnits, constante 346
visEnd, constante 379
visError, constante 499
VisEventProc, mthode 425, 427, 521
visEvtAdd, constante 420, 421, 422
visEvtIDMostRecent, constante 422
visEvtPage, constante 421
visEvtShape, constante 421
visFieldCodes, constante 333
visGetGUID, constante 328, 394
visGuideX et visGuide Y, constantes 379
Visio Automation, Rfrence 3
Visio Developer Forum 5
Visio, bibliothques (.vsl)
Voir aussi Bibliothques
Visio, modle dobjet 279
Visio, site Web 5
Visio.h 512, 516
VisioLibMain, fonction 526
Visiwrap.h 512
visLayerName, constante 374
visLayerVisible, constante 374
visLeftEdge, constante 379
visOK, constante 499
visPageUnits, constante 346
Visreg.bas 353
visRightEdge, constante 379
visRowVertex, constante 353
visSectionCharacter, constante 350, 353
visSectionFirstComponent, constante
351
visSectionLastComponent, constante
351
visSectionObj, constante 353
visSectionParagraph, constante 350, 353
visSectionTab, constante 350, 353
visSectionTextField, constante 350, 353
visSelect, constante 365
visTagArcTo, constante 350, 352
visTagComponent, constante 350, 352
visTagEllipse, constante 350, 352
visTagEllipticalArcTo, constante 350,
352
visTagInfiniteLine, constante 350, 352
visTagLineTo, constante 349, 350, 352
visTagMoveTo, constante 350, 352
visTagNURBSTo, constante 350, 352
visTagPolylineTo, constante 350, 352
visTagSplineBeg, constante 350, 352
visTagSplineSpan, constante 350, 352
594 I NDEX
visTypeDoc, constante 328
visTypeForeignObject, constante 328
visTypeGroup, constante 328
visTypePage, constante 328
visTypeShape, constante 328
Visual Basic
Voir aussi noms des objets spcifiques
contrles 469
donnes Variant 289
fonctions Error 314
gestion des erreurs 502
libration dobjets 287
migration 507
objets rcepteur 426
protection du code 316
rapports de dpassement 421
rdaction de code pour des
vnements 411
Visual Basic IDE 293
Visual Basic pour Applications (VBA)
Voir aussi noms des fonctions
spcifiques
code pour les vnements 411
comparaison par rapport
Automation 20
cration de projets 298
dveloppement 293
diffusion du code 28, 492
environnement 294
excution doccurrences 306
excution du code 311
exportation de fichiers 302
finalisation du projet 315
gestion 315
gestion des vnements 409
Gestionnaire de complments 316
importation de fichiers 302
insertion dobjets personnaliss 299
macros 31
migration depuis Visual Basic 507
modules de classe 294
objets rcepteur 426
personnalisation 295
rapports de dpassement 421
rdaction 495
utilisation
explorateur dobjets 304
visUIObjSetIcon, constante 444
visUIObjSetinPlace, constante 444
visUIObjSetNoDocument, constante
444
visUIObjSetPrintPreview, constante 444
visUIObjSetShapeSheet, constante 444
visUIObjSetStencil, constante 444
VLIBUTL_hModule 526
Volet des dtails, utilisation 303
VSD 61
VSL 31, 297, 487, 524, 525, 526, 529
Voir aussi Fichiers de dessin,
Bibliothques
VSS 52, 61, 297, 487
Voir aussi Bibliothques, Gabarits
VST 57, 61, 297, 487
Voir aussi Modles
VSU 432, 458
VSW 61
Voir aussi Espace de travail, listes
VVariant, classe daide 512, 519
W
While, boucles. Voir Count, proprit
Window, objet 282, 319, 335, 364, 365
WindowHandle32, proprit 500
Windows DLL 31
WindowsHandle32, proprit 525
WinHelp (fichiers .hlp) 266
WithEvents (mot-cl VBA) 409, 411,
415
Wrapper, classes 512
X
X et Y, cellules 97
X, Y coordonnes 175
Voir aussi Coordonnes
X, Y, coordonnes 89, 106, 110
Z
Zone de texte, contrle 301
Zone largeur/hauteur 180
Zones dalignement
personnalisation 226