WIR SCHREIBEN KEIN BLECH.
Transcription
WIR SCHREIBEN KEIN BLECH.
WIR SCHREIBEN KEIN BLECH. QOMET-Info: Makros (Seite 1/6) Kopienschablonen mit Makros Unter dem Begriff „Kopienschablonen“ verstehen wir die Möglichkeit, beim Drucken festzulegen, aus welchem Schacht beispielsweise eine Rechnung mit welchem Aufdruck und wie vielen Kopien gedruckt werden soll. Ein Beispiel zur Verdeutlichung: Wir schreiben eine Rechnung. Gedruckt werden soll: • Das Original ohne weiteren Aufdruck auf Briefpapier • Die Kopie mit dem Aufdruck „Kundenmappe“ auf weißem Papier • Die Kopie für die Buchhaltung mit dem Aufdruck „Buchhaltung“ auf weißem Papier Da OpenOffice den Standard-Druckertreiber nutzt, haben wir bei QOMET keine Möglichkeit, den Treiber so zu manipulieren, um das gewünschte Ergebnis direkt zu erhalten. Doch das können wir mit Hilfe von Makros erreichen. So gehen Sie vor: Zunächst einmal muss dem Bericht mitgeteilt werden, dass beim Druck auch entsprechenden Vermerke eingedruckt werden sollen. Öffnen Sie den jeweiligen Bericht und markieren die Stelle, an der Sie den Eindruck wünschen. Nun erstellen Sie unter „Einfügen / Feldbefehl / Andere“ diese neue Variable: Softwareschmiede Höffl GmbH – Saarburger Ring 17 – 68229 Mannheim – Fon: +49/621/4829-310 – Fax: +49/621/4829-399 – E-Mail: [email protected] WIR SCHREIBEN KEIN BLECH. QOMET-Info: Makros (Seite 2/6) Speichern Sie den Bericht ab. Nun erstellen Sie unter „Extras / Makros / Dialoge verwalten“ im Reiter „Module“ eine neue Gruppe, die Sie beliebig benennen können. Über das Schaltfeld „Bearbeiten“ gelangen Sie in den MakroDialog. Löschen Sie alles, was in diesem Fenster steht, und kopieren den kompletten nachfolgenden eingerückten Inhalt in den Dialog. Die mit Zahlen markierten Abschnitte werden nach dem Makro gesondert erläutert. rem -------------------------------------------------------------------rem ----------------RECHNUNG drucken-----------------------------------rem ----------------1 x Buchhaltung, weiß------------------------------rem ----------------1 x Kundenmappe, weiß------------------------------rem ----------------1 x Original, grau---------------------------------sub Rechnung_drucken rem ---------------------------------------------------------------------rem define variables dim document as object dim dispatcher as object dim odocument as object rem ---------------------------------------------------------------------rem define variables für Kopientext Dim Var as String Dim oTextfieldMaster As Object Dim oPropSet as Object Dim oDependentTextFields as Object Dim oXDependentTextField as Object Dim oTextFields as Object rem ---------------------------------------------------------------------rem get access to the document Softwareschmiede Höffl GmbH – Saarburger Ring 17 – 68229 Mannheim – Fon: +49/621/4829-310 – Fax: +49/621/4829-399 – E-Mail: [email protected] WIR SCHREIBEN KEIN BLECH. QOMET-Info: Makros (Seite 3/6) document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") odocument = ThisComponent rem ---------------------------------------------------------------------rem "Kopientext mit "Buchhaltung" ersetzen" rem ---------------------------------------------------------------------On Error Resume Next Var ="com.sun.star.text.FieldMaster.SetExpression."+"KOPIENTEXT" oTextfieldMasters = oDocument.getTextFieldMasters() oPropSet = oTextfieldMasters.getByName(Var) oDependentTextFields = oPropSet.DependentTextFields oXDependentTextField = oDependentTextFields(0) oldValue = oXDependentTextField.Content oXDependentTextField.setPropertyValue("Content", "Buchhaltung") oTextFields = oDocument.getTextFields() oTextFields.refresh() On Error Goto 0 rem ---------------------------------------------------------------------rem ---------Drucken Weiss Buchhaltung-----------------------------------rem ---------------------------------------------------------------------dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = "Printer" args1(0).Value = "Phaser 8560DN-weiß" dispatcher.executeDispatch(document, ".uno:Printer", "", 0, args1()) rem ---------------------------------------------------------------------dim args2(2) as new com.sun.star.beans.PropertyValue args2(0).Name = "CopyCount" args2(0).Value = 1 args2(1).Name = "Collate" args2(1).Value = true ThisComponent.print(args2) rem dispatcher.executeDispatch(document, ".uno:print", "", 0, args2()) wait 1200 rem ---------------------------------------------------------------------rem "Kopientext mit "Kundenmappe" ersetzen" rem ---------------------------------------------------------------------On Error Resume Next Var ="com.sun.star.text.FieldMaster.SetExpression."+"KOPIENTEXT" Softwareschmiede Höffl GmbH – Saarburger Ring 17 – 68229 Mannheim – Fon: +49/621/4829-310 – Fax: +49/621/4829-399 – E-Mail: [email protected] WIR SCHREIBEN KEIN BLECH. QOMET-Info: Makros (Seite 4/6) oTextfieldMasters = oDocument.getTextFieldMasters() oPropSet = oTextfieldMasters.getByName(Var) oDependentTextFields = oPropSet.DependentTextFields oXDependentTextField = oDependentTextFields(0) oldValue = oXDependentTextField.Content oXDependentTextField.setPropertyValue("Content", "Kundenmappe") oTextFields = oDocument.getTextFields() oTextFields.refresh() On Error Goto 0 rem ---------------------------------------------------------------------rem ---------Drucken Weiss Kundenmappe-----------------------------------rem ---------------------------------------------------------------------dim args3(0) as new com.sun.star.beans.PropertyValue args3(0).Name = "Printer" args3(0).Value = "Phaser 8560DN-weiß" dispatcher.executeDispatch(document, ".uno:Printer", "", 0, args3()) rem ---------------------------------------------------------------------dim args4(2) as new com.sun.star.beans.PropertyValue args4(0).Name = "CopyCount" args4(0).Value = 1 args4(1).Name = "Collate" args4(1).Value = true ThisComponent.print(args4()) rem dispatcher.executeDispatch(document, ".uno:print", "", 0, args4()) wait 1200 rem ---------------------------------------------------------------------rem "Kopientext mit " " ersetzen" (leeren) rem ---------------------------------------------------------------------On Error Resume Next Var ="com.sun.star.text.FieldMaster.SetExpression."+"KOPIENTEXT" oTextfieldMasters = oDocument.getTextFieldMasters() oPropSet = oTextfieldMasters.getByName(Var) oDependentTextFields = oPropSet.DependentTextFields oXDependentTextField = oDependentTextFields(0) oldValue = oXDependentTextField.Content oXDependentTextField.setPropertyValue("Content", " ") oTextFields = oDocument.getTextFields() oTextFields.refresh() On Error Goto 0 Softwareschmiede Höffl GmbH – Saarburger Ring 17 – 68229 Mannheim – Fon: +49/621/4829-310 – Fax: +49/621/4829-399 – E-Mail: [email protected] WIR SCHREIBEN KEIN BLECH. QOMET-Info: Makros (Seite 5/6) rem -----------------------------------------------------------------rem ---------Drucken Grau Original-----------------------------------rem -----------------------------------------------------------------dim args5(0) as new com.sun.star.beans.PropertyValue args5(0).Name = "Printer" args5(0).Value = "Phaser 8560DN-grau" dispatcher.executeDispatch(document, ".uno:Printer", "", 0, args5()) rem ---------------------------------------------------------------------dim args6(2) as new com.sun.star.beans.PropertyValue args6(0).Name = "CopyCount" args6(0).Value = 1 args6(1).Name = "Collate" args6(1).Value = true ThisComponent.print(args2()) rem dispatcher.executeDispatch(document, ".uno:print", "", 0, args6()) rem ----------------SPEICHERNDIALOG AUFRUFEN------------------------dispatcher.executeDispatch(document, ".uno:Save", "", 0, Array()) end sub Zu den markierten Bereichen: (1) Verwenden Sie andere Begriffe statt „Kundenmappe“ oder „Buchhaltung“ ersetzen Sie sie an dieser Stelle. (2) Wir haben für die unterschiedlichen Schächte unseres Druckers unterschiedliche Drucker im System hinterlegt („weiß“ druckt auf weißes Papier, während „grau“ aus einem anderen Schacht auf Briefpapier druckt). Verwenden Sie hier Ihre hinterlegten Drucker. (3) Wollen Sie mehr als 1 Kopie drucken, ersetzen Sie „1“ durch die gewünschte Anzahl. (4) das Makro ist so aufgebaut, dass zuerst die Kopien für Buchhaltung und Kundenmappe gedruckt wird. Anschließend wird der „Kopientext“ gelöscht, so dass im Ausdruck für den Kunden keine Bemerkung eingedruckt wird. (5) Falls Sie das Dokument nicht direkt speichern wollen, streichen Sie diese beiden Zeilen. Am besten rufen Sie das Makro auf, indem Sie sich einen Button in einer Symbolleiste definieren, beispielsweise so: Sie erweitern mit der rechten Maustaste die gewünschte Symbolleiste und klicken auf „Symbolleiste anpassen“. Softwareschmiede Höffl GmbH – Saarburger Ring 17 – 68229 Mannheim – Fon: +49/621/4829-310 – Fax: +49/621/4829-399 – E-Mail: [email protected] WIR SCHREIBEN KEIN BLECH. QOMET-Info: Makros (Seite 6/6) Über den Button „Hinzufügen“ wählen Sie in der Spalte „Bereich“ das Makro aus, das Sie in die Leiste integrieren möchten und drücken anschließend auf „Hinzufügen“ und „Schließen“: Mit OK schließen Sie den Dialog. Anschließend sollte die Leiste so aussehen: Den Text können Sie natürlich noch ändern oder ihn durch ein Symbol ersetzen: → Tipp: bei manchen Druckern in Kombination mit unterschiedlichen Betriebssystemen muss man länger suchen, um den richtigen Treiber zu finden, der eine Schachtsteuerung unterstützt. → Hinweis: Dieses Makro steht Ihnen kostenlos zur Verfügung. Sie können es übernehmen oder nach Belieben selbst abändern. Das Erstellen von Makros ist in der OpenOffice-Hilfe recht gut dokumentiert. Ansonsten verweisen wir auch immer wieder gerne auf das ausgezeichnete Forum http://www.openoffice-forum.de/ , wo die Vorgehensweise gut beschrieben ist. Wenn Sie sich die Mühe sparen wollen, erledigen wir das natürlich auch online für Sie im Rahmen einer kostenpflichtigen Dienstleistung. Softwareschmiede Höffl GmbH – Saarburger Ring 17 – 68229 Mannheim – Fon: +49/621/4829-310 – Fax: +49/621/4829-399 – E-Mail: [email protected]