Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Visio Datei öffnen und makro ausführen

Forumthread: Visio Datei öffnen und makro ausführen

Visio Datei öffnen und makro ausführen
Thomas
Hallo liebe VBA Gemeinde
Diesmal habe ich ein Schnittstellenproblem. Und zwar möchte ich aus Excel über einen Button eine Visio Datei aufrufen/öffnen (ist im gleichen Verzeichnis) und ein dort gespeichertes Makro ausführen (call Auswahl).
Das Makro benötigt die Variable "AKZ" die von Excel übergeben wird.
Leider übersteigt dies weit meine Kenntnisse. Ach der Makrorecorder liefert kein Code, den ich bearbeiten könnte.
Kann mir jemand weiterhelfen.
Besten Dank.
gruß
thomas
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
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
Anzeige
AW: Visio Makro per XL ausführen : Nicht möglich !?
29.09.2009 13:23:18
Thomas
Servus
Cool danke es geht bis auf das Makro. Das makro automatisch beim öffnen auszuführen ist leider keine Alternative. Gibt es keine andere Möglichkeit?
Außerdem ist da noch das Problem, dass ich eine Variable von Excel in Visio (makro) übergeben muss.
Man, dachte die Scheiß MS office Programme funktionieren untereinander. Bin grad echt ein wenig enttäuscht. Da verschwendet man viel Potential. MS kann nur froh sein, dass sie immer noch ein Monopol drauf haben.... Naja.
gruß
Thomas
Anzeige
AW: Visio Makro per XL ausführen : geht schon
29.09.2009 20:52:32
Christian
Hallo Thomas,
geht schon - hab's eben mit gesetztem Verweis auf die "Microsoft Visio 11.0 Type Library" _ getestet.

Option Explicit
Sub CallVisioMacro()
Dim visApp As Visio.Application
Dim visDoc As Visio.Document
Set visApp = New Visio.Application
Set visDoc = visApp.Documents.Open("D:\Test.vsd")
visDoc.ExecuteLine ("Modul1.VisioTest")
End Sub

dachte die Scheiß MS office Programme funktionieren untereinander... Visio ist ja auch nicht von M$ - wurde eingekauft (genau wie Excel vor längerer Zeit).
Gruß
Christian
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Visio Datei über Excel öffnen und Makros ausführen


Schritt-für-Schritt-Anleitung

Um eine Visio Datei aus Excel zu öffnen und ein Makro darin auszuführen, folge diesen Schritten:

  1. Verweis auf die Visio-Bibliothek setzen:

    • Öffne Excel und gehe zu den VBA-Entwicklertools (Alt + F11).
    • Wähle im Menü "Extras" > "Verweise".
    • Setze einen Haken bei "Microsoft Visio xx.0 Type Library" (xx steht für deine Visio-Version).
  2. VBA-Code zum Öffnen der Visio Datei:

    • Erstelle ein neues Modul und füge den folgenden Code ein:
      Sub CallVisioMacro()
      Dim visApp As Visio.Application
      Dim visDoc As Visio.Document
      Set visApp = New Visio.Application
      Set visDoc = visApp.Documents.Open("C:\Temp\Vis1.VSD") ' Pfad zur Visio Datei
      visDoc.ExecuteLine "Modul1.VisioTest" ' Name des Makros in der Visio Datei
      End Sub
  3. Makro anpassen:

    • Ändere den Pfad zur Visio Datei entsprechend deinem System.
    • Ersetze "Modul1.VisioTest" durch den Namen deines Makros.
  4. Makro ausführen:

    • Führe das Makro in Excel aus, um die Visio Datei zu öffnen und das Makro in der Datei auszuführen.

Häufige Fehler und Lösungen

  • Visio schließt sich automatisch:

    • Stelle sicher, dass du die richtige Version von Visio verwendest und dass deine Makros in den Sicherheitseinstellungen von Visio erlaubt sind.
  • Fehlermeldung beim Öffnen der Datei:

    • Überprüfe den Dateipfad und die Visio datei endung. Die Datei sollte die Endung .vsd oder .vsdx haben.
  • Makro wird nicht ausgeführt:

    • Stelle sicher, dass der Name des Makros korrekt geschrieben ist und dass das Makro in einem Modul innerhalb der Visio Datei vorhanden ist.

Alternative Methoden

Falls der direkte Weg über VBA nicht funktioniert, gibt es alternative Ansätze:

  • Excel to Visio: Du kannst Daten von Excel nach Visio exportieren, indem du die Visio-Integration nutzt. Hierbei werden Daten in Visio Diagramme importiert.

  • Visio Datei in Word bearbeiten: Eine andere Möglichkeit ist, die Visio Datei in Word zu bearbeiten, wenn du nur bestimmte Grafik-Elemente benötigst.


Praktische Beispiele

Hier sind einige Anwendungsbeispiele für das Öffnen von Visio Dateien und das Ausführen von Makros:

  • Diagramm erstellen: Verwende die Excel-Daten, um ein Organigramm in Visio zu erstellen.
  • Berichterstattung: Automatisiere den Prozess, indem du Excel-Daten an ein Visio-Makro übergibst, das Diagramme in einem bestimmten Format erstellt.
Sub CreateVisioDiagram()
    Dim visApp As Visio.Application
    Dim visDoc As Visio.Document
    Set visApp = New Visio.Application
    Set visDoc = visApp.Documents.Add("")
    ' Füge hier Logik zum Erstellen deines Diagramms hinzu
End Sub

Tipps für Profis

  • Verwendung von Visio VBA: Nutze die Flexibilität von Visio VBA, um komplexe Diagramme zu erstellen oder zu bearbeiten. Diese Sprache bietet viele Funktionen, um Visio-Dokumente zu manipulieren.

  • Makros optimieren: Optimiere deine Makros, indem du Fehlerbehandlungsroutinen hinzufügst, um unerwartete Probleme beim Öffnen von Visio Dateien zu vermeiden.

  • Dokumentation: Dokumentiere deine Makros gründlich, damit du die Logik leicht nachvollziehen kannst, insbesondere wenn du an verschiedenen Projekten arbeitest.


FAQ: Häufige Fragen

1. Wie kann ich eine VSD Datei öffnen ohne Visio?
Es gibt spezielle Viewer-Software, die es ermöglicht, VSD-Dateien zu öffnen, jedoch ist die Funktionalität eingeschränkt.

2. Was kann ich tun, wenn mein Makro nicht automatisch beim Öffnen der Visio Datei ausgeführt wird?
Stelle sicher, dass das Makro im "AUTOSTART"-Bereich der Visio Datei gespeichert ist oder rufe es explizit über einen Button in Excel auf.

3. Wie kann ich Visio Dateien bearbeiten?
Um Visio Dateien zu bearbeiten, benötigst du mindestens die Visio Standard Edition. Du kannst dann entweder über die Benutzeroberfläche oder mit VBA arbeiten.

4. Gibt es eine Möglichkeit, Visio und Excel besser zu integrieren?
Ja, durch die Verwendung von Excel to Visio-Funktionen sowie durch das Erstellen von benutzerdefinierten Makros kannst du eine bessere Integration zwischen den beiden Programmen erreichen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige