ich mach dass einfach anders
Delphi-Quellcode:
Procedure WordOeffnen_neu(datei:
string;feldliste :
Array of worduebergabe);
var oV_Word : OleVariant;
wnd_Word : hwnd;
s_WndName:
string;
i : integer;
b_suchen : boolean;
begin
// Diese Funktion übernimmt die Funktion des bisherigen Wordmakros.
try { Word schon geöffnet ? }
oV_Word := CreateOleObject('
Word.Basic');
s_WndName:='
Microsoft Word - ';
b_suchen:=true;
i:=Length(datei);
while (i>1)
and b_suchen
do
if datei[i]='
\'
then b_suchen:=false
else Dec(i);
if not b_suchen
then s_WndName:=s_WndName+Copy(datei, i+1, Length(datei)-i);
wnd_Word:=FindWindowEx(0, 0, '
OpusApp', PChar(s_WndName));
if wnd_Word = 0
then
begin
oV_Word.AppMaximize;
ov_Word.AppShow;
oV_Word.FileOpen(datei);
i := 0;
while (i < length(feldliste))
do
begin
if (ov_word.existingBookmark(feldliste[i].feldname) = -1)
then
begin
ov_word.WW7_EditGoTo(feldliste[i].feldname);
if (trim(feldliste[i].feldvalue) <> '
')
then
ov_word.Insert(feldliste[i].feldvalue)
else
ov_word.Insert('
');
end;
inc(i);
end;
end;
except
ShowMessage('
Es wurde kein WORD gefunden !');
end;
end;
Die Procedure enthält einiges was du eher nicht brauchst aber ich war zu faul das jetzt raus zu löschen.