AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Serienbrief aus Textdatei

Ein Thema von Das S · begonnen am 7. Jun 2005 · letzter Beitrag vom 7. Jun 2005
Antwort Antwort
Das S

Registriert seit: 1. Feb 2004
36 Beiträge
 
#1

Serienbrief aus Textdatei

  Alt 7. Jun 2005, 07:19
Hi,

ich möchte einen Serienbrief mit folgenden Code erstellen:

var vfilenamelevariant;
var amailmerge:Mailmerge;
var vpause:Olevariant;
var vsave:Olevariant;
begin
vfilename:=label1.Caption;
wordapplication1.Connect;
wordapplication1.Documents.OpenOld(vfilename,Empty param,Emptyparam,Emptyparam,Emptyparam,Emptyparam, Emptyparam,Emptyparam,Emptyparam,Emptyparam);
worddocument1.ConnectTo(wordapplication1.ActiveDoc ument);
wordapplication1.Visible:=true;
vpause:=true;
amailmerge:=worddocument1.MailMerge;
amailmerge.Destination:=wdsendtonewdocument;
amailmerge.Execute(vpause);
vsave:=false;
wordapplication1.Documents.Close(vsave,emptyparam, emptyparam);
worddocument1.Disconnect;
wordapplication1.Disconnect;
end;


Das Dokument wird zwar geöffnet aber es erscheint dann die Fehlermeldung "Das angeforderte Objekt ist nicht verfügbar". Diese Meldung tritt dann auf sobald er an die Zeile amailmerge:=worddocument1.mailmerge kommt. Ich habe bald den Eindruck, daß ich zu doof bin, ein Serienbrief in Word 2003 zu erstellen. Kann mir da einer weiterhelfen ?

Vielen Dank
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#2

Re: Serienbrief aus Textdatei

  Alt 7. Jun 2005, 08:29
Hallo,

schau Dir mal die ekRtf Komponente an, die echt Klasse.

Wenn es die nicht sein soll, dann hilft dir der Code hier vielleicht weiter.

Code:
WordApplication1.Disconnect;
  WordDocument1.Disconnect;
  WordApplication1.Documents.OpenOld(WordDoc, emptyParam, emptyParam, emptyParam,
                                              emptyParam, emptyParam, emptyParam,
                                              EmptyParam, emptyParam, emptyParam);
  try
  Data:= ExtractFilePath(Application.ExeName)+'\Temp\SerienTxt.txt';
  WordApplication1.ActiveDocument.MailMerge.MainDocumentType:= wdFormLetters;
  WordApplication1.ActiveDocument.MailMerge.OpenDataSource(Data, emptyParam, emptyParam, emptyParam,
                                               emptyParam, emptyParam, emptyParam,
                                               emptyParam, emptyParam, emptyParam,
                                               emptyParam, emptyParam, emptyParam,
                                               emptyParam, emptyParam, emptyParam);
  WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
  Pause:= true;
  Mail:= WordDocument1.MailMerge;
  Mail.Destination:= wdSendToNewDocument;
  Mail.Execute(Pause);
  except
  end;
  WordDocument1.Close;
  WordDocument1.Disconnect;
  WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
  Bookmark:= 'Akz';
  if WordApplication1.ActiveDocument.Bookmarks.Exists(Bookmark) then
  begin
    R:= WordApplication1.ActiveDocument.Bookmarks.Item(Bookmark).Range;
    R.InsertAfter(Form1.QAkte.FieldByName('AAkz').AsString);
  end;
  Bookmark:= 'Datum';
  if WordApplication1.ActiveDocument.Bookmarks.Exists(Bookmark) then
  begin
    R:= WordApplication1.ActiveDocument.Bookmarks.Item(Bookmark).Range;
    R.InsertAfter(DateToStr(Now));
  end;
  Bookmark:= 'Rubrum';
  if WordApplication1.ActiveDocument.Bookmarks.Exists(Bookmark) then
  begin
    R:= WordApplication1.ActiveDocument.Bookmarks.Item(Bookmark).Range;
    R.InsertAfter(Form1.QAkte.FieldByName('ARubrum').AsString);
  end;
  Bookmark:= 'Kz';
  if WordApplication1.ActiveDocument.Bookmarks.Exists(Bookmark) then
  begin
    QUserSql('Select * From "'+DBPath+DBUserName+'" WHERE BBenutzer Like "'+BenutzerName+'"');
    R:= WordApplication1.ActiveDocument.Bookmarks.Item(Bookmark).Range;
    R.InsertAfter(Form1.QUser.FieldByName('BKz').AsString);
  end;
  WordDocument1.SaveAs(FileName);
  WordApplication1.Visible:= true;
  WordDocument1.Disconnect;
end;
Ich habe dazu die Office-Komponenten verwenden (WordDocument und WordApplication).

Ich hoffe das hilft Dir weiter.
Gruß

Albi
  Mit Zitat antworten Zitat
Das S

Registriert seit: 1. Feb 2004
36 Beiträge
 
#3

Re: Serienbrief aus Textdatei

  Alt 7. Jun 2005, 11:06
Vielen Dank. Jetzt funktioniert es !!!!!!!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf