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]