Automatisation de Visio

saadgalzim Messages postés 1 Date d'inscription mercredi 20 septembre 2006 Statut Membre Dernière intervention 4 octobre 2006 - 4 oct. 2006 à 02:43
coolfred22 Messages postés 1 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 28 octobre 2011 - 28 oct. 2011 à 15:31
Bonjour voici mon code  en visual Basic. Je dois dessiner des élements sur Visio a 'laide de visual basic.  Ce bout de code permet de les dessiner cependant je narrive pas a les relier par un fil. Comment faire  ??? Je sais que dans le logiciel microsoft Visio, il y a une option qui permet de les relier ( formes/ lier les formes ), est il possible dacceder au code souces qui fait ca ?
Aidez moi svpp

( ne faites pas attention a la presence des boucles for)

 

Dim AppVisio
As Visio.Application
' Declare an Instance of Visio.

Dim docsObj
As Visio.Documents
' Documents collection of instance.

Dim DocObj
As Visio.Document
' Document to work in.

Dim stnObj
As Visio.Document
' Stencil that contains master.

Dim mastObj
As Visio.Master
' Master to drop.

Dim pagsObj
As Visio.Pages
' Pages collection of document.

Dim pagObj
As Visio.Page
' Page to work in.

Dim shpObj
As Visio.Shape
' Instance of master on page.
Const TEMPLATEPATH "Z:\ReseauSpecial.vss"AppVisio CreateObject(

"visio.application")
 

 

 DocObj = AppVisio.Documents.Add(

"")stnObj = AppVisio.Documents.OpenEx(TEMPLATEPATH, 4)

DocObj = AppVisio.Documents.Add(

"bstorm_m.vst")

 docsObj = AppVisio.Documents

pagsObj = AppVisio.ActiveDocument.Pages

pagObj = pagsObj.Item(1)

 

 

Dim x
As
Integer

Dim a
As
Integer

Dim b
As
Integer

Dim c
As
Integer 

'initialisationa = 1

b = 1

c = 1

 

 mastObj = stnObj.Masters(

"Aiguilleur")

For x = a
To b
Step cshpObj = pagObj.Drop(mastObj, 1.05, 1)

Next x 

 

mastObj = stnObj.Masters(

"Aiguilleur Droit")

For x = a
To b
Step cshpObj = pagObj.Drop(mastObj, 2.7, 1)

Next x

3 réponses

Visiogram Messages postés 1 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 6 juillet 2007
6 juil. 2007 à 10:35
Bonjour,

je suis nouveau sur ce site et je suis intéressé par l'automatisation d'actions répétitives sous Visio 2007, piloté par VB !

Je n'ai malheureusement pas la réponse à ta question concernant les liaisons automatiques (la fonction existe bien depuis Visio 2003 d'ailleurs).

Moi j'ai un autre problème, je n'arrive tout simplement pas à lancer Visio avec le code ci-dessous, alors que cela fonctionne parfaitement avec Word ou Excel ?

Public

Class Form1

Dim VisioApp
As
Object

Dim VisioDoc
As
Object

Dim VisioRing
As
Object

Private
Sub Button2_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button2.ClickVisioApp = CreateObject(

"Visio.application")VisioApp.visible =

True

End
Sub

Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.ClickApplication.Exit()

End
SubEnd

Class

Quelqu'un peut m'expliquer pourquoi ?
0
cs_unique07 Messages postés 8 Date d'inscription vendredi 2 mai 2008 Statut Membre Dernière intervention 29 juillet 2010
22 juil. 2010 à 15:14
salut tt le monde :)
en fait je cherche à réaliser une macro de telle sorte, de detecter les form
0
coolfred22 Messages postés 1 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 28 octobre 2011
28 oct. 2011 à 15:31
Bonjour,
le sujet est vieux, mais bon... Ça peut toujours aider!
Il faut sélectionner les objets à connecter puis utiliser la fonction ConnectShapes

AppVisio.ActiveWindow.Select Objet1, visDeselectAll + visSelect
AppVisio.ActiveWindow.Select Objet2, visSelect
AppVisio.ActiveWindow.Selection.ConnectShapes
0
Rejoignez-nous