von UweSch » Fr, 10.02.2006 21:39
Hallo Zusammen,
habe jetzt folgendes Script, welches auch soweit funktioniert:
Es werden im aktuellen Tabellenblatt ausgeblendete Zeilen für den Druck eingeblendet, das Blatt gedruckt und danach werden die Zeilen wieder ausgeblendet. Das Makro wird über eine Schaltfläche angesprochen, die auf jemde meiner Tabellenblätter verfügbar ist.
Sub Duckmakro
rem --------------------------------------------------
rem alle Makro ausfuehren
Einblenden
Drucken
Ausblenden
End Sub
Sub Einblenden
rem --------------------------------------
rem Zeilen einblenden
Dim oDocument As Object, oSheet As Object, oZeile as Object
oDocument=ThisComponent
oSheet=oDocument.currentSelection.getSpreadsheet()
For I = 0 To 8
oZeile=osheet.Rows(I)
oZeile.isvisible=true
Next I
End Sub
sub Drucken
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:PrintDefault", "", 0, Array())
end sub
Sub Ausblenden
rem ---------------------------------------
rem Zeilen ausblenden
Dim oDocument As Object, oSheet As Object, oZeile as Object
oDocument=ThisComponent
oSheet=oDocument.currentSelection.getSpreadsheet()
For I = 0 To 8
oZeile=osheet.Rows(I)
oZeile.isvisible=false
Next I
End Sub
Da ich nun nicht das komplette Tabellenblatt ausdrucken möchte, sondern nur einen gewählten Druckbereich stoße ich an meine Grenzen.
Der Druckbereich sollte also jedesmal für das aktuelle Tabellenblatt ausgewählt werden und nach dem Druck wieder gelöscht werden.
Es soll auch _nur_ das ausgewählte Blatt gedruckt werden.
Da fällt mir noch eine Frage ein. Kann ich per Makro festlegen, dass (wie unter Extras-->Optionen-->Openoffice.org Calc-->Drucken-->Nur ausgewählte Tabellen drucken eingeschaltet wird?
Kann mir hier jemand weiterhelfen?
Danke und gruß,
Uwe
Hallo Zusammen,
habe jetzt folgendes Script, welches auch soweit funktioniert:
Es werden im aktuellen Tabellenblatt ausgeblendete Zeilen für den Druck eingeblendet, das Blatt gedruckt und danach werden die Zeilen wieder ausgeblendet. Das Makro wird über eine Schaltfläche angesprochen, die auf jemde meiner Tabellenblätter verfügbar ist.
Sub Duckmakro
rem --------------------------------------------------
rem alle Makro ausfuehren
Einblenden
Drucken
Ausblenden
End Sub
Sub Einblenden
rem --------------------------------------
rem Zeilen einblenden
Dim oDocument As Object, oSheet As Object, oZeile as Object
oDocument=ThisComponent
oSheet=oDocument.currentSelection.getSpreadsheet()
For I = 0 To 8
oZeile=osheet.Rows(I)
oZeile.isvisible=true
Next I
End Sub
sub Drucken
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:PrintDefault", "", 0, Array())
end sub
Sub Ausblenden
rem ---------------------------------------
rem Zeilen ausblenden
Dim oDocument As Object, oSheet As Object, oZeile as Object
oDocument=ThisComponent
oSheet=oDocument.currentSelection.getSpreadsheet()
For I = 0 To 8
oZeile=osheet.Rows(I)
oZeile.isvisible=false
Next I
End Sub
Da ich nun nicht das komplette Tabellenblatt ausdrucken möchte, sondern nur einen gewählten Druckbereich stoße ich an meine Grenzen.
Der Druckbereich sollte also jedesmal für das aktuelle Tabellenblatt ausgewählt werden und nach dem Druck wieder gelöscht werden.
Es soll auch _nur_ das ausgewählte Blatt gedruckt werden.
Da fällt mir noch eine Frage ein. Kann ich per Makro festlegen, dass (wie unter Extras-->Optionen-->Openoffice.org Calc-->Drucken-->Nur ausgewählte Tabellen drucken eingeschaltet wird?
Kann mir hier jemand weiterhelfen?
Danke und gruß,
Uwe