Announcement

Collapse
No announcement yet.

Word Tabelle mit daten füllen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Word Tabelle mit daten füllen

    hallo Leute,
    ich hab in einen word dokument eine tabelle (die ist schon vorgegeben) die möchte ich gerne mit werten füllen.
    wie greife ich auf tabelle zu?
    also wie ich auf die text marken zugreife weiss ich schon z.b.

    wordApp.ActiveDocument.FormFields.get_Item(ref o6).Result = temperature;

    aber wie greife ich auf ne tabelle damit ich die zellen befüllen kann ist mir leider ein rätsel.

    kann mir einer vielleicht ein code beispiel posten?

  • #2
    Hallo,

    für diese Aufgabe gibt es mehrere Realisierungswege. Der einfachste "hüpft" von der Startmarke über NextCell immer einen Schritt weiter, so dass Word automatisch eine neue Zeile in der Tabelle anlegt. Außerdem kann das eigene Programm die Tabelle als RTF- oder HTML-Zeichenblock bereits fertig ausgefüllt an eine Textmarke einfügen.

    Deutlich eleganter (und flexibler) ist der Weg, der in dem Artikel »WordML Templates Editor – data visualization using Office 2003 WordML features« vorgestellt wird (siehe http://www.codeproject.com/office/wordml_template.asp).

    Comment


    • #3
      in der folgende Zeile gebe ich mir die anzahl der tabellen in meinen dokument aus:

      string anzahlTab = wordApp.ActiveDocument.Tables.Count.ToString();

      der gibt mir auch die richtige anzahl zurück, also muß der doch die tabelle sehen.
      es muß also eine möglichkeit geben die tabelle direkt anzusprechen

      Word.Table tbl = wordApp.ActiveDocument.Tables.Application.Selectio n.Tables[1];

      habe das so versucht aber es funkz nicht bekomme immer folgende fehlermeldung:

      Das angeforderte Element ist nicht in der Sammlung vorhanden.

      Comment


      • #4
        Hallo,

        normalerweise ist doch mindeestens die 1. Zeile der Tabelle in der Word-Datei (.dot) vorhanden, so dass dort eine normale Textmarke untergebracht werden kann. Somit kann das Programm diese Startmarke gezielt anspringen, um dann das 1. Feld der 1. Zeile der Tabelle auszufüllen. Danach muss man nur noch immer so lange nach rechts ins nächste Feld springen (Word legt dabei automatisch neue Zeilen der Tabelle an), bis alle Daten eingetragen wurden.

        Comment


        • #5
          wie springe ich den in die nächste zelle? habe es mit "\t" versucht aber da macht der ein tabulator in der gleichen zelle

          Comment


          • #6
            Hallo,

            die Word-Methode MoveRight (Selection- bzw. Range-Objekt) springt zur nächsten Zelle der Tabelle. Wenn die letzte Zelle erreicht ist, legt der nächste Aufruf eine neue Zeile an.

            Comment

            Working...
            X