Comment faire pour n'exporter réellement que la sélection figurant sur une feuille, et non tout le classeur ?
' #FUNCTION# ====================================================================================================================
' Name...........: exportSelectiontopdf
' Description ...: Imprimer une zone d'impression dans un pdf
' Syntax.........: exportSelectiontopdf(FilePath)
' Parameters ....:
' $vValue - Value to add
' Return values .: Success - Void
' Failure - -1, sets @error
' |1 - $avArray is not an array
' |2 - $avArray is not a 1 dimensional array
' Author ........: Alex
' Modified.......: martinbrait - code cleanup
' Remarks .......: Prérequis, une feuille de classeur
' Related .......:
' Link ..........;
' Example .......' Yes
'# Sub testexportselectiontopdf()
'# exportSelectiontopdf("c:\temp\testcalc.pdf")
'# End Sub
' ===============================================================================================================================
Code : Tout sélectionner
Sub exportSelectiontopdf(FilePath)
Dim oFrame as object, oDispatcher as object, oDoc as object, oController as object, oSheet as object
Dim oRange as object, oDispatcherService as object, oSelection as object
Dim aFilterData(0) as new com.sun.star.beans.PropertyValue
Dim props As Variant, propsFiltre As Variant
propsFiltre = CreateProperties(Array("SelectPdfVersion",1 ))
props = CreateProperties(Array("FilterName", "calc_pdf_Export", "FilterData", propsFiltre() ))
oDocument = ThisComponent
oSheet = oDocument.Sheets(0)
oController = oDocument.getCurrentController()
oFrame = oController.getFrame()
oDispatcherService = createUnoService("com.sun.star.frame.DispatchHelper")
oRange = oFirstSheet.getCellRangeByPosition(0, 0, getLastUsedColumn(oSheet), 3)
oController.Select(oRange)
oSelection = ThisComponent.getCurrentController().getSelection()
sURL= ConvertToUrl(FilePath)
oDocument.storeToURL(sURL, props)
End Sub
Sub testexportselectiontopdf()
exportSelectiontopdf("c:\temp\testcalc4.pdf")
End Sub
' #FUNCTION# ====================================================================================================================
' Name...........: exportRangetopdf
' Description ...: Imprimer une zone d'impression, dont l'adresse est indiquée en paramètre
' Syntax.........: exportRangetopdf(FilePath,StartColnum As Integer,EndColnum As Integer,StartRowNum As Integer,EndRowNum As Integer)
' Parameters ....:
' $vValue - Value to add
' Return values .: Success - Void
' Failure - -1, sets @error
' |1 - $avArray is not an array
' |2 - $avArray is not a 1 dimensional array
' Author ........: Alex
' Modified.......: martinbrait - code cleanup
' Remarks .......: Prérequis, une feuille de classeur
' Related .......:
' Link ..........;
' Example .......' Yes
'# Sub testexportselectiontopdf()
'# exportSelectiontopdf("c:\temp\testcalc.pdf")
'# End Sub
' ===============================================================================================================================
Code : Tout sélectionner
Sub exportRangetopdf(FilePath,StartColnum As Integer,EndColnum As Integer,StartRowNum As Integer,EndRowNum As Integer)
Dim oFrame as object, oDispatcher as object, oDoc as object, oController as object, oSheet as object
Dim oRange as object, oDispatcherService as object, oSelection as object
Dim aFilterData(0) as new com.sun.star.beans.PropertyValue
Dim CellRangeAddress As New com.sun.star.table.CellRangeAddress
Dim iEndCol As Integer
Dim aPrintRanges(0) As Object
Dim props As Variant, propsFiltre As Variant
propsFiltre = CreateProperties(Array("SelectPdfVersion",1 ))
props = CreateProperties(Array("FilterName", "calc_pdf_Export", "FilterData", propsFiltre() ))
oDoc = ThisComponent
oSheet = oDoc.Sheets(0)
oController = oDoc.getCurrentController()
oFrame = oController.getFrame()
oDispatcherService = createUnoService("com.sun.star.frame.DispatchHelper")
'oRange = oFirstSheet.getCellRangeByPosition(0, 0, getLastUsedColumn(oFirstSheet), 3)
rem ----------------------------------------------------------------------
CellRangeAddress.Sheet = 0
CellRangeAddress.StartColumn = StartColNum
CellRangeAddress.StartRow = StartRowNum
CellRangeAddress.EndColumn = EndColNum
CellRangeAddress.EndRow = EndRowNum
aPrintRanges(0)=CellRangeAddress
oDoc.Sheets.getByIndex(0 ).setPrintAreas(aPrintRanges())
sURL= ConvertToUrl(FilePath)
'attention, le pdf ne doit pas déjà exister !
oDoc.storeToURL(sURL, props)
End Sub
Sub testexportRangetopdf()
exportRangetopdf("c:\temp\babybel7.pdf",0,1,3,5)
End Sub