Clever-Excel-Forum

Normale Version: Fehler bei Tabelle in Word generieren, wird aber erstellt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ha((o an alle.

Habe einen etwas kuriosen Fehler.
Ich erstelle aus Excel eine Tabelle in Word via VBA. An der Textmarke "Tabelle". Eigentlich klappt es. Die Tabelle wird generiert. Dennoch bekome ich jedersmal einen "Laufzeitfehler 13: Typen unverträglich". Hat jemand eine Idee was ich falsch mache?

Hier der Code:
"
Dim wdtable As Tables

    dateipfad = "C:\Users\Paul\Documents\Benutzerdefinierte Office-Vorlagen\"
    dateiname = "Vorlage.dotm"
    
    Set wdapp = CreateObject("word.application")
    wdapp.Visible = True
    
    Set wddoc = wdapp.Documents.Open(dateipfad & dateiname)
  
    wddoc.Bookmarks("Tabelle").Select

    'hier erscheint nun der Fehler:
    Set wdtable = wddoc.Tables.Add(Range:=wddoc.Bookmarks("Tabelle").Range, NumRows:=3, NumColumns:=5,  DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed)
"
Würde mich freuen.
Nyn007
Hallo,

ändere mal die Word-Konstanten wie zum Beispiel wdWord9TableBehavior in ihren Wert um.
Hallo, :19:

nimm "Dim wdtable As Object". :21:
Moin!
Den Objekttyp Tables gibt es ja ohnehin nur bei gesetztem Verweis (early binding).
Dann kann man auch direkt 
Dim wdApp As New Word.Application
nehmen und braucht nicht den Umweg über CreateObject().
Daher sollte dann auch die Konstante wdWord9TableBehavior kein Problem darstellen.

Gruß Ralf
Hallo, :19:

also "Tables" ist eine Auflistung - "Table" ein Objekt -. deshalb richtig: :21:


Code:
Dim wdtable As Table

Oder eben Object. "... as Tables" ergibt keinen Sinn.
Wo Du Recht hast … Wink
Jungs (und Mädels)

Ihr seid alle einfach toll. Schnell und gut beantwortet. Zumindest in der Summe.

Lösung:
"Dim wdtable As Object" ist richtig
"Dim wdtable As Table" hat leider nicht funktioniert.

Und der Tipp mit New Word.Application war auch ein toller Tipp. Je weniger Codezeilen um so besser.

Grüße