Aktuelle Seite:
/vba/vbpformularformatieren.htm
Letzte Änderung: 25.02.2011

Getestet unter Word2000Getestet unter WordXPGetestet unter Word2003Einschränkungen unter (Word2007)Einschränkungen unter (Word2010)  
VBA-Code verfügbar: ja
Beispiel anzeigen
Makro/Datei speichern
Print

Achtung
Die bereitgestellte Dokumentvorlage mit den Prozeduren ersetzt eine ganze Reihe von Word-Funktionen, die normalerweise von Word direkt zur Verfügung gestellt werden, in Formularen aber deaktiviert sind.
Daher kann es vorkommen, dass noch nicht alle nachprogrammierten Funktionen unter allen unterstützten Word-Versionen einwandfrei funktionieren. Dies gilt besonders beim Einsatz unter Word 2007 und Word 2010.

Solltet Ihr Fehler finden, schickt mir bitte eine ausführliche Fehlerbeschreibung mit allen getätigten Schritten, damit ich das Problem reproduzieren und beheben kann - Danke!

Neue Version 2.1
Neu hinzugekommen ist in der Version 2.1 die Funktion, die Silbentrennung im Text ein- und auch wieder auszuschalten. Ihr erreicht diese Funktion über das neue Symbol neben der Rechtschreibprüfung!

Sobald in Word der Formularschutz eingeschaltet wird, stehen nicht mehr alle Formatierungsfunktionen zur Verfügung.
In Word2000-2003 ist dann überhaupt keine Formatierung, Rechtschreibprüfung etc. mehr verfügbar, während Word2007 da wenigstens ein paar Formatierungsmöglichkeiten zulässt Microsoft stellt in folgendem KB-Artikel link 211333 eine Übersicht der Einschränkungen bereit, die weitestgehend auch unter Word2007 noch zutreffen.

Aus diesem Grund entstand dieses kleine Add-In, welches einige Formatierungs-Funkionen für Formularfelder bereitstellt.

Achtung
Da das Nachbauen und Synchronisieren der Symbolleisten-Funktionen sich etwas schwieriger als erwartet herausgestellt hat, reduziert sich die Symbolleiste auf die Schaltfläche für den Formularschutz, wenn der Formularschutz deaktiviert wird. Wird der Formularschutz wieder eingeschaltet (ohne Passwort-Abfrage), werden wieder alle Funktionen der Symbolleiste wieder angezeigt.

Folgende Funktionen stehen in der aktuellen Version zur Verfügung:

Funktionen zum Formatieren von Formularfeldern

  • Formularschutz aufheben (die Symbolleiste wird ausgeblendet)
  • Fett, Kursiv, Unterstrichen, Verborgen/Ausgeblendet
  • Großbuchstaben (entspricht dem Durchwechseln per Shift+F3)
  • Hochgestellt, Tiefgestellt
  • Kapitälchen
  • Rechtschreibprüfung durchführen
  • Silbentrennung ein-/ausschalten
  • Nummerierung, Aufzählung
  • Formatvorlage
  • Linksbündig, Zentriert, Rechtsbündig, Blocksatz
  • Schriftgröße, Schriftart, Schriftfarbe
  • Bild einfügen

Im Prinzip funktionieren alle Befehle nach folgendem Schema:

  • Aktuelle Eingabemarkenposition merken
  • Formularschutz aufheben
  • Befehl ausführen
  • Formularschutz setzen

Eine Besonderheit und Schwierigkeit besteht aber darin, den aktuellen Status eines markierten Zeichens oder an der Eingabemarke zu ermitteln und auf der Symbolleiste (Status der Schaltflächen) abzubilden. Word erlaubt es leider nicht, direkt die Eigenschaften aus den gesperrten Funktionsschaltflächen auszulesen, so dass das Makro selbst ermitteln muss, ob ein Bereich markiert ist oder wo die Eingabemarke steht. Anschließend werden der Formatierungsstatus dieses Bereiches ermittet und die Symbolschaltflächen und Auswahllisten für Schriftgröße und -art entsprechend gesetzt.

Auch lässt sich keine Schaltfläche für die Farbauswahl über einen der vorhandenen integrierten CommandBarControls (z.B msoControlGrid) erstellen, so dass an dieser Stelle eine Userform verwendet werden muss, über die eine Farbe ausgewählt werden kann und die gleichzeitig die Farbe des markierten Bereiches (sofern eindeutig) anzeigt.


Weiter >>


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