Text mittels Checkbox in Word einblenden (VBA, Macros...)?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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.

Woher ich das weiß:eigene Erfahrung
amelie802 
Fragesteller
 02.09.2020, 14:51

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...?

2
geri3d  02.09.2020, 15:05
@amelie802

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

1
geri3d  02.09.2020, 15:15
@amelie802

Du musst bei der Textbox unter Eigenschaften noch Multilne von False auf True stellen. Einfach im Entwurfsmodus rechte Maus auf die Textbox !!!

1
amelie802 
Fragesteller
 02.09.2020, 15:26
@geri3d

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...?

2
geri3d  02.09.2020, 15:49
@amelie802

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


1
geri3d  02.09.2020, 16:00
@amelie802

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.

1

Die Textbox auf Multiline True stellen in den Eigenschaften. Bei mir sieht das so aus:

Bild zum Beitrag

Woher ich das weiß:eigene Erfahrung
 - (Computer, programmieren, Microsoft Excel)

Bild zum Beitrag

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
Woher ich das weiß:Hobby
 - (Computer, programmieren, Microsoft Excel)
amelie802 
Fragesteller
 02.09.2020, 16:41

das klappt bei mir aktuell noch nicht. Wenn ich die Checkbox anklicke, wird zwar die Tabelle markiert, aber sonst passiert nichts :(

1
geri3d  02.09.2020, 16:44
@amelie802

komisch bei mit klappt es ich verwende Office 2007

1
amelie802 
Fragesteller
 02.09.2020, 17:00
@geri3d

okay, wie auch immer. Du hast mir so sehr weitergeholfen, ich danke dir von ganzem Herzen!!!

2