Home » Tipps & Tricks » COM/OLE/DDE » Word » Word-Dokumente im Hintergrund drucken

Word-Dokumente im Hintergrund drucken

Will man ein Word-Dokument von Word (ab Word 97) drucken lassen und es anschließend sofort wieder freigeben, muss man folgendermaßen vorgehen, damit die Word-Instanz nicht freigegeben wird, bevor der Drucker seinen Auftrag bekommen hat. WordApplication und WordDocument sind die entsprechenden OLE-Server-Komponenten von der Komponentenseite „Server“.

procedure TForm1.PrintDoc(FileName: string);
var VarFileName: OleVariant;
  Background, Append, Range: OleVariant;
begin
  WordApplication1.Connect;
  WordApplication1.Visible:=false;
  VarFileName:=FileName;
  WordApplication1.Documents.Open(VarFileName, EmptyParam, EmptyParam, EmptyParam,
    EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
  WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
  Background:=false;
  Append:=false;
  Range:=wdPrintAllPages;
  WordDocument1.PrintOut(Background, Append, Range);
  WordDocument1.Close;
  WordDocument1.Disconnect;
  WordApplication1.Disconnect;
end;