Preciso de uma macro que exporte arquivos .odt para o formato .pdf.
O código a seguir seria suficiente se não fosse o fato de que os arquivos .odt a serem convertidos são localizados em pastas diferentes e com nomes diferentes. Preciso que a macro seja capaz de exportar cada pdf para a mesma pasta e com o mesmo nome do arquivo .odt que estiver aberto. Ou seja: apenas quero ter uma cópia em pdf para cada arquivo .odt localizados em diversas pastas (mantendo o nome original do arquivo).
sub Exporta_PDF
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = "file:///C:/Users/nomedeusuario/Documentos/teste).pdf"
args1(1).Name = "FilterName"
args1(1).Value = "writer_pdf_Export"
dispatcher.executeDispatch(document, ".uno:ExportDirectToPDF", "", 0, args1())
end sub
Preciso de algo parecido com o código abaixo que funcione no LibreOffice:
sub printPdf(cFile as string)
dim dispatcher as object
cURL = ConvertToURL( cFile )
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
dim args2(0) as new com.sun.star.beans.PropertyValue
cFile = Replace( cFile, "\", "/" )
nPosExtension = InStr( cFile, "." )
cFile = Mid$( cFile, 1, nPosExtension - 1 )
args1(0).Name = "URL"
args1(0).Value = "file:///" + cFile + ".pdf"
args1(1).Name = "FilterName"
args1(1).Value = "writer_pdf_Export"
args2(0).Name = "Hidden"
args2(0).Value = True
oDoc = StarDesktop.loadComponentFromURL(cURL, "_blank", 0, args2())
dispatcher.executeDispatch(oDoc.getCurrentController, ".uno:ExportDirectToPDF", "", 0, args1())
end sub