Per Makro ein einzelnes Tabellenblatt drucken

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

penti
**
Beiträge: 45
Registriert: Mi, 04.02.2004 18:06
Wohnort: Hanau

Per Makro ein einzelnes Tabellenblatt drucken

Beitrag von penti »

(Gleiche Anfrage ist auch bei Calc eingestellt, weil ich nicht genau weiß, wohin der Beitrag gehört)

Hallo,

ich habe eine Tabelle mit mehreren Tabellenblättern und habe per Makroaufzeichnung erreicht, dass nur die markierten Zellen ausgedruckt werden (funktioniert aber nur direkt bei der Aufzeichnung).
Wenn ich aber das gespeicherte Makro wiederum ausführen lasse, druckt es die ganze Tabelle aus.
Kann jemand helfen?

Mein Makro sieht so aus:

sub Druck_Erg4
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 ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$1:$H$49"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Copies"
args2(0).Value = 1
args2(1).Name = "Collate"
args2(1).Value = true

dispatcher.executeDispatch(document, ".uno:Print", "", 0, args2())

end sub


MfG
penti
Win2000, OpenOffice 3.2
penti
**
Beiträge: 45
Registriert: Mi, 04.02.2004 18:06
Wohnort: Hanau

Re: Per Makro ein einzelnes Tabellenblatt drucken

Beitrag von penti »

Hallo Rainer01,

sorry, vorhin hatte ich vergessen mich anzumelden.
Habe Deine neueste Nachricht gelesen..... und tatsächlich gelingt es mit der Option"nur ausgewählte Tabellen drucken", dass auch nur 1 Tabellenblatt gedruckt wird. Super, Danke für diesen entscheidenden Hinweis.

Obwohl mein konkretes Problem gelöst ist, ist das Phänomen für mich nicht erklärbar, warum das mit der Markierung nicht beim Ausdruck funktioniert.
Da ist wohl der Wurm drin. Oder?
Untenstehendes Makro, das ich nach Deinen Angaben veränderte (hoffentlich fehlerfrei) müsste doch jetzt nur 1 Tabellenseite drucken. Macht es aber nicht, es wird wieder die gesamte Tabelle gedruckt (?).


sub Druck_Erg5
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 ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$1:$H$49"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(2) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Copies"
args2(0).Value = 1
args2(1).Name = "Collate"
args2(1).Value = true
args2(2).Name = "Selection"
args2(2).Value = true

dispatcher.executeDispatch(document, ".uno:Print", "", 0, args2())

end sub



MfG
penti
Win2000, OpenOffice 3.2
Antworten