Calc Makro Speichern und Zellennamen und 2x Drucken

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

Moderator: Moderatoren

nockel
Beiträge: 5
Registriert: Fr, 08.12.2006 10:56
Kontaktdaten:

Calc Makro Speichern und Zellennamen und 2x Drucken

Beitrag von nockel »

Hallo,

habe mit Excel ein Makro welches unter einem Namen des Zelleninhalts speichert und dann das Dokument automatisch 2x druckt. Leider läuft das Makro bei OpenOffice 3.3 nicht.

Gibt es für OpenOffice ein ähnliches Makro mit den selben Funktionen?
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Calc Makro Speichern und Zellennamen und 2x Drucken

Beitrag von F3K Total »

Ja, gibt es, seid jetzt:

Code: Alles auswählen

Sub S_save_and_print
odoc = thisComponent
sFolderUrl = replace(thiscomponent.url,thiscomponent.title,"")
osheet = odoc.currentcontroller.activesheet
ocell = osheet.getcellrangebyname("A1")
sFileName = ocell.string & ".ods"
sOutputUrl = converttourl(sFolderUrl & sFileName)
dim array()
odoc.storeToURL(sOutputUrl,array)
dim printProp(1) as new com.sun.star.beans.PropertyValue
printProp(0).name = "Wait"
printProp(0).Value = true
printProp(1).name = "CopyCount"
printProp(1).Value = 2
odoc.print(printProp())
End Sub
Das Makro speichert die Datei unter dem Namen, der in Zelle A1 steht, im gleichen Ordner wie das ursprüngliche Dokument ab und schickt es zum Drucker. Der Name des Ausgangsdokumentes bleibt erhalten. Willst Du das Ausgangsdokument umbenennen, ändere die Zeile

Code: Alles auswählen

odoc.storeToURL(sOutputUrl,array)
in

Code: Alles auswählen

odoc.storeAsURL(sOutputUrl,array)
Gruß R
nockel
Beiträge: 5
Registriert: Fr, 08.12.2006 10:56
Kontaktdaten:

Re: Calc Makro Speichern und Zellennamen und 2x Drucken

Beitrag von nockel »

funktioniert.

Supi Danke.
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Calc Makro Speichern und Zellennamen und 2x Drucken

Beitrag von F3K Total »

Hi,
in dem Du hinter die Zeile:

Code: Alles auswählen

ocell = osheet.getcellrangebyname("A1")
diese beiden Zeilen einfügst:

Code: Alles auswählen

oprintsheet = odoc.sheets.getbyname("Tabelle2")
odoc.currentcontroller.activesheet = oprintsheet
Gruß R
Antworten