Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Word-OleObject korrekt schliessen? (https://www.delphipraxis.net/85045-word-oleobject-korrekt-schliessen.html)

Angel4585 23. Feb 2007 09:18

Re: Word-OleObject korrekt schliessen?
 
Also das Problem ist gefunden:

Ich habe im Container das AllowActiveDoc Element auf True, damit das Dokument direkt in dem Container ist und ich alle Möglichkeiten von Word ebenfalls direkt in meinem Programm habe.

Das ist sehr schön und angenehm zu handeln, allerdings tritt eben dieser Fehler auf.

Wenn ich jetzt AllowActiveDoc aus False setze öffnet sich Word extern und ich kann das Dokument dort bearbeiten.
Das find ich nicht schön, da ich dann zurück in mein Programm muss um Das Dokument wieder zu schliessen. Sehr umständlich wie ich finde, Allerdings kommen keine Fehler mehr.

Ist es möglich das der Fehler kommt weil das Fenster und somit auch der Container zu dem Zeitpunkt wo ich Word schliesse nichtmehr sichtbar ist?

ich mach das etwa so:

Delphi-Quellcode:
Word.Open
Form.ShowModal
Word.Close
Edit: :wall: Jop, wenn ich das Word zuerst schliesse und danach mein Formular funzt alles ohne Probleme :wall:

Angel4585 23. Feb 2007 11:29

Re: Word-OleObject korrekt schliessen?
 
OK, scheint doch nicht das Problem gewesen zu sein..
Aber ich weis jetzt was das Problem ist.. ich weis nicht warum oder weshlab.. aber da liegt dem Hund sein Knochen begraben:

Ich erzeuge eine Tabelle. Lasse ich diesen Part weg, dann funktioniert es ohne Probleme.

Das Erzeugen geht mit:
Delphi-Quellcode:
OleContainer1.OleObject.Application.ActiveDocument.Tables.Add(OleObject.Application.ActiveDocument.Range,6,5);
Das Problem ist jetzt.. ich hab keine Ahnung wo das Problem ist :wall:
Ich kann die Tabelle auf jedenfall nicht weglassen, weil sie definitiv da rein muss..

Angel4585 27. Feb 2007 12:57

Re: Word-OleObject korrekt schliessen?
 
Scheinbar lag das problem darin das ich die Tabelle erzeugt habe und dann zwei Borders davon unsichtbar gemaht habe.

Wenn ich diesen code verwende, kommt der Fehler:

vTable.Cell(5,3).Range.Borders.Item(wdBorderLeft). Visible:=False;

Hier funktioniert alles:

vTable.Cell(5,3).Borders.Item(wdBorderLeft).LineSt yle := wdLineStyleNone;

Darauf muss man erstmal kommen :coder2:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:11 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz