Thema: Delphi Problem mit Serienbrief

Einzelnen Beitrag anzeigen

chrissy

Registriert seit: 7. Jan 2005
29 Beiträge
 
#1

Problem mit Serienbrief

  Alt 7. Jan 2005, 10:25
Hallo!

habe versucht mir eine prozedur um einen Wordserienbrief zu erstellen zu schreiben, scheiter dabei nur leider kläglich.

meine Prozedur:
Delphi-Quellcode:
procedure Serienbrief(title : TRichEdit; DBQuelle : String; DBFelder : TStringList; VertAbstand, HorAbstand : integer);
var
   word : OLEVariant;
   i : integer;
   SHorAbstand : String;
begin
   try
     word:=GetActiveOleObject('Word.Application');
   except
      try
        word:=CreateOleobject('Word.Application');
      except
        ShowMessage('Microsoft Word kann nicht starten.');
        screen.cursor:=crDefault;
        exit;
      end;
   end;
   word.ActiveDocument.MailMerge.MainDocumentType:=wdFormLetters;
   title.SelectAll;
   title.CopyToClipboard;
   word.Selection.paste;
   word.ActiveDocument.MailMerge.OpenDataSource(DBQuelle, 'SELECT * FROM ["'+DBQuelle+'"]"');
   word.ActiveDocument.MailMerge.EditMainDocument;
   for i:=0 to VertAbstand do
     begin
       word.Selection.TypeParagraph;
     end;
   SHorAbstand:='';
   for i:=0 to HorAbstand do
     begin
       SHorAbstand:=SHorAbstand+' ';
     end;
   for i:=0 to DBFelder.Count-1 do
     begin
       word.Selection.TypeText(SHorAbstand);
       word.ActiveDocument.AailMerge.Fields.Add(Word.Selection.Range, DBFelder.Strings[i]);
       word.Selection.TypeParagraph;
     end;
   word:=unassigned;
end;

Die Fehlermeldung, die ich bekomme, ist, dass "wdFormLetters" unbekannt ist. Habe aber nicht die geringste Idee, woran das liegt...

Funktioniert das so, oder gibt es sinvollere/bessere prozeduren um Daten aus einer Datenbank in einen Serienbrief zu übertragen.

Danke schon mal für baldige antwort.
  Mit Zitat antworten Zitat