Fehler bei Tabelle in Word generieren, wird aber erstellt
#1
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
Top
#2
Hallo,

ändere mal die Word-Konstanten wie zum Beispiel wdWord9TableBehavior in ihren Wert um.
Gruß Stefan
Win 10 / Office 2016
Top
#3
Hallo, :19:

nimm "Dim wdtable As Object". :21:
Top
#4
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#5
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.
Top
#6
Wo Du Recht hast … Wink
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#7
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
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste