2
www.ChF-Online.de  

It's Tool(Tip)-Time (Update)

   Neuigkeiten
   API-Aufrufe in VBA
   VBA2HTML
   Word
   Word-VBA
 Verschiedenes
 Feld-Arbeiten
 Form-Sachen
 Menü-/Symbolleisten
 VBA und Lotus Notes
 VBA und Mail
 Inside VBAIDE
 Von Word nach Outlook
aktiv aktiv Fix-und-Fertiges/Projekte
 Aufgaben in OL eintragen
 Einfacher Dateibrowser
 Formatvorlagen
 Formularfelder sichern
 Formluarfelder formatieren
 Formluarfelder formatieren 2
 Formluarfelder formatieren 3
 Formular-QuickInfos
 Kontextmenü erstellen
 Sicherheitskopien an bel. Orten
 Sicherheitskopien erstellen Word 2007/2010
aktiv  ToolTipps ändern
 Dokumenteigenschaften kopieren
 (Jahres-)Kalender erstellen
 Zeichen-Zähler
   Word2007 (RibbonX)
   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 Word2000Getestet unter WordXP  
VBA-Code verfügbar: nein
Beispiel anzeigen
Makro/Datei speichern
Print

Da hat man mit viel Mühe ein Makro geschrieben, dieses über Extras->Anpassen in eine Symbolleiste eingefügt und evtl. auch den Namen geändert, doch bewegt man die Maus über das Symbol wird als ToolTipp nur der Makroname angezeigt.
Besser geht es demjenigen, der die Symbole gleich per Makro in die Symbolleiste einfügt, da in diesem Fall auch die ToolTipps direkt mitgesetzt werden können. Aber diese Methode ist in den meisten Fälle zu aufwändig.

Die einzige Möglichkeit, die standardmäßig vergebenen ToolTipps zu ändern, ist diese nachträglich durch eigene Beschreibungen zu ersetzen. Dazu muss der jeweilige Symbolleisteneintrag aber zuerst identifiziert werden. Zur Identifikation eines Symbolleisteneintrags werden folgende Inforamtionen benötigt (siehe auch  Symboleisten (I) und (II):

  • der Symbolleistennamen
  • die Position des Eintrags in der Symbolleiste
  • Optional der Typ des Eintrags (Schaltfläche, Auswahlliste...)
  • Optional die ID des Eintrags (ID:=1 für benutzerdefinierte Controls)

Sobald der Symbolleisteneintrag identifiziert ist, und sich somit im Zugriff befindet, können die Eigenschaften des Controls gelesen und (bedingt) geändert werden.

Dim cbar As CommandBar  
Dim ctlbar As CommandBarControl  
Dim sType As String  
Set cbar = CommandBars("Standard")  
Set ctlbar = cbar.Controls(1)  
With ctlbar  
  Debug.Print .OnAction  
  Debug.Print .Typ  
  Debug.Print .Caption  
  Debug.Print .TooltipText  
End With 

Mit diesen Eigenschaften lassen sich fast alle Informationen auslesen. Allerdings steht die OnAction-Eigenschaft nur für benutzerdefinierte Aufrufe und nicht für die internen Befehle zur Verfügung.
Um aber auch das jeweilige Symbol auslesen zu lassen, ist die Hilfe von externen Programm erforderlich, da über das DataObject keine Grafiken in die Zwischenablage kopiert werden können. Diese Einschränkung kann mit einer ActiveX-DLL von  AboutVB umgangen werden. Dazu wird das DataObject-Object um die Eigenschaft der Grafikaufnahme erweitert.
Mit dieser DLL lässt sich für normale Schaltflächen (CommandBarButtons) das Symbol über das DataObject auslesen und z.B. in einem Bildfeld auf der Userform anzeigen.

    Image1.Picture = avbCLP.GetData

Für alle anderen Typen des CommandBarControls steht diese Methode nicht zur Verfügung.

Da der Makroname keine unmittelbare Bedeutung für die eigenen Symbolleisteneinträge besitzt, genügt es, nur die TooltipText-Eigenschaft zu ändern und dem Eintrag zuzuweisen.

Die angebotene Dokumentvorlage kann z.B. als Add-In eingebunden werden und bietet die Möglichkeit, die ToolTipps der Symbolleisteneinträge zu ändern. Dazu wird durch die Dokumentvorlage eine neue Symbolleiste angezeigt, in der nur eine Schaltfläche enthalten ist.

ToolTipps ändern

Über diese Schaltfläche wird ein Dialogfenster geöffnet, in der in einer Auswahlliste alle sichtbaren Symbolleisten aufgelistet werden. Nach der Auswahl einer Symbolleiste werden in einer zweiten Übersicht alle Symbolleisteneinträge angezeigt. Wird ein Eintrag aus dieser Liste angeklickt, werden folgende Informationen (sofern verfügbar) angezeigt:

  • Symbol
  • Typ
  • (interner) Name
  • Makroname/Funktionsname
  • TooltipText

Der TooltipText kann im Eingabefeld geändert und über die Schaltfläche [Ändern] dem Symbolleisteneintrag zugewiesen werden. Allerdings können die ToolTipps nicht bei allen Vorlagen oder Add-Ins auch anschließend gespeichert werden, was an dieser Stelle jedoch nicht weiter berücksichtigt wird.

Update
in der aktuellen Version muss die ActiveX-DLL nicht mehr vorhanden/registriert sein, um die Funktion nutzen zu können. In diesem Fall erfolgt dann allerdings keine Symbolanzeige mehr.


Den Artikel und die Dateien zu der ActiveX-DLL findet Ihr unter:
 http://www.aboutvb.de/vba/artikel/vbaclipboard.htm


 Besucher: 4 online  |  15 heute  |  1354 diesen Monat  |  683071 insgesamt | Seitenaufrufe: 51   Letzte Änderung: 24.06.2006 © 2001-18 Christian Freßdorf
  Das Gehirn ist ein Organ, mit dem wir denken, daß wir denken.
Ambrose Bierce
 powered by phpCMS and PAX