Makro: Tabelle wechseln ODER "nur" Seite 3 (tabellenübergreifend) drucken

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

Moderator: Moderatoren

oobeginner
Beiträge: 2
Registriert: Do, 24.11.2016 17:48

Makro: Tabelle wechseln ODER "nur" Seite 3 (tabellenübergreifend) drucken

Beitrag von oobeginner »

Hallo zusammen,

ich habe ein Dokument mit drei Tabellen:
1. Übersicht = Übersichtsmaske
2. Ergebnis
3. Datenquelle

Auf Tabelle 1 möchte ich eine Schaltfläche mit einem Makro erstellen, die Tabelle 2 (Ergebnis) ausdruckt.

Über dieses Makro bin ich schon mal soweit dass es klappt:

Code: Alles auswählen

REM  *****  BASIC  *****
Sub Main

End Sub


sub Druck_nurS3
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 = "Nr"
args1(0).Value = 2

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

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$A$1:$V$53"

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

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:PrintDefault", "", 0, Array())

End Sub
Allerdings bleibt dann auch Tabelle 2 offen, und ich möchte, dass wieder Tabelle 1 geöffnet ist.
Wie mache ich das?

Hinweis:

Alternativ wäre auch die Druckeinstellung
"Alle Tabellen" - "aber nur Seite 3" möglich (da Tabelle1 aus 2 Druckseiten besteht).
Wenn ich das Makro allerdings aufzeichne, werden die Druckeinstellungen nicht gespeichert.
Das wäre für mich das allereleganteste, gibts diese Möglichkeit?

Danke für alle Hilfen!

Konrad
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Makro: Tabelle wechseln ODER "nur" Seite 3 (tabellenübergreifend) drucken

Beitrag von Stephan »

z.B. die Ergänzung von:

Code: Alles auswählen

args1(0).Value = 1
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
erledigt das, also:

Code: Alles auswählen

sub Druck_nurS3
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 = "Nr"
args1(0).Value = 2

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

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$A$1:$D$23"

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

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:PrintDefault", "", 0, Array())


args1(0).Value = 1
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())

End Sub 
Für mehr Infos zum DRucken von Tabel schau dir Kapitel:
"13.15.2. Tabellendokumente drucken"

in:
https://www.uni-due.de/~abi070/ooo.html


an.

Gruß
Stephan
oobeginner
Beiträge: 2
Registriert: Do, 24.11.2016 17:48

Re: Makro: Tabelle wechseln ODER "nur" Seite 3 (tabellenübergreifend) drucken

Beitrag von oobeginner »

Vielen Dank - das werde ich die Tage probieren.

DANKE
Antworten