Seite 1 von 1

Tabellen in Word Dokumenten [ERLEDIGT]

Verfasst: Do, 16. Aug 2012 18:52
von Koverhage
Ich habe ein Word Dokument mit einer Tabelle 2 Zeilen, 5 Spalten.
Es wird ein Array mit 3 Elementen übergeben, mit dem die Tabelle (zum Test nur die erste Spalte)
gefüllt werden soll.
Dafür habe ich folgenden Code:

Code: Alles auswählen

  nBMCount := oBM:Count()
  nAnzTables := oDoc:tables:count

  if nAnzTables > 0 .and. nAnzElemente > 0
     oTable := oDoc:tables(1)
     msgbox(ValType(oTable))
     msgbox(str(oTable:rows:count())+str(oTable:columns:count()))
     // Hier z.B. fuer ganze Tabelle
//     oTable:Range:Font:Bold := .t.
//     msgbox("huhu: "+str(nAnzTables,2))
     for i:=1 to nAnzElemente
        if i > 2
           oTable:rows:add(i-1)
        endif
        oCell := oTable:Cell(i,1):range
        msgbox("oCell ist: "+ValType(oCell))
        oCell:Font:Bold := .t.
        oCell:Font:Size := 8
        oCell:text := aArray[i,1]
        msgbox("oCell ist: "+ValType(oCell))
        oCell := oTable:Cell(i,2):range
        oCell:range:text := "TEST"
        oCell := oTable:Cell(i,3):range
        oCell:text := aArray[i,3]
     next
  endif
Sobald irgendwas mit oCell gemacht werden soll, stirbt die Xbase Anwendung.

Was mache ich falsch, finde den Fehler nicht.

Re: Tabellen in Word Dokumenten

Verfasst: Do, 16. Aug 2012 21:47
von UliTs
Kann es sein, das in der Zeile

Code: Alles auswählen

        oCell := oTable:Cell(i,2):range
das Range zu viel ist?

Uli

Re: Tabellen in Word Dokumenten

Verfasst: Fr, 17. Aug 2012 8:00
von Koverhage
nein, der muss sein, habe es aber trotzdem mal probiert.
Gleiches Verhalten.

Re: Tabellen in Word Dokumenten

Verfasst: Fr, 17. Aug 2012 9:15
von Koverhage
so geht das jetzt:

Code: Alles auswählen

 if nAnzTables > 0 .and. nAnzElemente > 0
     oTable := oDoc:tables(1)
     // Hier z.B. fr ganze Tabelle
     // oTable:Range:Font:Bold := .t.
     for i:=1 to nAnzElemente
        if i > 2
           oTable:rows:add()
        endif
        oCell := oTable:Cell(i,1):range
//        oCell:Font:Bold := .t.
//        oCell:Font:Size := 8
        oCell:text := aArray[i,1]
        oCell := oTable:Cell(i,2):range
        oCell:text := "TEST"
        oCell := oTable:Cell(i,3):range
        oCell:text := aArray[i,3]
     next
  endif
Das Problem das die Xbase++ Anwendung (ohne LOG) beendet wird, lag an einer nicht definierten Variable
beim Ersetzen von Bookmarks. Nur merkwürdig das dort keine Fehlermeldung kommt.

Re: Tabellen in Word Dokumenten [ERLEDIGT]

Verfasst: Fr, 17. Aug 2012 10:11
von UliTs
Dann war hier

Code: Alles auswählen

oCell:range:text := "TEST"
das "range" zu viel ? :)
Uli

Re: Tabellen in Word Dokumenten [ERLEDIGT]

Verfasst: Fr, 17. Aug 2012 10:29
von Koverhage
nein, würde sagen überflüssig ;-)

Re: Tabellen in Word Dokumenten [ERLEDIGT]

Verfasst: Fr, 17. Aug 2012 13:17
von UliTs
und ich dachte schon falsch :D .
Uli