Tengo una macro en LibreOffice que me exporta un rango a PDF y me lo guarda en una carpeta de mi ordenador.
Como me gustaría que el documento se pueda abrir en varios Ordenadores, cuando ejecute la macro me encuentre cual es el nombre del Ordenador para que me lo guarde siempre en la misma posición pero de nombre de PC diferente. Si utilizaría Windows no pasaría nada porque va por Unidad de Disco, pero en Linux y en OSX, la ruta incluye el nombre del Ordenador. (El Ordenador es "PC1")
Gracias!
Código:
Código: Seleccionar todo
REM ---EXPORTAMOS A PDF---
Dim oDoc1 As Object
Dim mOpciones(1) As New "com.sun.star.beans.PropertyValue"
Dim sRuta As string
Dim sCelda As String
Dim sHoja As String
Dim oHojaActiva2 As Object
Dim oRango As Object
Dim Args(1) as New com.sun.star.beans.PropertyValue
Dim pFiltro(0) as New com.sun.star.beans.PropertyValue
pFiltro(0).Name = "PageRange"
pFiltro(0).Value = "1"
Args(0).Name = "FilterName"
Args(0).Value = "calc_pdf_Export"
Args(1).Name = "FilterData"
Args(1).Value = pFiltro
'Referencia al documento desde donde se llama la macro
oDoc1 = ThisComponent
REM *****LINUX*****
'sRuta = "/home/PC1/Dropbox/Movimientos/"
'Cambia aquí la hoja donde tomar el nombre
sHoja = "RESUMEN"
'sHoja = dia
'Cambia aquí la celda donde tomar el nombre
sCelda = "A1"
'Establecemos el nombre del filtro, PDF
' mOpciones(0).Name = "FilterName"
' mOpciones(0).Value = "calc_pdf_Export"
'Establecemos los datos del filtro
' mOpciones(1).Name = "FilterData"
' mOpciones(1).Value = mOpcFiltro
'Construimos la ruta correcta, usamos los valores de las variables
sRuta = ConvertToURL( sRuta & oDoc1.getSheets.getByName( sHoja ).getCellRangeByName( sCelda ).getString() & ".pdf" )
'Guardamos el archivo
oDoc1.storeToURL( sRuta, Args )