Thema: Delphi OLE WORD Hilfe

Einzelnen Beitrag anzeigen

JoelH
(Gast)

n/a Beiträge
 
#4

hmm,

  Alt 4. Aug 2003, 13:28
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.
  Mit Zitat antworten Zitat