Pflichtfelder in Word-Formularen erstellen: So fordern Sie Benutzer zum Ausfüllen auf
Hier ist ein ausführliches Tutorial, wie Sie in Microsoft Word Pflichtfelder erstellen und Benutzer durch eine Fehlermeldung dazu auffordern, diese auszufüllen.
Da Microsoft Word keine standardmäßige „Pflichtfeld“-Funktion (wie etwa Webformulare) besitzt, nutzen wir hierfür eine Kombination aus Inhaltssteuerelementen und einem kleinen VBA-Skript.
In dieser Anleitung lernen Sie, wie Sie ein Formular so absichern, dass es erst gespeichert oder gedruckt werden kann, wenn alle wichtigen Felder ausgefüllt sind.
Schritt 1: Die Registerkarte „Entwicklertools“ aktivieren
Bevor Sie Formularfelder erstellen können, müssen die Entwicklertools sichtbar sein.
- Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im Menüband (Ribbon).
- Wählen Sie Menüband anpassen.
- Setzen Sie in der rechten Liste ein Häkchen bei Entwicklertools.
- Bestätigen Sie mit OK.
Schritt 2: Formularfelder (Inhaltssteuerelemente) einfügen
Nun fügen Sie die Felder ein, die später als Pflichtfelder fungieren sollen.
- Gehen Sie zur Registerkarte Entwicklertools.
- Klicken Sie in der Gruppe „Steuerelemente“ auf das Symbol Nur-Text-Inhaltssteuerelement (Aa).
- Markieren Sie das eingefügte Feld und klicken Sie auf Eigenschaften.
- Geben Sie im Feld Titel einen Namen ein (z. B. „Nachname“).
- Geben Sie im Feld Tag exakt denselben Namen ein (z. B. „Nachname“). Dies ist wichtig für das spätere Skript.
- Wiederholen Sie dies für alle Felder, die ausgefüllt werden müssen.
Schritt 3: Den VBA-Code für die Pflichtprüfung hinzufügen
Damit Word prüft, ob die Felder leer sind, nutzen wir ein Makro, das vor dem Speichern ausgeführt wird.
- Drücken Sie
ALT + F11, um den VBA-Editor zu öffnen. - Klicken Sie im linken Projekt-Explorer doppelt auf ThisDocument (oder „DiesesDokument“).
- Kopieren Sie den folgenden Code und fügen Sie ihn in das weiße Fenster ein:
Private Sub Document_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim cc As ContentControl
Dim missingFields As String
missingFields = ""
' Prüfe jedes Inhaltssteuerelement
For Each cc In ActiveDocument.ContentControls
' Wir prüfen, ob das Feld den Standard-Platzhaltertext enthält oder leer ist
If cc.ShowingPlaceholderText Then
' Falls das Feld einen Titel hat, fügen wir ihn der Liste hinzu
If cc.Title <> "" Then
missingFields = missingFields & "- " & cc.Title & vbCrLf
End If
End If
Next cc
' Wenn Felder fehlen, zeige eine Meldung und brich das Speichern ab
If missingFields <> "" Then
MsgBox "Bitte füllen Sie die folgenden Pflichtfelder aus, bevor Sie speichern:" & vbCrLf & vbCrLf & missingFields, vbCritical, "Pflichtfelder fehlen"
Cancel = True
End If
End Sub
Schritt 4: Das Formular schützen (optional)
Um zu verhindern, dass Benutzer den restlichen Text des Formulars löschen, können Sie den Schutz aktivieren.
- Gehen Sie auf Entwicklertools > Bearbeitung einschränken.
- Wählen Sie unter Punkt 2 („Bearbeitungseinschränkungen“): Ausfüllen von Formularen.
- Klicken Sie unten auf Ja, Schutz jetzt anwenden.
Schritt 5: Das Dokument richtig speichern
Damit das Makro (die Pflichtfeld-Prüfung) funktioniert, müssen Sie das Dokument in einem speziellen Format speichern:
- Klicken Sie auf Datei > Speichern unter.
- Wählen Sie als Dateityp Word-Dokument mit Makros (.docm) oder Word-Vorlage mit Makros (.dotm).
So funktioniert es in der Praxis:
Wenn ein Benutzer nun versucht, das Dokument zu speichern, ohne die markierten Felder auszufüllen, erscheint automatisch ein Popup-Fenster. Das Speichern wird so lange blockiert, bis alle Felder, die einen Titel im Inhaltssteuerelement haben, ausgefüllt wurden.
Tipp: Kennzeichnen Sie die Felder im Dokument zusätzlich farblich oder mit einem Sternchen (*), damit die Benutzer sofort sehen, welche Felder obligatorisch sind.