Macro para obtener el nombre del Ordenador y grabar un PDF

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
elandriu
Mensajes: 26
Registrado: Lun Oct 05, 2015 3:55 am

Macro para obtener el nombre del Ordenador y grabar un PDF

Mensaje por elandriu »

Hola a todos,

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 )
Última edición por mauricio el Jue Nov 19, 2015 10:43 pm, editado 1 vez en total.
Razón: Usar etiquetas CODE
Libreoffice 4.4.5 - OSX
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Macro para obtener el nombre del Ordenador y grabar un P

Mensaje por mauricio »

Es importante hacer una búsqueda primero, tu pregunta se ha contestado por aca: https://forum.openoffice.org/es/forum/v ... 50&t=11209

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Responder