Delphi i Word

0

Napisałem prostą procedurkę wstawiającą z poziomu delphi tekst i tabele do Worda. Problem jest taki że jak już wstawię tabelę, to nie mogę nic napisać poza tabelą (chciałbym po prostu wpisać coś do tabeli a następnie przejść linię niżej i pisać dalej jakiś tekst już poza tabelą). Wie ktoś jak to zrobić? Mój kod znajduje się poniżej

procedure TForm1.Button1Click(Sender: TObject);
var
   WordApplication, WordDocument: Variant;
begin
   WordApplication := CreateOleObject('Word.Application') ;
   WordDocument := WordApplication.Documents.Add;
   WordApplication.Selection.TypeText('Hello world'+#10) ;
   WordApplication.Selection.TypeText('Hello world') ;



   WordApplication.Selection.Tables.Add(Wordapplication.Selection.Range,3,3);
   WordApplication.Selection.Tables.Item(WordApplication.Selection.Tables.Count).Cell(1,1).Range.Text:= 'text1';

   WordApplication.Selection.Tables.Item(WordApplication.Selection.Tables.Count).Cell(3,2).Range.Text:= 'text2';


   //to się wpisuje w tabelę, a chcialbym, zeby bylo poza tabela
   WordApplication.Selection.TypeText('Hello world') ;

   WordDocument.SaveAs(FileName := 'C:\Doc.Doc', AddToRecentFiles := False) ;
   WordApplication.Quit(False);


end;
0

Ostatnie wywołanie TypeText (to za tabelą) spróbuj zastąpić funkcją InsertAfter. Nie wiem czy pomoże, nie sprawdzałem, bo w tej chwili nie mam jak. Po prostu wyszukałem tę funkcję w manualu Microsoftu.

Odpisz, czy to pomogło, czy nie, a jeśli nie, to czy w ogóle wywołało jakiś efekt... ;)

0

Niestety nie działa - sprawdziłem już wcześniej tę opcję - działanie jest takie samo jak w przypadku typetext - wstawia tekst w tabeli a nie za nią

0

Propozycja: Zarejestruj nowe makro, utwórz tabelę, zapełnij ją tekstem i wyjdź kursorem tekstu z obszaru tabeli. Zatrzymaj makro i przejdź do opcji Narzędzia->Makro->...->Edytuj. Zobacz co word zrobił i przetłumacz sobie z VBA na delphi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1