Convertir macro Excel a OooCalc

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
rog
Mensajes: 4
Registrado: Dom Mar 01, 2009 11:10 pm

Convertir macro Excel a OooCalc

Mensaje por rog »

Hola a todos.
Estoy intentando convertir un macro que tenía realizado en Excel para utilizarlo en hojas de OooCalc. Es algo muy sencillito para guardar datos a modo de registro en otro libro .
He estado buscando en guías pero no he sido capaz de encontrar como se convierten todos lo terminos (mi nivel de programación es muy básico).

A continuación os pongo el macro como lo tengo escrito en excel.

Código: Seleccionar todo

Sub NumeroCertificado()

    ' declaro las variables con los datos que voy a pasar de la hoja principal a la auxiliar
    Dim nombre As String
    nombre = Range("B5").Value
    
    Dim apellido As String
    apellido = Range("C5").Value
        
    ' declaro las variables que van a contener los datos que voy a extraer de la hoja auxiliar
    Dim ultimafila As Integer
    Dim certificado As Integer
    
    ' declaro las variables que me servirán para gestionar la conexión con la hoja auxiliar
    Dim xlApp As Excel.Application
    Dim xlLibro As Excel.Workbook
    
    'oculto la ejecución de los siguientes pasos de la macro (no saco en pantalla la hoja auxiliar y sus cambios)
    Application.ScreenUpdating = False
    
    'abro el libro auxiliar (ajustar la ruta)
    Application.Workbooks.Open "D:\Libro2.xlsx"
    
    'activo el libro auxiliar
    Workbooks("Libro2.xlsx").Worksheets("Hoja1").Activate
    
    ' trabajo con la hoja auxiliar:
    ' saco el número de la última fila
    ultimafila = Cells.SpecialCells(xlLastCell).Row
    ' saco el valor de la columna 1 de la última fila (puede cambiarse por la columna que contenga el dato que quiero)
    certificado = ActiveSheet.Cells(ultimafila, 1)
    ' aumento en 1 el valor y lo pongo en la fila siguiente
    ' (podría ponerse cualquier otro valor sin más que pasarlo en una variable)
    ActiveSheet.Cells(ultimafila + 1, 1) = certificado + 1
    ' copio los datos que he almacenado de la hoja principal
    ActiveSheet.Cells(ultimafila + 1, 2) = nombre
    ActiveSheet.Cells(ultimafila + 1, 3) = apellido
    ' guardo los cambios en el libro auxiliar
    ActiveWorkbook.Save
    ' cierro el libro auxiliar
    ActiveWorkbook.Close
    
    ' copio en la hoja principal el número que he extraído (puede variarse la celda)
    Range("A1").Value = certificado + 1

End Sub
sobre todo tengo problemas con los comandos para gestionar la hoja de cálculo auxiliar.
Dim xlApp As Excel.Application
Dim xlLibro As Excel.Workbook

A ver si alguien me puede echar una manita.
Gracias
Responder