Serie Druck eines office Document
Moderator: Moderatoren
- Lewi
- 1000 working lines a day
- Beiträge: 830
- Registriert: Di, 07. Feb 2006 14:10
- Wohnort: Hamburg
- Danksagung erhalten: 2 Mal
Word nutzt beim Druck -sofern nichts anderes angegeben - den augenblicklich in Windows gesetzten Standarddrucker.
Um einen anderen Drucker zu setzten, kann innerhalb von Word ein anderer Standarddrucker temporär gesetzt werden:
cOldPrinter := oWord:Activeprinter
oWord:Activeprinter := cPrinter
.....
Vor Beendigung von Word sollte der ursprüngliche Drucker wieder gesetzt werden:
oWord:Activeprinter := cOldPrinter
Gruß, Olaf
Um einen anderen Drucker zu setzten, kann innerhalb von Word ein anderer Standarddrucker temporär gesetzt werden:
cOldPrinter := oWord:Activeprinter
oWord:Activeprinter := cPrinter
.....
Vor Beendigung von Word sollte der ursprüngliche Drucker wieder gesetzt werden:
oWord:Activeprinter := cOldPrinter
Gruß, Olaf
- Lewi
- 1000 working lines a day
- Beiträge: 830
- Registriert: Di, 07. Feb 2006 14:10
- Wohnort: Hamburg
- Danksagung erhalten: 2 Mal
Ich habe das Beispiel mit JazeAge für xBase 1.9 adaptiert:
Ein kompletes Serienbriefbeispiel inkl. Daten und Formatvorlage kann herunter geladen werden:
hier
Code: Alles auswählen
Procedure RunSerienBrief( cDoc, cDat)
Local oWord
Local oDoc
Local wdFormLetters := 0
oWord := CreateObject("Word.Application")
IF Empty( oWord )
MsgBox( "Microsoft Word ist nicht installiert" )
ENDIF
oWord:visible := .T.
oWord:Documents:Add(cDoc )
oDoc := oWord:ActiveDocument
oDoc:MailMerge:MainDocumentType := wdFormLetters
oDoc:MailMerge:OpenDataSource(cDat)
// Natürlich könnte an dieser Stelle jetzt auch automatisch der Druck angestoßen werden
// und anschließend Word beendet werden.
// Ist oWord:visible := .F., kann der Druck auch im Hintergrund erfolgen
// Ein Sleep() ist an dieser Stelle unbedingt erforderlich
// falls der Anwender in Word verbleiben soll!
sleep(200)
// sollte nach dem Druck die Word beendet werden ..
// oDoc:close()
//oWord:quit()
// trennen der ActiveX-Verbindung
oWord:destroy()
oWord := NIL
Return
hier
- Muecke
- 1000 working lines a day
- Beiträge: 623
- Registriert: Di, 24. Okt 2006 7:19
- Wohnort: Samstagern CH
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
- Kontaktdaten:
Hallo zusammen,
ich möchte mich mal bedanken für Euren Einsatz.
So viele Infos und richtige Beispiele bekommt man nur bei Euch.
Auch Tom hat mir ein sehr reichhaltigen Report gegeben.
Olaf hat das was ich suchte.Genial.
Frage an Olaf hab ich doch noch:
Hast da noch ein Typ?
Wenn ich den Seriendruck starte aus Word hab ich folgendes Makro:
Da wird der Drucker für Serie angesprochen.
So muss der Anwender nur noch den Drucker wählen, für den Seriendruck.
Gruss Thomas
ich möchte mich mal bedanken für Euren Einsatz.
So viele Infos und richtige Beispiele bekommt man nur bei Euch.
Auch Tom hat mir ein sehr reichhaltigen Report gegeben.
Olaf hat das was ich suchte.Genial.
Frage an Olaf hab ich doch noch:
Hast da noch ein Typ?
Wenn ich den Seriendruck starte aus Word hab ich folgendes Makro:
Code: Alles auswählen
With ActiveDocument.MailMerge
.Destination = wdSendToPrinter
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
End With
ActiveWindow.Close
So muss der Anwender nur noch den Drucker wählen, für den Seriendruck.
Gruss Thomas
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Klaus,
wie Du sehen kannst, ist bei Thomas eine Mailadresse hinterlegt - darum sieht man unter seinen Postings auch das email-Symbol.
Allerdings wird die email-Adresse nie angezeigt. Man sagt also, dass man eine email senden will und kann diese dann ganz normal (wie bei einer PN) eingeben - nur mit dem Unterschied, dass sie an die hinterlegte Mailadresse geschickt wird.
Attachments kann man dadurch allerdings immer noch nicht senden.
Viele Grüße,
Martin
wie Du sehen kannst, ist bei Thomas eine Mailadresse hinterlegt - darum sieht man unter seinen Postings auch das email-Symbol.
Allerdings wird die email-Adresse nie angezeigt. Man sagt also, dass man eine email senden will und kann diese dann ganz normal (wie bei einer PN) eingeben - nur mit dem Unterschied, dass sie an die hinterlegte Mailadresse geschickt wird.
Attachments kann man dadurch allerdings immer noch nicht senden.
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.