Hallo liebes Forum,
seit einiger Zeit arbeite ich an einem Makro zum Import von Visio-Zeichnungen (.vsdx-Format) zum Import in ein WORD-Dokument.
Meine Arbeitsumgebung ist: MS Office 2013 und Visio 2013
Es gibt folgendes Problem:
Ich habe erfolgreich einen LINK zu meinen Zeichnungen (Testweise 15 Dokumente mit 1-70 Seiten Inhalt) herstellen können.
Dieser Code funktioniert soweit in der Testumgebung:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | String_Teil_1 = "Visio.Drawing.15 "
String_Teil_2 = Temp_Pfad
String_Teil_3 = "Drawing\\~"
String_Teil_4 = Temp_String_1
String_Teil_5 = " \a \p"
String_Link = (String_Teil_1 & Chr(34) & String_Teil_2 & Chr(34) & " " & _
Chr(34) & String_Teil_3 & String_Teil_4 & Chr(34) & String_Teil_5)
Set Temp_Field = ActiveDocument.Fields.Add(Range:=Selection.Range, _
Type:=wdFieldLink, Text:=String_Link, PreserveFormatting:= False )
|
Im Folgenden bin ich mal ein bisschen verrückt gewesen und habe mal alle 144 Visio-Zeichnungen importieren wollen.
....was soll ich sagen, es ging nicht.
Bei meiner Analyse zu dem Problem bin ich darauf gestoßen, dass mein Makro zu jeder Visio-Zeichnung einen neuen Prozess im TASK-Manager öffnet aber nicht wieder schließt
Bei ca. 50 "VISIO.exe *32" Prozessen steigt mein Programm dann aus.
Meine LINK-Variable habe ich so definiert:
Meine Finale frage ist jetzt:
Habt ihr einen Ansatz, wie ich nach dem Einfügen aller Visio-Seiten eines Visio-Dokumentes den hierfür geöffneten Prozess beenden kann?
(Am besten wäre es ohne direkt auf den Windows-Prozess schreiben)...ist aber auch egal...Hauptsache es klappt.
Versucht habe ich es hiermit:
1 2 3 4 5 | With Temp_Field
.Quit
End With
Set Temp_Field = Nothing
|
...leider ohne Erfolg...bei ".Quit" bekomme ich die Meldung, dass diese Anweisung nicht unterstützt wird.
.Unlink-Methode ist auch nicht die Lösung, da die Feldfunktionen erhalten bleiben sollen.
Ich hoffe ich konnte mein Problem einigermaßen klar darlegen und bin in froher Erwartung toller Vorschläge.
Liebe Grüße aus Hamburg
Andreas
|