MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Word
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 10.01.2019, 10:49   #1
el-stefano
Neuer Benutzer
Neuer Benutzer
Standard Word 2010 - VBA erstellen, um Dropdown-Listen anhand des Wertes umzuschalten

Hallo in die Runde,

ich versuche per VBA eine Anweisung zu basteln, welche alle Dropdown-Listen im Dokument simultan bearbeitet, wenn der Titel oder Tag eine bestimmte Zeichenfolge enthält, bspw. "MW".
In diesen Listen gibt es immer 2 Dropdowneinträge mit dem Wert "M" bzw. "W".

Ich möchte nun den Wert als Schalter benutzen, um zwischen den Texten hin- und herschalten zu können.

Ich hatte versucht, mich durch diese Einträge inspririeren zu lassen:
https://www.ms-office-forum.net/foru...d.php?t=307130

Und bin nicht weiter gekommen. Hier das bisschen code, was nach vielen Stunden übrig geblieben ist:

Code:

Sub Dropdown()
    
    Dim CC As ContentControl
    
        
    For Each CC In ActiveDocument.ContentControls
        If CC.Tag Like "mw*" Then
           Set CC.Type = "m"
            Exit For
        End If
    Next
End Sub
Für Inspiration bin ich sehr dankbar!

Ahoi,
Stefan
el-stefano ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.01.2019, 13:10   #2
Gerhard H
MOF Guru
MOF Guru
Standard

Hallo Stefan,

ich hab nicht verstanden, was genau du möchtest: Was genau bedeutet "Dropdown-Listen im Dokument simultan bearbeiten", und was "zwischen den Texten hin- und herschalten"?

Als Einstieg daher zunächst nur ein Beispiel, wie du Inhaltssteuerelement-Kombinationsfelder, die den gleichen Tag haben, "gleichschalten" kannst: Der Wert, den du in einem beliebigen von diesen Elementen wählst, wird auch in die anderen eingetragen:
Code:

Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean)
Dim i As Long
Dim quelltag As String

quelltag = CC.Tag
'nur in Aktion treten bei Steuerelementen mit dem Tag "MW"
If CC.Tag <> "MW" Then Exit Sub

    With ActiveDocument
        For i = 1 To .ContentControls.Count
            
            'nur bei Steuerelementen vom Typ Kombinationsfeld in Aktion treten
            If CC.Type = wdContentControlComboBox Then
                
                'nur beim Tag "MW in Aktion treten"
                If .ContentControls(i).Tag = quelltag Then
                    .ContentControls(i).Range.Text = CC.Range.Text
                End If
            End If
        Next
    End With
End Sub
Wenn dir das nicht weiterhilft, bitte lad ein Musterdokument hoch und erläutere die erwünschten Effekte.
Angehängte Dateien
Dateityp: docm KombinationsfelderGleichschalten.docm (46,4 KB, 0x aufgerufen)

__________________

Gruß
Gerhard
Gerhard H ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.