Programmierung unter AOO/LO (StarBasic, Python, Java, ...)
Moderator: Moderatoren
JtfF
**
Beiträge: 25 Registriert: So, 24.03.2013 08:32
Beitrag
von JtfF » Di, 23.04.2013 13:49
Keine Ahnung wieso immer das ganze Sheet abgespeichert wird. Es gibt keiner Fehlermeldung. Wenn ich die Werte der CellRange verändere gibt es auch keine Änderung, immer wird das ganze Sheet abgespeichert. Ich benötige aber nur den Teil (I5:J12)
Code: Alles auswählen
sub PDF_Druck
DocX = thisComponent ' Variablen deklarieren
DocY = thisComponent
SheetX = DocX.sheets(0) ' das erste Tabellenblatt
Dim ArgX(0) as new com.sun.star.beans.PropertyValue
Dim ArgY(1) as new com.sun.star.beans.PropertyValue
Controller = DocY.CurrentController
CellRange = SheetX.getCellRangeByName("Timetable.I5:J12")
Controller.select(CellRange)
CellX = SheetX.getCellByPosition(0,0)
ValueX = CellX.value ' ...Wert auslesen zum Steuern des Dateinamens
CellY = SheetX.getCellByPosition(1 + ValueX,0)' Dateiname wird ausgelesen
ArgX(0).Name = "Selection"
ArgX(0).Value = CellRange
ArgY(0).Name = "FilterName"
ArgY(0).Value = "calc_pdf_Export"
ArgY(1).Name = "FilterData"
DocX.storeToURL "file://Users/q/Desktop/" & CellY.getString() & ".pdf",ArgY()
end sub
Danke und
LG Josef
Dateianhänge
test.ods
(20.76 KiB) 61-mal heruntergeladen
F3K Total
********
Beiträge: 3724 Registriert: Mo, 28.02.2011 17:49
Beitrag
von F3K Total » Di, 23.04.2013 22:23
Hi,
versuche es mal so:
Code: Alles auswählen
sub PDF_Druck REM = = = = = = = = = = = = = = = = = = =
oDoc = thisComponent ' Variablen deklarieren
oSheet = oDoc.sheets(0) ' das erste Tabellenblatt
Dim ArgY(0) as new com.sun.star.beans.PropertyValue
Dim oPrintAreas(0)
oController = oDoc.CurrentController
ocontroller.activesheet = osheet
'Druckbereich setzen
oPrintRange = osheet.getCellRangeByName("Timetable.I5:J12")
oPrintAreas(0) = oPrintRange.RangeAddress
osheet.setprintAreas(oPrintAreas)
CellX = oSheet.getCellByPosition(0,0)
ValueX = CellX.value ' ...Wert auslesen zum Steuern des Dateinamens
CellY = oSheet.getCellByPosition(ValueX,1)' Dateiname wird ausgelesen
msgbox CellY.getString
ArgY(0).Name = "FilterName"
ArgY(0).Value = "calc_pdf_Export"
surl = converttourl("file://Users/q/Desktop/")
oDoc.storeToURL (surl & CellY.getString() & ".pdf",ArgY())
end sub REM = = = = = = = = = = = = = = = = = = = = = =
Gruß R
JtfF
**
Beiträge: 25 Registriert: So, 24.03.2013 08:32
Beitrag
von JtfF » Mi, 24.04.2013 09:42
Werde mir das reinziehen um herauszufinden wie das genau funktioniert.
Vielen Dank!
JtfF
**
Beiträge: 25 Registriert: So, 24.03.2013 08:32
Beitrag
von JtfF » Di, 07.05.2013 13:44
Da es sich um ein komplexeres WorkSheet handelt hatte ich auch noch ähnliche Fehler "dazugewonnen!"
Unter "Kann Druckbereich nicht verändern!" Di, 30.04.2013 16:47 wurde mir dann geholfen. Allerdings erklärt das noch immer nicht das die Cellrange in diesem Fall bei mir nicht funktionierte. Da ich aber eine Lösung erhalten habe danke ich recht herzlich, man kann "CellRange funktioniert nicht?" als beendet erklären. Danke.