Tenho esta Macro, que funciona perfeitamente para uma área ( 1 página )
Sub ExportarPdf1
Dim document as object
Dim dispatcher as object
Dim PlanImpressao As Object
IrPara "NomeArquivoPDF" : Dim NomeArq As String
NomeArq = ThisComponent.getCurrentSelection().getString()
IrPara "NomeDiretorioPDF" : Dim NomeDir As String
NomeDir = ThisComponent.getCurrentSelection().getString()
DirPasta = NomeDir & "\" & NomeArq & ".pdf"
'=============================================================
PlanImpressao = ThisComponent.Sheets.GetByName("CIs")
intervaloimpressao = PlanImpressao.GetCellRangeByName("B6:T63")
dim aFilterData(0) as new com.sun.star.beans.PropertyValue
aFilterData(0).Name = "Selection"
aFilterData(0).Value = intervaloimpressao
'=============================================================
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = ConvertToURL( DirPasta )
args1(1).Name = "FilterData" : args1(1).Value = aFilterData()
CreateUnoService("com.sun.star.frame.DispatchHelper") _
.executeDispatch(ThisComponent.CurrentController.Frame, ".uno:ExportDirectToPDF", "", 0, args1())
End Sub
E esta é uma SubMacro que a primeira usa:
Sub IrPara ( X As String )
'O############################################################################O
dim args1(0) as new com.sun.star.beans.PropertyValue : args1(0).Name = "ToPoint" : args1(0).Value = X
CreateUnoService("com.sun.star.frame.DispatchHelper") _
.executeDispatch(ThisComponent.CurrentController.Frame, ".uno:GoToCell", "", 0, args1())
End Sub
Meu problema é o seguinte quero salvar em PDF um arquivo mas tem duas páginas de áreas distintas, então eu substitui parte da macro, linhas entre os tracejados, para definir uma área e adicionar a segunda:
Sub ExportarPdf2
Dim document as object
Dim dispatcher as object
Dim PlanImpressao As Object
IrPara "NomeArquivoPDF" : Dim NomeArq As String
NomeArq = ThisComponent.getCurrentSelection().getString()
IrPara "NomeDiretorioPDF" : Dim NomeDir As String
NomeDir = ThisComponent.getCurrentSelection().getString()
DirPasta = NomeDir & "\" & NomeArq & ".pdf"
'=============================================================
IrPara "PrintCI0" : Dim NomeArea As String 'célula com nome de área variável
NomeArea = ThisComponent.getCurrentSelection().getString()
IrPara NomeArea
Execute "DefinePrintArea"
IrPara "PrintCI3"
Execute "AddPrintArea"
'=============================================================
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = ConvertToURL( DirPasta )
args1(1).Name = "FilterData" : args1(1).Value = aFilterData()
CreateUnoService("com.sun.star.frame.DispatchHelper") _
.executeDispatch(ThisComponent.CurrentController.Frame, ".uno:ExportDirectToPDF", "", 0, args1())
End Sub
E esta é uma SubMacro que a, de cima, usa:
Sub Execute ( oQue$ )
CreateUnoService("com.sun.star.frame.DispatchHelper") _
.executeDispatch(ThisComponent.CurrentController.Frame, ".uno:" & oQue & "", "", 0, Array())
End Sub
Porem não dá certo, a geração do arquivo ocorre com todas as planilhas do arquivo.
Aonde estou errando ?