updated:  2024 18. November
published:  2023 06. June

Word

Das Microsoft Office Programm zur Textverarbeitung.

OfficeIntegration

Beim Start von Word erscheint ein Anmeldeformular mit der Aufforderung zur Eingabe von Logindaten. Das Anmeldeformular stammt aus der Datei adxloader.dll. Wenn die in der DLL hinterlegten Makros nicht notwendig sind, kann die OfficeIntegration abgeschaltet werden im «Word-Menuband: Entwicklertools → Gruppe: Add‍-‍Ins → COM Add‍-‍Ins»

Eigenes Menuband in Word

Microsoft nutzt für seine Worddokumente das XML-Format. Öffne ein neues Worddokument und speicher es als Dok1.docm. Um die Struktur eines Worddokuments anzuzeigen, ist es notwendig, die Worddatei in eine ZIP-Datei mit der Erweiterung *.zip umzubenennen also Dok1.docm.zip. Die ZIP-Datei wird geöffnet und es erscheint folgende vereinfacht dargestellte Verzeichnisstruktur:

   
 Dok1.docm.zip/
    ├── _rels
          └── .rels
    ├── docProps
          └── // und weiter Dateien
    ├── word
          └── // und weitere Dateien
    └── [Conten_Types]
   

Um ein eigenes Menuband zu realisieren, muss die Datei .\customUI\customUI.xml angelegt werden.

Datei: ./customUI/customUI.xml

 <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> 
   <ribbon> 
     <tabs> 
       <tab id="CustomTab" label="MyMenu"> 
         <group id="Group1" label="MyGroup1"> 
           <button id="Info1" label="Schalter1" imageMso="Info" onAction="MyMakro01"  visible="true"/>
         </group > 
         <group id="Group2" label="MyGroup2"> 
           <button id="Info2" label="Schalter2" imageMso="Info" onAction="MyMakro02"  visible="true"/>
         </group > 
       </tab> 
     </tabs> 
   </ribbon> 
 </customUI>

Im Weiteren muss die Datei .\_rels\.rels verändert werden. Dazu wird innerhalb des XML-Elements <Relationships> ... </Relationships> folgende Zeile eingefügt:

Datei: ./_rels/.rels

 <Relationships>
	<Relationship ... />
	<Relationship ... />
 	<Relationship Id="rId4" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml" />
 </Relationships>

Ist das erledigt, kann die Zip-Datei geschlossen und wieder umbenannt werden in Dok1.docm.

Schalter belegen

Nun werden die im Menuband MyMenu hinterlegten Schalter mit Funktionen belegt. Öffne die Worddatei und den darin enthaltenen Visual Basic Editor im «Word-Menuband: Entwicklertools → Gruppe: Code → Visual Basic». Die Makros werden im Objekt ThisDocument abgelegt. Das Objekt ist ein spezielles Klassenmodul für das aktuelle Worddokument. Folgender beispielhafter Makrocode kann hinterlegt werden.
 Projektexplorer 
Makrocode

 Private Const VERSION = "20201031"

 Sub MyMakro01(ByVal control As IRibbonControl)
    MsgBox _
        "Beschreibung: " & vbNewLine & _
        "Makro 01 erfolgreich gestartet." & vbNewLine & vbNewLine & _
        "Version:" & vbTab & VERSION & vbNewLine & vbNewLine & _
        "  ", _
        vbOKOnly + vbInformation, "Info"
 End Sub

 Sub MyMakro02(ByVal control As IRibbonControl)
    MsgBox "Uff... geschaft.", vbOKOnly + vbInformation, "Info"
 End Sub

Fast fertig

Das Ganze wird als Word Vorlage mit Makros (*.dotm) unter dem Namen Dok1.dotm gespeichert und Word beendet. Die nun vorhandene Datei Dok1.dotm mit dem Menuband MyMenu kann für alle Worddokumente zur Verfügung gestellt werden, indem es als Vorlagedatei in das STARTUP Verzeichnis: C:\Users\<Benutzername>\AppData\Roaming\Microsoft\Word\STARTUP\ abgelegt wird. Gelegentlich kann es sein, dass das STARTUP Verzeichnis ein anderes ist. Das STARTUP Verzeichnis kann geändert werden in den «Word-Optionen: Erweitert → Allgemein → Dateispeicherorte → Autostart».

Hilfsprogramm

Ein relative einfaches (standalone) Programm zum erstellen eines eigenen Menubandes ist der Office RibbonX Editor.

… schau mal hier
Ribbons
Windows Symbole/Icons für Ribbons
XML Markup-Spezifikation für Ribbons
Stichworte (tags)