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...

Macro para obtener el nombre del Ordenador y grabar un PDF

Notapor elandriu » Jue Nov 19, 2015 10:33 pm

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   Expandir vistaContraer vista
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
elandriu
 
Mensajes: 26
Registrado: Lun Oct 05, 2015 3:55 am

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

Notapor mauricio » Jue Nov 19, 2015 10:42 pm

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
Avatar de Usuario
mauricio
 
Mensajes: 5878
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados