Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi OLE WORD Hilfe (https://www.delphipraxis.net/7139-ole-word-hilfe.html)

bundy 3. Aug 2003 18:17


OLE WORD Hilfe
 
Hallo Leute !!
Ich habe ein Worddokument erstellt mit einer Textmarke=Vorname.

Bekomme dann immer Fehler "Schlüsselwort nicht in ..".

Frage , muss ich zu diesem Code noch was ergänzen ?:roll:
Ziel ist, ich will eine Autorechnung in Word ausgeben können.



Delphi-Quellcode:
uses ComObj

...

var Word: Variant;
begin
... //Wordapplication aufrufen
... //Worddocument öffnen
Word.ActiveDocument.FormFields.Item('Vorname').Result:='Hannes';
[edit=sakura]Delphi-Tag geschlossen. Mfg, sakura[/edit]

Alexander 3. Aug 2003 19:51

Re: OLE WORD Hilfe
 
Leider kann ich evtl nur indirekt helfen, weil ich selber kein Word habe. Kuck mal hier:
http://www.tipps.delphi-source.de/COM_OLE_DDE/index.php

bundy 4. Aug 2003 10:19

Re: OLE WORD Hilfe
 
kann mir da keiner helfen !? :roll:

JoelH 4. Aug 2003 13:28

hmm,
 
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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:54 Uhr.

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 by Thomas Breitkreuz