Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

ContentControl (WORD) in Excel Zelle schreiben


Betrifft: ContentControl (WORD) in Excel Zelle schreiben von: Mike
Geschrieben am: 26.09.2019 13:51:25

Hallo zusammen,

ich komme einfach nicht weiter.

Ich habe ein WORD Dokument. Darin befinden sich unter anderem ContentControl(1) und ContentControl(2) (Text Steuerlemente).

Aus Word heraus öffne ich eine Exceldatei in der ein Makro gestartet wird. Das Excel Makro holt sich dann aus dem Word Dokument zwei Werte (da ich den Inhalt offensichtlich nicht als Variable direkt übergeben kann). Die stehen in ContentControl(1) und (2).

Ich bekomme es aber nicht hin aus Excel den Inhalt der Contentcontrol auszulesen.

Sub Import()

Dim appWord As Object
Dim DocWord As Object
Dim CC As Object
Dim test As String


Set appWord = GetObject(, "Word.Application")
Set DocWord = appWord.documents(1)
Set CC = DocWord.ContenControl

test = DocWord.CC.ContentControl(1)
Ich habe erstmal probiert den Wert in eine Variable Test zu schreiben aber bekomme es nicht hin. Bis DocWord scheint alles ok aber die Syntax zum ansprechen der CC scheint falsch. Wie ist die korrekte Syntax dazu?

Gruß
Mike

  

Betrifft: AW: ContentControl (WORD) in Excel Zelle schreiben von: Mike
Geschrieben am: 26.09.2019 14:02:22

habe es selbst hin bekommen

Sub Import()

Dim appWord As Object
Dim DocWord As Object
Dim test As String
Dim test1 As String

Set appWord = GetObject(, "Word.Application")
Set DocWord = appWord.documents(1)

test = DocWord.ContentControls(1).Range
test1 = DocWord.ContentControls(2).Range
Wahrscheinlich nicht die eleganteste Lösung aber offensichtlich funktioniert sie.

Gruß
Mike


  

Betrifft: AW: ContentControl (WORD) in Excel Zelle schreiben von: Nepumuk
Geschrieben am: 26.09.2019 14:11:04

Hallo Mike,

kaum schreibt man die Eigenschaften richtig, schon funktioniert's

Sub Import()
    
    Dim appWord As Object
    Dim DocWord As Object
    Dim CC As Object
    Dim test As String
    
    
    Set appWord = GetObject(, "Word.Application")
    Set DocWord = appWord.documents(1)
    Set CC = DocWord.ContentControls
    
    test = CC.Item(1).Range.Text
    
    MsgBox test
    
End Sub

Gruß
Nepumuk


  

Betrifft: AW: ContentControl (WORD) in Excel Zelle schreiben von: Mike
Geschrieben am: 26.09.2019 14:34:32

Hallo Nepumuk,

ich wusste es konnte nichts wildes sein aber wenn man den Fehler dann an anderer Stelle vermutet,
verennt man sich nur zu leicht in die falsche Richtung.

Auf jeden Fall kann ich deinem Post entnehmen, dass ich das CC als .Item(1) etc. ansprechen kann.
Das hilft mir auch schon.

Danke und Gruß
Mike


Beiträge aus dem Excel-Forum zum Thema "ContentControl (WORD) in Excel Zelle schreiben"