neue Content Controls in Word VBA 2010

Moderator: ModerationP

neue Content Controls in Word VBA 2010

Beitragvon Joschonh » 02. Jun 2017, 11:14

Hallo, ich habe folgendes Problem.
Ich habe ein neues TextInhaltssteuerelement (DropDown) in einem Formular mit 48 Einträgen.
Wie kann ich in VBA feststellen, welches dieser Einträge ich ausgewählt habe, um andere DropDowns auf den gleichen Listindex zu stellen.

Hat jemand eine Idee??
Joschonh
 

Re: neue Content Controls in Word VBA 2010

Beitragvon theoS » 02. Jun 2017, 19:51

in dem du den ContentControl ausliest.
ungefähr so, einmal über die Nummer, einmal über den Titel (geht auch über den Tag)
Code: Alles auswählen
enk = dd1.ContentControls(1).Range.Text
ulk = dd1.SelectContentControlsByTitle("orkus").Item(1).Range.Text
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4924
Registriert: 19. Apr 2008, 00:14

Re: neue Content Controls in Word VBA 2010

Beitragvon Joschonh » 08. Jun 2017, 07:08

Danke für die Antwort. Das ist doch mal was. :D

Aber ich möchte den grade die Grade ausgewählte Stelle auslesen um sie auch in 2 weiteren Controls entsprechend einzustellen.Beispiel:
Ich wähle in Dropdown 1 die Sprache Deutsch aus, die als 7. im Dropdown gelistet ist. Diese 7. Stelle möchte ich in eine Variable übernehmen
und 2 weiteren Dropdowns mitteilen, dass auch sie die Sprache deutsch (7) einstellen sollen.
Bei den Alten Dropdown Feldern habe ich das über die Funktion Dropdown.Listindex =7 gemacht.

Frage: Wie geht sowas bei den content Controls in VBA von Office 2010 bzw. 2013?

Schon mal meinen Dank im voraus.
Gruß Hannes
Joschonh
 

Re: neue Content Controls in Word VBA 2010

Beitragvon theoS » 15. Dez 2019, 23:38

Irgendwie habe ich die Frage damals aus den Augen verloren...
Bin durch eine andere Frage jetzt wieder drauf gestoßen.
Falls doch mal jemand danach suchen sollte wie das geht:

Code: Alles auswählen
Sub dasUndDies()
Dim dd1 As Document: Set dd1 = ActiveDocument
Dim stE1 As ContentControl, stE2 As ContentControl

Set stE1 = dd1.SelectContentControlsByTag("orks").Item(1)
For i = 1 To stE1.DropdownListEntries.Count
 Debug.Print stE1.DropdownListEntries(i).Text
annel = stE1.Range.Text
Next i

Set stE2 = dd1.SelectContentControlsByTag("blurb").Item(1)
For i = 1 To stE2.DropdownListEntries.Count
    If stE2.DropdownListEntries(i).Text = annel Then
    stE2.DropdownListEntries(i).Select
End If
Next i
'Debug.Print stE2.DropdownListEntries.Item

End Sub


Prinzipiell würde ich die Fragestellung aber eher über Querverweise lösen als über Makros.
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4924
Registriert: 19. Apr 2008, 00:14


Zurück zu Word Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste