2
www.ChF-Online.de  

Sicherheitskopien an beliebigem Ort speichern (AddIn)

   Neuigkeiten
   API-Aufrufe in VBA
   VBA2HTML
   Word
   Word-VBA
   Word2007 (RibbonX)
 Raster-Dialog integrieren
aktiv aktiv Sicherheitskopien erstellen
   Word2010 (RibbonX)
   Outlook-VBA
   Links zu VB(A)
   DocToHelp
   Netport Express XL
   Astronomie
   Gästebuch
   Volltextsuche
   Sitemap
   Buch:Word-Programmierung
   Impressum & Kontakt
   Datenschutzerklärung
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.


 Besucher: 0 online  |  0 heute  |  0 diesen Monat  |  2227151 insgesamt | Seitenaufrufe: 43   Letzte Änderung: 18.07.2010 © 2001-18 Christian Freßdorf
  Ich stimme nicht notwendiger weise mit allem überein, was ich sage.
Marshall McLuhan, 1911, kanadischer Lehrer
 powered by phpCMS and PAX