2016-11-09 10 views
0

Derzeit öffne ich Visio von VBS-Datei und funktioniert. Jedes Mal, wenn das Makro beendet wird, verweilt Visio.exe jedoch weiterhin in den "aktiven Prozessen" unter Task-Manager.Schließen Visio von VBS-Datei

Problem ist, wenn ich das Makro mehrere Male ausführen, bekomme ich mehrere Visio.exe nur dort sitzen.

Wie kann ich die Visio-Datei effektiv schließen (und damit den Prozess beenden)?

Hier ist mein Code:

Sub MacroExample() 

    Dim AppVisio 
    Set AppVisio = CreateObject("visio.InvisibleApp") 
    Dim vsoDoc 

    Set vsoDoc = AppVisio.Documents.Open("filepath\file.vsd") 

    vsoDoc.ExecuteLine ("MacroName") 
    Set vsoDoc = Nothing 
    set AppVisio = nothing 
    vsoDoc.close 
    appvisio.quit 
End Sub 

Diese zwei Linien sind nicht wie beabsichtigt? (Basierend auf meiner Internet-Suche, Dokumente Ich habe über alles Gerede über einen ähnlichen Code kam. Dachte ich diese 2 den Prozess schließen würde)

vsoDoc.close 
    appvisio.quit 

Jede Hilfe/Zeiger in die richtige Richtung zu schätzen wissen! (Beachten Sie den gesamten Code hier und innerhalb Visio arbeitet nun wie vorgesehen)

+1

Ich würde halten die '.Close' und' .Quit' nennt, aber versuche am Ende, 'appVisio = Nothing' am Ende hinzuzufügen. –

+0

Umstellen des Codes funktionierte! Danke vielmals!! – Dingo

Antwort

0

Die Antwort auf diese Frage wird der Code neu anordnen

vsoDoc.close 
appvisio.quit 

'put this at the end instead of beginning 
Set vsoDoc = Nothing 
set AppVisio = nothing