Text mittels Checkbox in Word einblenden (VBA, Macros...)?
Hallo zusammen,
ich stehe vor einem (für mich sehr großen) Word-Problem: Ich möchte zwei Checkboxen einfügen (aus der Kategorie Entwicklertools > Steuerelemente > Active X Kontrollkästchen), welche beim Anklicken jeweils einen bestimmten Text anzeigen bzw. wieder ausblenden.
Aus meiner bisherigen Recherche habe ich herausgefunden, dass das wohl durch Macros funktionieren sollte, damit kenne ich mich aber absolut nicht aus und meine bisherigen Versuche, einen Code aus dem Internet einzufügen, sind auch alle fehlgeschlagen.
Wenn sich irgendjemand in der Lage fühlt, mir weiterzuhelfen und einen entsprechenden Code zur Verfügung zu stellen, tausend Dank schon mal im Voraus!!
3 Antworten
VBA ist eine stärke von mir aber in Excel ich versuch das mal in Word:
Private Sub CheckBox1_Click()
If Application.ActiveDocument.CheckBox1.Value = True Then
Application.ActiveDocument.TextBox1 = "Beispieltext"
Else
Application.ActiveDocument.TextBox1.Text = ""
End If
End Sub
Dazu ist noch eine Textbox nötig.
Einen Zeilenumbruch bekommst du in der Textbox mit
TextBox1.Text="Beispieltext" & vbCrLf & "Zweite Zeile" & vbCrLf & vbCrlf & "Absatz"
Aber ich denke eine Textbox ist nicht das ideale. Leider weiß ich nicht wie man einen Textbaustein bennenen und ein und ausblenden kann, das müsste ich mir erst anschauen, wie gesagt VBA ist nur ein Steckenpferd, ich programmiere am liebsten in VB.Net
Du musst bei der Textbox unter Eigenschaften noch Multilne von False auf True stellen. Einfach im Entwurfsmodus rechte Maus auf die Textbox !!!
okay, gibt es auch die Möglichkeit, anstelle des Textfelds eine Tabelle einzufügen, wo die Benutzer des Dokuments noch Dinge eintragen können? Meinetwegen auch dass eine Tabelle aus einem anderen Dokument eingesetzt wird, wenn das funktioniert...?
Ja müsste gehen, habs probiert, eine einzelne Zelle auszublenden.
Tabelle einfügen und diesen Code verwenden, damit wird die 1. Zeile ausgeblendet. Du kannst das VBA Script erweitern, damit alle Zeilen ausgeblendet werden.
Private Sub CheckBox1_Click()
If Application.ActiveDocument.CheckBox1.Value = True Then
ActiveDocument.Tables(1).Rows(1).Select
Selection.Font.Hidden = False
Else
ActiveDocument.Tables(1).Rows(1).Select
Selection.Font.Hidden = True
End If
End Sub
Noch mal mit ganzer Tabelle:
Private Sub CheckBox1_Click()
If Application.ActiveDocument.CheckBox1.Value = True Then
ActiveDocument.Tables(1).Select
Selection.Font.Hidden = False
Else
ActiveDocument.Tables(1).Select
Selection.Font.Hidden = True
End If
End Sub
Eintragen kann man auch was.
Private Sub CheckBox1_Click()
If Application.ActiveDocument.CheckBox1.Value = True Then
ActiveDocument.Tables(1).Select
Selection.Font.Hidden = False
Else
ActiveDocument.Tables(1).Select
Selection.Font.Hidden = True
End If
End Sub

das klappt bei mir aktuell noch nicht. Wenn ich die Checkbox anklicke, wird zwar die Tabelle markiert, aber sonst passiert nichts :(
Die Textbox auf Multiline True stellen in den Eigenschaften. Bei mir sieht das so aus:

Vielen Vielen Dank für die schnelle Hilfe! Es funktioniert! Jetzt habe ich nochmal eine Frage, denn der Text, der erscheinen soll, hat mehrere (Leer)Zeilen und Absätze. Wie setze ich das am Besten um? Ich kann das ja nicht einfach so eintippen, da wo jetzt "Beispieltext" steht...?