Kontrollkästchen bei Nichtbenutzung unsichtbar machen

Dieses Thema Kontrollkästchen bei Nichtbenutzung unsichtbar machen im Forum "Microsoft Office Suite" wurde erstellt von L.Faas, 27. Okt. 2008.

Thema: Kontrollkästchen bei Nichtbenutzung unsichtbar machen Hallo ihr da draußen. Ich habe mal wieder eines dieser merkwürdigen Probleme: Ich möchte in einem Word Dokument, in...

  1. Hallo ihr da draußen.
    Ich habe mal wieder eines dieser merkwürdigen Probleme:

    Ich möchte in einem Word Dokument, in ein Formular Kontrollkästchen einbauen.
    Soweit auch kein Problem.
    Kann ich aber irgendeine Möglichkeit (z.B. mit einem Makro) die nicht benötigten Kontrollkästchen verschwinden lassen ?
    So nach dem Motto Haken drin:Kontrollkästchen wird angezeigt,
    kein Haken drin:Konttrollkästchen wird ausgeblendet.

    Ich danke euch schon mal ganz heftig.

    L. Faas
     
  2. Ok, mein Deutsch war auch schon mal besser :-\
    Jetzt in einem besseren Deutsch!

    Hallo ihr da draußen.
    Ich habe mal wieder eines dieser merkwürdigen Probleme:

    Ich möchte in einem Word Dokument, in ein Formular Kontrollkästchen einbauen.
    Soweit auch kein Problem.
    Aber:
    Gibt es irgend eine Möglichkeit (z.B. mit einem Makro) die nicht benötigten Kontrollkästchen verschwinden lassen ?
    So nach dem Motto Haken drin:Kontrollkästchen wird angezeigt,
    kein Haken drin:Konttrollkästchen wird ausgeblendet.

    Ich danke euch schon mal ganz heftig.

    L. Faas
     
  3. Geile Idee! Und wie willst du bei einem ausgeblendeten Kontrollkästchen das Häkchen im Bedarfsfall wieder setzen? ::)
     
  4. Hallo L.Faas,

    man könnte darüber nachdenken: Einer für alle - also mit einem Kontrollkästchen alle anderen sichtbar/unsichtbar machen. Wär das was ?

    Gruß Matjes :)
     
  5. Guten Morgen Ach nee,
    zur Erklärung: Die Kontrollkästchen werden immer beim Starten des Formulars aus der Vorlage mitgeladen.
    Erst wenn kein Haken in ein Kästchen gemacht wird soll das betreffende Kontrollkästchen z.B. vor dem Druckvorgang unsichtbar gemacht werden.
    Denn ein leeres Kontrollkästenchen sieht in einem Druck nicht besonders elegant aus.
    Das die Kästchen irgendwann auch mal angezeigt werden, ist doch logisch.

    Hallo Matjes,
    ich will aber genau die Kästchen ansprechen, in denen kein Haken vorhanden ist.
    Geht das irgendwie.

    Danke
    L.Faas
     
  6. Hallo L.Faas,

    leider kann man die Kontrollkästchen nicht unsichtbar machen - nur löschen. Wenn das Löschen nicht gewünscht ist müßtest du die Vordergrund- und Hintergrundfarbe auf farblos oder weis setzen und den Schatten ausschalten.

    Ich hab dir mal ein makro zusammengestellt, dass die leeren Kontrollkästchen löscht.

    Gruß Matjes
    Code:
    Option Explicit
    
    Sub TestLeereKontrollkaestchenUnsichtbarMachen()
     Dim doc As Document
     Dim oFeld() As InlineShape, oFeldCnt As Long, x As Long
     
    ->dieses Worddokument setzen, d.h. Makro muss im betreffenden dokument liegen.
     Set doc = ThisDocument
     
     Call LeereKontrollkaestchenSuchen(doc, oFeld(), oFeldCnt)
     If oFeldCnt = 0 Then
      MsgBox Keine leeren Checkboxen vorhanden.
      GoTo AUFRAEUMEN
     End If
     
     Call KontrollkaestchenLoeschen(oFeld(), oFeldCnt)
     
    AUFRAEUMEN:
     Set doc = Nothing
     For x = 1 To oFeldCnt: Set oFeld(x) = Nothing: Next
    End Sub
    Private Function KontrollkaestchenLoeschen(oFeld() As InlineShape, oFeldCnt As Long)
    '*** löscht die übergebenen Shapes (aufsteigende ShapeNummerierung vorausgesetzt)
     Dim o As InlineShape, x As Long
     If oFeldCnt > 0 Then
      For x = oFeldCnt To 1 Step -1
       Set o = oFeld(x)
      ->Messagebox kann entfernt werden :-)
       MsgBox _
        Checkbox ist leer ! & vbCrLf & _
        Name der Checkbox:  & o.OLEFormat.Object.Name & vbCrLf & _
        Aufschrift der Checkbox:  & o.OLEFormat.Object.Caption
      ->CheckBox entfernen
       o.Delete
      Next
     End If
    End Function
    Private Function LeereKontrollkaestchenSuchen(doc As Document, oFeld() As InlineShape, oFeldCnt As Long)
    '*** gibt die Shapes der leeren Checkboxen zurück (aufsteigende ShapeNummerierung)
     
     Dim x As Long
     Dim o As InlineShape
     oFeldCnt = 0
     ReDim oFeld(1 To 10)
     
     For x = 1 To doc.InlineShapes.Count
      Set o = doc.InlineShapes(x)
      If o.Type = wdInlineShapeOLEControlObject Then   ->eingebetetes OLE-Element ?
       If o.OLEFormat.ClassType = Forms.CheckBox.1 Then->Checkbox
        If o.OLEFormat.Object.Value = False Then    ->kein Haken in der Checkbox ?
        ->Checkbox merken
         oFeldCnt = oFeldCnt + 1
        ->Merkfeld vergrössern, wenn nötig
         If UBound(oFeld()) < oFeldCnt Then ReDim Preserve oFeld(1 To oFeldCnt + 5)
         Set oFeld(oFeldCnt) = o
        End If
       End If
      End If
     Next
     
    AUFRAEUMEN:
     Set o = Nothing
    End Function
     
  7. Hallo Matjes,
    vielen Dank. :1
    Du hast mir sehr geholfen.
    Wie immer! ;)

    L.Faas
     
Die Seite wird geladen...

Kontrollkästchen bei Nichtbenutzung unsichtbar machen - Ähnliche Themen

Forum Datum
Excel: Mit einem Kontrollkästchen Worksheet "X" öffnen Microsoft Office Suite 11. Juli 2008
Excel: 2 voneinander abhängige Kontrollkästchen Microsoft Office Suite 8. Aug. 2006