Erstellen Sie ein Makro für jedes Visio-Dokument
Möchte ich erstellen Sie eine Reihe von Makros und in der Lage sein, um Sie in jeder Visio-Dokument. Ich kenne die Grundlagen der Erstellung eines Makros mit dem "Makro Aufzeichnen Funktion", aber es scheint, dass das makro so aufgezeichnet ist, stehen nur die Visio-Datei. Ich habe gesucht, um zu sehen, wie dies getan werden könnte, aber habe nicht den Erfolg auf, wie dies zu tun. Jede Hilfe würde geschätzt werden.
InformationsquelleAutor racevedo | 2011-08-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meine Lösung ist das speichern meiner Makros in eine Schablone. Solange Sie die Schablone öffnen, der code ist auf die aktive Zeichnung. Nun, wenn ich nur herausfinden, wie man die "buttons" in der Schablone zu aktivieren ein bestimmtes makro...
InformationsquelleAutor Hrothgar
Ich nehme an, Sie meinen, Sie wollen code schreiben, der in einem Visio-Dokument aufruft code geschrieben, in einer anderen Visio-Dokument. Es gibt zwei Möglichkeiten, die ich kenne, tun dies mit VBA.
Die erste ist die Verwendung der ExecuteLine Methode auf ein Document-Objekt. Sie übergeben Sie einfach in eine Zeile des VBA, die Sie anrufen möchten, in das Dokument als string-argument, und der code aufgerufen wird. Das ist wirklich nur gut für das aufrufen von Makros, die keine Argumente annehmen, oder wenn Sie es tun, nur string/Zahl-Argumente.
Der zweite Weg ist, um Ihr Dokument zu speichern (in der Regel vss* Schablone-Datei, wenn Sie die Vorlage shapes mit den Makros), und in jedem anderen Dokument, das Sie gerade legen Sie einen Verweis auf Ihre code-Datei. Dies ermöglicht es der VB-Editor, intellisense und all die Methoden, die Sie aufrufen können, in Ihrem makro-Datei, und macht es möglich, zu passieren, unabhängig von der Art der Argumente, die Ihre Methoden übernehmen können.
Nun, wenn Sie interessiert sind, nur aufrufen/aufrufen einfache Methoden, in einer zentralen Datei über UI-Aktionen, es gibt viele verschiedene Möglichkeiten, dies zu tun. Ordnen Sie Codes zu verschiedenen Formen, dh, wenn die Form bewegt, oder wenn, es würde doppelt geklickt. Dies kann zugewiesen werden in der ShapeSheet-Fenster für eine Form, in der Rubrik Veranstaltungen.
Außerdem kann man die Befehlsschaltflächen oder anderen VBA-Steuerung direkt auf eine Visio-Seite und weisen Sie Ihre Makros auf die Tasten.
Oder Sie können gehen Sie zu Extras->Makros->(Ihre Dokument-name), und es werden mehr dropdowns für jedes Modul im code-Datei, wo Sie anrufen können public subs, die haben keine Argumente.
Oder Sie können eine Symbolleiste (in der pre-Visio-2010) - oder Multifunktionsleisten-Benutzeroberfläche mit Schaltflächen, rufen Sie Ihren code. Aufbau einer toolbar für eine VBA-Lösung ist ein bisschen beschissen, obwohl, aus meiner Erfahrung. Eine Symbolleisten-Schaltfläche rufen Sie code, der in das Dokument, das Sie wollen, um Ihren code handeln. Also lassen Sie uns sagen, Sie haben Ihren code geschrieben und gespeichert in eine VSS-Datei, die jedes mal, wenn ein neues Dokument geöffnet wird, wird eine Methode aufgerufen, fügt eine Symbolleiste für das neue Dokument. Bei der Zuweisung der Codes zu den Tasten auf der Symbolleiste, die Symbolleiste der Annahme, dass der code, den Sie zugewiesen haben, befindet sich in dem neuen Dokument, das Sie geöffnet haben, nicht VSS-Datei. Also, machen Sie Ihre buttons call die VSS-Datei, müssen Sie eine Methode in das neue Dokument verwendet ExecuteLine zu rufen, Ihre eigentlichen code in Ihre VSS-Datei. Dies ist ein Schmerz, weil Sie jetzt Ihre Benutzer verwenden muss, um ein VST-Vorlage-Datei, die Sie bieten, anstatt, theoretisch, verwenden Sie Ihr Werkzeug auf jede Zeichnung, die Sie wollen.
Sorry für die rant, aber Visio ist ziemlich flexibel in Bezug auf, wie Sie code aufrufen, so können Sie wahrscheinlich tun fast alles was Sie wollen.
InformationsquelleAutor Jon Fournier