Hallo,
ich verwende den folgenden Code um ein Word Dokument zu öffnen
und danach den Text aus einem Memo bei einer Textmarke einzufügen.
Den grössten Teil des Codes habe ich hier aus der
DP.
Delphi-Quellcode:
procedure Tfrm_create_result_doc.btn_create_preview_sheetClick(Sender: TObject);
var vWordInstanz, vWordDocument, vBookmarkName, vBookmarkRange : OleVariant;
bWordValid : boolean;
begin
bWordValid := true; // Merker vorbelegen
try
// Aktive Word-Instanz verwenden
vWordInstanz := GetActiveOleObject('Word.Application');
except
try
// Neue Word-Instanz anlegen
vWordInstanz := CreateOleObject('Word.Application');
except
// Beides ist fehlgeschlagen
bWordValid := false;
end;
end;
// Hier ist Word verfügbar
if (bWordValid = true) then
begin
// Instanz sichtbar schalten
vWordInstanz.Visible := True;
// Name des Dokumentes festlegen
vWordDocument := frm_main.startpfad + 'Dokumente\Basis\Muster.doc';
// Dokument öffnen
vWordInstanz.Documents.Open(vWordDocument, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
// Name der Textmarke setzen
vBookmarkName := 'ErweiterungsText_2';
// Prüfen ob die Textmarke vorhanden
if vWordInstanz.Bookmarks.Exists(vBookmarkName) then
begin
vBookmarkRange := vWordInstanz.Bookmarks.Item(vBookmarkName).Range;
// Text bei Textmarke einfügen
vBookmarkRange.InsertAfter(Memo_Lager_1.Text);
end
else
begin
// Fehlermeldung ausgeben
MessageDlg('Innerhalb des Dokumentes kann die Marke "' + string(vBookmarkName) + '" nicht gefunden werden.' + chr(10) +
'Bitte prüfen sie die Dokumentenstruktur.', mtWarning, [mbOK], 0);
end;
end
else
begin
// Fehlermeldung ausgeben
MessageDlg('Die Anwendung konnte nicht auf die Microsoft Word Schnittstelle zugreifen.' + chr(10) +
'Die Vorschau kann nicht erstellt werden.', mtError, [mbOK], 0);
end;
end;
Nun bringt mir die
IDE nach öffnen des WordDokumentes immer eine Exeption
"Die Methode Bookmarks wird vom Automatisierungsobjekt nicht unterstützt"
Die Textmarke existiert.
Ich habe recht wenig mit
OLE gemacht bisher.
Was bitte mache ich denn falsch?
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...