Visio Makro per XL ausführen : Nicht möglich !?
29.09.2009 12:14:45
NoNet
Hallo Thomas,
hier zunächst einmal ein (vereinfachter) Ansatz, wie Du aus Excel heraus das Visio-Dokument öffnen kannst :
Const visOpenRW = 32
Sub VisioStart()
Dim appVis As Object, objZeichnung As Object
Set appVis = CreateObject("Visio.Application")
appVis.Visible = True
Set objZeichnung = appVis.Documents.OpenEx("C:\Temp\Vis1.VSD", visOpenRW)
'Zugriff auf Visio-Applikation : Anzahl geöffneter Dokumente anzeigen :
MsgBox appVis.Documents.Count
'Diese Anweisung funktioniert leider nicht, da es in Visio m.E. nichts vergleichbares zu _
RUN gibt :
appVis.Run objZeichnung.Name & "!HelloVisioWorld"
End Sub
"HelloVisioWorld" ist der Name des Makros im Visio-Dokument, das gestartet werden soll !
Leider gibt es in Visio m.E. keine Anweisung analog zu .RUN, mit der Makros aus anderen Dokumenten gestartet werden können !
Alternativ könntest Du ein Makro im "AUTOSTART" des Visio-Dokumentes ablegen :
Dieser (Autostart-)Code gehört in das Klassenmodul "ThisDocument" des Visio-Dokumentes :
Private Sub Document_DocumentOpened(ByVal doc As IVDocument)
MsgBox "Visio-Dokument geöffnet !", vbOKOnly, "Trara !"
End Sub
Viel Erfolg, Gruß, NoNet