Modificar función VB que abría Excel para ahora abrir Calc

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
Taziki
Mensajes: 2
Registrado: Lun Mar 01, 2021 11:04 am

Modificar función VB que abría Excel para ahora abrir Calc

Mensaje por Taziki »

Hola,
Desde un aplicativo tengo una función creada en VB que me exporta datos de un listado a Excel. Ahora deseamos modificar esa función para que los exporte a Calc de LibreOffice.
El LibreOffice instalado es el 7.1, la función esta en VB, el sistema op es W10.

Esta es la que tenemos actualmente creada para Excel que deseamos modificar para abrir Calc.

Código: Seleccionar todo

Sub LanzaExcelConMacro()
   On Error Resume Next

	Dim aplicacion_excel

        Set aplicacion_excel = CreateObject("Excel.Application")

        Dim filas
	Dim columnas

	filas = UBound(ParamExcel2,1)
	columnas = UBound(ParamExcel2,2)

	Dim i
	Dim j

	Dim libro
	Dim hoja
	Dim celda

	If OFI_ACTION = "Add" Then
		Set libro = aplicacion_excel.Workbooks.Add
	Else
		Set libro = aplicacion_excel.Workbooks.Open ( OFI_FILE )
	End If
        
	Dim ret
	ret="1"
	Set hoja = libro.Sheets(CInt(ret))

	For i = 1 to filas
		For j = 1 to columnas
			Set celda = hoja.Cells(i,j)
                        valor=ParamExcel2(i-1,j-1)
                        If IsDate(valor) Then
                          celda.value = CDate(valor)
                          else If IsNumeric(valor) Then
                                  celda.value =CDbl(valor)
                                    else celda.value = valor
                               End If
                          End If 
                   
		Next
	Next
    
        set celda=hoja.Cells(1,1)
        celda.Select
	
	aplicacion_excel.Run OFI_PROC
        aplicacion_excel.Visible = True

	Set celda = Nothing
	Set hoja = Nothing
	Set libro = Nothing
	Set aplicacion_excel= Nothing
End Sub
Espero puedan ayudarme. Gracias.
OpenOffice 4.1.9 en Windows 10
Taziki
Mensajes: 2
Registrado: Lun Mar 01, 2021 11:04 am

Re: Modificar función VB que abría Excel para ahora abrir Ca

Mensaje por Taziki »

Hola , no he conseguido ni que me abra un calc vacio.. he intentado con esto

Set aplicacion_excel = CreateObject("com.sun.star.ServiceManager")
Set oDesk = oSM.createInstance("com.sun.star.frame.Desktop")
Set wb = oDesk.loadComponentFromURL("private:factory/scalc", "_blank", 0, ParamExcel2)

Pero nada, si por lo menos consiguiera abrir una hoja aunque sea vacía yo ya podría seguir con la guía que tiene vuestro compañero mauricio.

Por favor podrían ayudarme a conseguir solo el poder abrir un calc de libreOffice desde mi función de VB.

Gracias.
OpenOffice 4.1.9 en Windows 10
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Modificar función VB que abría Excel para ahora abrir Ca

Mensaje por Longi »

Buenas!
si en San Google tecleas algo como 'Trabajando con documentos, openoffice' encontrarás una página en la que dice cómo abrir un documento (incluido uno de calc), aunque creo recordar que en el libro de Mauricio dice exactamente lo mismo (tiene pinta de ser el mismo autor).
Un saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Responder