Migrar codigo de Microsoft Excel VBA al OpenOffice

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
davinosky
Mensajes: 1
Registrado: Mar Ene 28, 2014 7:52 pm

Migrar codigo de Microsoft Excel VBA al OpenOffice

Mensaje por davinosky »

Hice un documento de Microsoft Excel con VBA y quiero migrar al OpenOffice y que mi código funcione normal. :geek:

¿Cómo puedo migrar un codigo de Microsoft Excel VBA al codigo de OpenOffice VB? ¿Hay mucha diferencia entre ambos códgos? :crazy:

Ejemplo de mi código:

Código: Seleccionar todo

    Sub Módulo2
    Sub Esconde_filas()
      '
      ' Esconder todas las filas que sean domingo
      If MsgBox("¿Desea eliminar los DOMINGOS?", vbYesNo + vbCritical, "Atención") = 6 Then
          Dim x As Integer
         
          For x = 11 To 41
              Range("C" & x).Select
              Selection.NumberFormat = "[$-F800]dddd, mmmm dd, yyyy"
              If (Range("L" & x).Value > 6) Then
                  Range("L" & x).Select
                  Selection.EntireRow.Hidden = True
              Else
                  Range("L" & x).Select
                  Selection.EntireRow.Hidden = False
              End If
          Next x
          Range("C11").Select
         
          MsgBox "Listo"
     
      End If
      End Sub
     
      Public Sub Reset()
      '
      ' Resetear valores y volver a mostrar todos los días
     
      If MsgBox("¿Seguro que desea restablecer las celdas?", vbYesNo + vbQuestion, "Advertencia") = 6 Then
          Dim fila, col, x, z As Integer
         
         
          Busca_Encargado
         
          'For z = 3 To 9
          '   Range("C" & z) = ""
          'Next z
         
          For x = 11 To 41
              Range("C" & x).Select
              Selection.NumberFormat = "[$-F800]dddd, mmmm dd, yyyy"
              Range("L" & x).Select
              Selection.EntireRow.Hidden = False
              Range("D" & x) = ""
              Range("E" & x) = ""
              Range("H" & x) = ""
              If Range("L" & x).Value = 8 Then
                  Selection.EntireRow.Hidden = True
              End If
          Next x
          Range("C11").Select
         
          'Buscar el plan
          Range("I43").Value = ""
          For fila = 11 To 27
              If Range("AC" & fila).Value = Range("C4").Value Then
                  For col = 30 To 41
                      If Cells(10, col) = Range("C8").Value Then
                          Range("I43").Value = Cells(fila, col).Value
                      End If
                  Next col
              End If
          Next fila
         
          Range("D46").Value = ""
          Range("C11").Select
     
          MsgBox "Listo"
     
      End If
     
      End Sub
     
      Public Function Busca_Encargado()
      'Buscar Encargado de tienda
      Dim c As Integer
     
      For c = 11 To 26
          If Range("C4").Value = Range("P" & c).Value Then
              Range("C6").Value = Range("Q" & c).Value 'Asigna el nombre del encargado'
              Range("B1").Value = Range("O" & c).Value 'Asigna el numero de la columna de la tienda'
          End If
      Next c
     
      End Function
     
      Public Sub Plan_diario()
      'Asignar el Plan del día por grupo - Curiosa!'
     
      Dim col, fil, x, y As Integer
     
      col = Range("B1").Value
     
      For fil = 11 To 42
          For x = 11 To 375
              If Cells(fil, 3) = Cells(x, 46) Then
                  Cells(fil, 4) = Cells(x, col) * Range("I43").Value
              End If
          Next x
      Next fil
     
      End Sub
     
    End Sub
davinosky
Apache Open Office 3.4.1
Windows XP Proffesional - SP3
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Migrar codigo de Microsoft Excel VBA al OpenOffice

Mensaje por fornelasa »

Hola....
Hablando de un 100%, para migrar codigo VBA a codigo ooBasic, según yo el 10% sería facil hacerlo y un 90% sería complicado, obvio entre mas lineas tenga el codigo VBA mas dificil será migrarlo a ooBasic.

Sugiero subir el archivo de Excel para ver que hace tu codigo y conforme haya tiempo de los participantes poco a poco irlo traduciendo a ooBasic.

Hasta donde yo sé, no existe ninguna aplicacion en el mercado que lo haga automaticamente.

Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
ifanlo
Mensajes: 420
Registrado: Lun Mar 30, 2009 10:32 am

Re: Migrar codigo de Microsoft Excel VBA al OpenOffice

Mensaje por ifanlo »

Hola, davinosky!

Lo mejor sería que estudiases a partir de la guía de nuestro compañero Mauricio: http://www.universolibre.org/node/8.

Pero entiendo que eso se haga cuesta arriba si tan sólo se trata de una necesidad puntual. Entonces, quizás te sea útil como guía rápida de migración el documento VbaStarBasicXref (http://www.docshut.com/knyiyx/vbastarbasicxref.html). Es bastante antiguo y quizás esté algo obsoleto en algún apartado, pero es breve y va al grano.

Saludos,
Ismael Fanlo

*ifanlo - soluciones libres* http://ifanlo.com
- Consultoría en migraciones a software libre
- Soporte ofimático online
- E-learning
- Formación informática presencial
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: Migrar codigo de Microsoft Excel VBA al OpenOffice

Mensaje por SLV-es »

Aquí encontrarás también información: http://wiki.open-office.es/Recursos_Basic

Saludos
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
Responder