Announcement

Collapse
No announcement yet.

Schreibmarke versetzen

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

  • Schreibmarke versetzen

    Hallo,

    ich möchte mit Delphi 6 ein Word-2003-Dokument erzeugen. Was bereits funktioniert, ist folgendes: ich erzeuge einen Text und eine Tabelle und fülle darin einige Zellen aus. Nun möchte ich anschliessend an die Tabelle weiteren Text eingeben. Wenn ich das aber mache, wird der Text in die Tabelle reingeschrieben. Anscheinend muss ich die Schreibmarke (Cursor) zuerst ans Ende der Tabelle setzen - nur: wie mache ich das?
    Hier mein Code:

    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Unknown: IUnknown;
      Result: HResult;
      Doc: _Document;
      S: Selection;
      T: Table;
    begin
    
      //Open MS Word:
      [...]
    
      //Create a new document:
      Word.Documents.Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam);
      Doc := Word.ActiveDocument;
    
      //Write some dummy text into Word:
      S := Word.Selection;
      S.TypeText('Hello World!');
      S.TypeParagraph;
      S.TypeParagraph;
      S.TypeText('And there was a blank line.');
      //Create a dummy table:
      T := Doc.Tables.Add(Word.Selection.Range, 5, 3, EmptyParam, EmptyParam);
      T.Cell(1, 1).Range.Text := 'January';
      T.Cell(1, 2).Range.Text := 'February';
      T.Cell(1, 3).Range.Text := 'March';
      T.Columns.Width := 72; // in points
      //Create dummy text after the table:
      S.TypeText('BBBBBB');
    end;
    Danke für jegliche Hilfe bereits im voraus.

  • #2
    Hallo fuchi!?!
    Versuche es mal mit dieser Funktion.

    function TForm.Schreibmarke_Ende: Boolean;
    var
    lvUnit, lvExtend: OleVariant;
    begin
    Result := True;
    lvUnit := wdStory;
    lvExtend := wdMove;
    Word.Selection.EndKey(lvUnit, lvExtend);
    end;//Schreibmarke

    Gruß
    Ortwin

    Comment

    Working...
    X