Hallo,
ich habe folgendes Problem:
In einer Prozedur (nachfolgend aufgeführt) starte ich Word und dort einen Serienbrief.
Dann erfolgt wieder der DISCONNECT zu Word, wobei allerdings Word selbst offen bleibt. Am Ende erfolgt eine Abfrage mit APPLICATION.MESSAGEBOX, wo etwas geschehen soll, wenn der Serienbriefdruck erfolgreich war.
Der Ablauf sollte sein, das zuerst in Word der Serienbriefdruck durchgeführt werden soll und die Messagebox im Prinzip unter Word liegen sollte. Erst wenn man Word schließt oder mein Delphiprogramm in den Vordergrund holt, soll die Messagebox erscheinen. Z.Zt. sieht es aber so aus, das Word mein Delphiprogramm verdeckt, was auch ok ist, aber die Messagebox auf Word liegt. Und das möchte ich ansich vermeiden.
Hat da jemand einen Rat für mich?
<PRE>
Prozedur .....
try
try
Template := EmptyParam;
NewTemplate := True;
try
Wordapplication.Connect;
except
MessageDlg('Word may not be installed', mtError, [mbOk], 0);
Abort;
end;
Template := EmptyParam;
NewTemplate := False;
ov_filename:=od_documents.FileName;
wordapplication.Documents.Open(ov_filename,
template,template,template,template,template,
template,template,template,template);
{Turn Spell checking of because it takes a long time if enabled and slows down Winword}
WordApplication.Options.CheckSpellingAsYouType := False;
WordApplication.Options.CheckGrammarAsYouType := False;
{verbindung mit dem aktuellen dokument}
WordDocument.ConnectTo(WordApplication.ActiveDocum ent);
Wordapplication.Visible := True;
ov_pause:=true;
aMailMerge:=WordDocument.MailMerge;
aMailMerge.Destination:=wdSendToNewDocument
aMailMerge.Execute(ov_pause);
ov_Save:=false;
WordApplication.Documents.Close(ov_Save,template,t emplate);
WordDocument.Disconnect;
except
on E: Exception do ShowMessage(E.Message);
end;
finally
try
WordApplication.Disconnect;
if application.MessageBox(pchar(SMES_QUESTION_PRINT_S UCCESFULL),
pchar(SCAP_QUESTION),
mb_yesno+mb_defbutton1+mb_iconquestion)=mrYes then begin
......
......
end
except
on e: Exception do pro_err_message(e,'');
end;
end;
</PRE>
ich habe folgendes Problem:
In einer Prozedur (nachfolgend aufgeführt) starte ich Word und dort einen Serienbrief.
Dann erfolgt wieder der DISCONNECT zu Word, wobei allerdings Word selbst offen bleibt. Am Ende erfolgt eine Abfrage mit APPLICATION.MESSAGEBOX, wo etwas geschehen soll, wenn der Serienbriefdruck erfolgreich war.
Der Ablauf sollte sein, das zuerst in Word der Serienbriefdruck durchgeführt werden soll und die Messagebox im Prinzip unter Word liegen sollte. Erst wenn man Word schließt oder mein Delphiprogramm in den Vordergrund holt, soll die Messagebox erscheinen. Z.Zt. sieht es aber so aus, das Word mein Delphiprogramm verdeckt, was auch ok ist, aber die Messagebox auf Word liegt. Und das möchte ich ansich vermeiden.
Hat da jemand einen Rat für mich?
<PRE>
Prozedur .....
try
try
Template := EmptyParam;
NewTemplate := True;
try
Wordapplication.Connect;
except
MessageDlg('Word may not be installed', mtError, [mbOk], 0);
Abort;
end;
Template := EmptyParam;
NewTemplate := False;
ov_filename:=od_documents.FileName;
wordapplication.Documents.Open(ov_filename,
template,template,template,template,template,
template,template,template,template);
{Turn Spell checking of because it takes a long time if enabled and slows down Winword}
WordApplication.Options.CheckSpellingAsYouType := False;
WordApplication.Options.CheckGrammarAsYouType := False;
{verbindung mit dem aktuellen dokument}
WordDocument.ConnectTo(WordApplication.ActiveDocum ent);
Wordapplication.Visible := True;
ov_pause:=true;
aMailMerge:=WordDocument.MailMerge;
aMailMerge.Destination:=wdSendToNewDocument
aMailMerge.Execute(ov_pause);
ov_Save:=false;
WordApplication.Documents.Close(ov_Save,template,t emplate);
WordDocument.Disconnect;
except
on E: Exception do ShowMessage(E.Message);
end;
finally
try
WordApplication.Disconnect;
if application.MessageBox(pchar(SMES_QUESTION_PRINT_S UCCESFULL),
pchar(SCAP_QUESTION),
mb_yesno+mb_defbutton1+mb_iconquestion)=mrYes then begin
......
......
end
except
on e: Exception do pro_err_message(e,'');
end;
end;
</PRE>
Comment