Aktuelle Seite:
/vba/vbpspeichernunterx64.htm
Letzte Änderung: 18.07.2010

Getestet unter Word2007Getestet unter Word2010x86Getestet unter Word2010x64Getestet unter Windows7  
VBA-Code verfügbar: Ja
Beispiel anzeigen
Makro/Datei speichern
Print

Ausgehend vom Artikel  Sicherheitskopien an beliebigem Ort speichern (AddIn), habe ich das Add-In an Word2007 und Word2020 angepasst.

Das alte Add-In für Word2000-Word2003 funktioniert zwar auch unter den neuen Versionen, allerdings werden die Symbolleisten nur noch auf dem Ribbon/Menüband "Entwicklertools" angezeigt.

Für die aktuellen Versionen habe ich neue Ribbon/Menüband-Einträge erzeugt und die notwendigen CallBack-Funktionen angelegt.
Gleichzeitig habe ich die verwendeten APIs (SHBrowseForFolder, siehe auch  Verzeichnis auswählen) an 64-Bit und 32-Bit angepasst, so dass das Add-In auch unter Word2010 64-Bit laufen sollte.

Ribbon-Symbole

Neue Symbole im Ribbon/Menüband "Start"

Symbol zur Ordnerauswahl

Anzeige des Speicher-Ordners als ToolTip

Anzeige der Ordnerauswahl im ToolTip

Als zusätzliche Erweiterung klinkt sich das AddIn in die Befehle Datei speichern und Datei speichern unter ein. Wenn Ihr zusätzlich die Tasten <Strg>+<Shift> drückt, wird ebenfalls eine Sicherungskopie im eingestellten Backup-Ordner erstellt.

Damit sich das Makro nur bei diesen beiden Tasten in den jeweiligen Menübefehl einklinkt, muss trotzdem der entsprechende Befehl abgefangen werden. Mit Hilfe des APIs GetKeyState werden die Tasten <Strg> und <Shift> auf Tastendruck geprüft:

In der CustomUI.xml werden die Einträge für die Gruppe und Symbole definiert:

Code markieren
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="onload">
  <ribbon startFromScratch="false">
    <tabs>
      <tab idMso="TabHome">
        <group id="CHF_saveas" label="Sicherheitskopie speichern" insertBeforeMso="GroupFont">
          <button id="DateiSpeichernUnter" getLabel="DateiSpeichernUnter_getlabel"
            imageMso="SaveAll" size="large" onAction="DateiSpeichernUnter_Callback"
            getScreentip="DateiSpeichernUnter_getTooltip"/>
          <button id="SetFolder" label="Speicherort festlegen" imageMso="LookUp"
            size="large" onAction="SetFolder_Callback" />
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

In den benötigten Callbacks werden dann die "alten" Makros aufgerufen und der ausgewählte Ordner gespeichert bzw. eingelesen.

Über den Aufruf

objRibbon.Invalidate

wird eine Neu-Initialisierung des Ribbons/Menübands angestoßen, in der alle Callbacks aufgerufen werden. In diesem Fall wird dann u.a. das Callback DateiSpeichernUnter_getToolTip ausgeführt und der ToolTip aktualisiert.


 www.chf-online.de/vba/vbpspeichernunterx64.htm © 2001-11 Christian Freßdorf (Zaphod-Systems)