Das Hauptproblem mit dem, was Sie dynamisch tun mögen, ist die Schaltfläche, um den Makrocode Verknüpfung ausgeführt werden. Der offensichtlichste Typ der zu verwendenden Schaltfläche ist das Legacy-ActiveX-Steuerelement auf der Registerkarte "Entwickler" der Multifunktionsleiste. Dies erfordert jedoch einen eigenen Prozedureintrag in dem Klassenmodul ThisDocument
des Dokuments. Während es möglich ist, den Modulen "on the fly" Code hinzuzufügen, wird eine Sicherheitsoption deaktiviert.
Ein direkterer Ansatz ist die Verwendung des Feldes MacroButton
. Dies erzeugt einen anklickbaren Text innerhalb des Dokuments. Es kann Text oder eine Grafik angezeigt werden (so dass es wie eine Taste aussieht) und erhält den Namen einer öffentlichen Unter zugewiesen, die keine Parameter:
{ MACROBUTTON NameOfMacro Click here }
Strg + F9, um die Feldcode Klammern einfügen; Alt + F9, um zwischen Feldcode und Feldergebnis zu wechseln.
Grafiken in Word 2010 und später: * Das war eine Änderung der Grafik-Engine in Word 2010, die das Verhalten von Grafikobjekten im Macrobutton Feld beeinflusst. Durch Klicken auf das Objekt wird das Ribbon-Dienstprogramm zum Arbeiten mit Grafiken ausgelöst - der Feldcode "versteckt" die Grafik nicht mehr. Es gibt eine Reihe von Möglichkeiten, wie Sie dieses Problem umgehen können:
Verwenden Sie ein Feld Include (die mit dem alten Grafikformat arbeitet) in einer externen Bilddatei zu bringen. Sobald das verknüpfte Bild in dem Feld ist, kann es in ein statisches Bild umgewandelt werden, indem das IncludePicture-Feld ausgewählt wird und Strg + Shift + F9 gedrückt wird. Word respektiert das alte Grafikformat und das Bild ist anklickbar.
{Macrobutton NameOfMacro {Include "C: \\ Pfad \\ picture.jpg"}}
Verwenden Sie die alte * .doc-Dateiformat. Beachten Sie, dass dies einige der Dinge einschränkt, die mit dem Dokument gemacht werden können, aber es wird die Verwendung der alten Grafik-Engine erzwingen.
- Verwenden Sie anstelle eines MacroButton-Felds das WindowBeforeDoubleClick-Ereignis oder das WindowSelectionChange-Ereignis, um den Code auszuführen.
* Mit Ausnahme der Include Feld Entkoppeln (was ich entdeckte ich), diese Informationen kamen aus this discussion on the Microsoft Answers site
Wenn Sie das Makro mit einem einzigen statt einem Doppelklick (der Standard laufen) Sie müssen die folgende Codezeile ausführen. Dies gilt für die gesamte Word-Anwendung und muss bei jedem Neustart von Word ausgeführt werden. Man konnte es in einem AutoNew
Makro in der Vorlage/AutoOpen
Makro in das Dokument einfügen:
Application.Options.ButtonFieldClicks = 1
Der einfachste Weg, um den gesamten Inhalt, den Sie immer wieder als Baustein ist einfügen wollen speichern (früher als Autotext bekannt).
BuildingBlocks werden in Vorlagen gespeichert.Wenn Ihr Dokument aus einer Vorlage erstellt wird, wäre dies der logische Ort. Eine andere Möglichkeit wäre eine spezielle Vorlage, die Sie für diesen Zweck verwenden. Normal.dotm kann auch verwendet werden, aber bedenken Sie, dass dies manchmal entfernt wird.
(. Hinweis: Wenn Sie eine Vorlage für das Dokument verwenden, das auch der beste Ort wäre, um die Makro Makro-Taste angebracht speichern)
Sobald dies eingerichtet ist, die gesamte Code muss Setzen Sie den BuidlingBlock am Ende des Dokuments ein.
Schauen Sie in das Konzept von BuildingBlocks, um mit zu beginnen. Und schauen Sie sich ein MakroButton-Feld für die Schaltfläche an, da sonst Probleme beim Verknüpfen des Codes mit der Schaltfläche auftreten. –