ich möchte gerne zwei Makros einbinden. Leider kenne ich mich damit noch nicht so recht aus und konnte bisher die Lösung noch nicht finden. Daher bin ich für eure Hilfe sehr dankbar.
Im Grunde sollen beide Makros einen Druckbefehl ausführen:
- Es soll eine Schaltfläche eingefügt werden, bei der ein Druckbereich ausgewählt und dieser dann auf den Standarddrucker ausgedruckt wird.
- Eine zweie Schaltfläche soll ebenfalls dynamisch einen Druckbereich auswählen und diesen dann als PDF unter einem bestimmten Namen, der sich aus verschiedenen Inhalten des Domkuments und dem Blattnamen zusammen setzt, gespeichert werden.
Hier mal ein Beispiel:
- Das erste Formular geht von Zelle A1 bis E5
- Das zeite Formular entsprechend von Zelle A6 bis E10
- Jetzt steht in jedem Formular eine Schaltfläche, wenn ich darauf drücke, soll das Formular ausgedruckt werden.
- Im ersten Fall also der Bereich A1 bis E5 und im zweiten Fall A6 bis E10
Ich habe schon hier im Forum gesucht und mir ein Makro für den PDF-Druck raus gesucht, hier mal der Code:
Code: Alles auswählen
REM ***** BASIC *****
sub Store_to_PDF1
Dim aDruckbereich(0)
oCalc = thisComponent
osheets = oCalc.Sheets
'vorhandene Druckbereiche löschen
for i = 0 to osheets.count - 1
osheet = oSheets(i)
osheet.setPrintAreas(Array())
next i
osheet = thisComponent.currentcontroller.activesheet 'hier wird das gerade aktive Tabellenblatt ausgewählt
Filename = oSheet.getCellRangeByName("n1").string 'Zellinhalt auslesen für Dateinamen funktioniert!
sPrintarea = osheet.getCellRangeByName("n2").string 'Zelleninhalt für Druckbereich aus Zelle n2 z.B. c3:g44 auslesen!
oZellRange = oSheet.getCellRangeByName(sPrintarea)
oAdress = oZellRange.RangeAddress
'neuen Druckbereich setzen
aDruckbereich(0) = oAdress
oSheet.setPrintAreas(aDruckbereich())
sUrl = "file:///C:/drucktest/" & Filename & ".pdf" 'Speicherort anpassen
Dim myProps(0) as New com.sun.star.beans.PropertyValue
myProps(0).Name="FilterName"
myProps(0).Value = "calc_pdf_Export"
oCalc.storetoUrl(sUrl,myProps()) 'Speichern
end sub
Ist das irgendwie möglich?
Wäre super, wenn mir da jemand weiter helfen kann

Grüße
Andi
Moderation:
Thema nach OOo Basic und Java verschoben, wo alle Themen zur Basic-Programmierung hingehören.
lorbass, Moderator