Conexion Visual Basic 6 y OpenOffice Base

Discute sobre las herramientas de la base de datos
Responder
javi10823
Mensajes: 1
Registrado: Mar Dic 01, 2009 2:59 pm

Conexion Visual Basic 6 y OpenOffice Base

Mensaje por javi10823 »

Hola buenos días,

Necesito saber si es posible conectarse desde Visual Basic 6 a OpenOffice Base para manipular una base de datos .ODB. Insertar, consulta, eliminar registros. Crear tablas e índices. Es decir, Manejar completamente una base de datos ODB. ¿Existe algún controlador para windows?
OpenOffice 3.1 en Windows XP
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: CONEXION VISUAL BASIC 6 y OPEN OFFICE BASE

Mensaje por mauricio »

Hola...

Puedes conectar a OpenOffice.org, con lo que tienes acceso a TODO el API de el, por ejemplo_

Código: Seleccionar todo

  'Creamos una instancia del administrador de servicios
  Set oSM = CreateObject("com.sun.star.ServiceManager")
  'Creamos una instancia del servicio Desktop
  Set oEscritorio = oSM.createInstance("com.sun.star.frame.Desktop")
  'Creamos un nuevo documento Calc en blanco
  Set oArchivo = oEscritorio.loadComponentFromURL("private:factory/scalc", "_blank", 0, arg())
Ya conectado a OOo, puedes acceder a las bases de datos registradas y hacer lo que quieras con ellas. Preparate, te esperan muchas horas de estudio.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
PetePtr
Mensajes: 1
Registrado: Lun Sep 20, 2010 6:32 pm

Re: CONEXION VISUAL BASIC 6 y OPEN OFFICE BASE

Mensaje por PetePtr »

Buen día Mauricio, te felicito por tus aportes, tiempo para una comunidad (open office) no lucrativa, excelente, sigue así.
Apenas ayer (lunes 19/09/2010) que por casualidad conoci el open office, estaba navegando en internet buscando unas versiones de prueba del office 2010, viendo foros y en un apartado de FAQ, mencionaron Open Office y decidi echarle un vistazo, me parecio genial, practicamente mi interes en este momento es en OOo Base, actualmente desarrollo sistemas usando vb6 y SQL.
He estado buscando como conectar una base de datos OOoBase con VB6, vi el string que utilizas que hace referencia primero a la hoja de cálculo y después a la base.
Mi solicitud es: Necesito una conexion directa a la base de datos.

Si me puedes orientar por donde buscar te lo agradezco.

Muchas gracias por tu tiempo
Atte. Pedro Hdz
Coahuila.mx
Open Office.org 3.2.1 (espa??ol), Windows XP SP3 (Ingles)
Jugalde
Mensajes: 2
Registrado: Jue Ago 04, 2011 12:59 am

Re: CONEXION VISUAL BASIC 6 y OPEN OFFICE BASE

Mensaje por Jugalde »

Mauricio gracias por tus valiosos aportes. La verdad me han servido de mucho para crear rutinas de conexion con el sistema de Quickbooks.
Vi tu publicacion de la rutina para conectar Visual Basic con OpenOffice y al depurar me dice que el arg ()) no ha sido declarado.
Estoy utilizando el Visual Basic 10 Express Edition
He consultado tu manual de Programacion en OpenOffice y no encontre nada al respecto
Libre Office 3.3
Jugalde
Mensajes: 2
Registrado: Jue Ago 04, 2011 12:59 am

Re: CONEXION VISUAL BASIC 6 y OPEN OFFICE BASE

Mensaje por Jugalde »

Mauricio investigando me encontre esta rutina pero me da error en que el numero de indices no es igual al declarado
Necesito su ayuda

Sub Main()

Dim oSM 'Root object for accessing OpenOffice from VB
Dim oDesk, oDoc As Object 'First objects from the API
Dim arg() 'Ignore it for the moment !

'Instanciate OOo : this line is mandatory with VB for OOo API
oSM = CreateObject("com.sun.star.ServiceManager")
'Create the first and most important service
oDesk = oSM.createInstance("com.sun.star.frame.Desktop")

'Create a new doc
oDoc = oDesk.loadComponentFromURL("private:factory/swriter", "_blank", 0, arg())
'Close the doc
oDoc.Close(True)
oDoc = Nothing

'Open an existing doc (pay attention to the syntax for first argument)
oDoc = oDesk.loadComponentFromURL("file:///D:/test.ods", "_blank", 0, arg())
'Save the doc
Call oDoc.storeToURL("file:///c:/dev/ooo/test.ods", arg())
'Close the doc
oDoc.Close(True)
oDoc = Nothing
End Sub
Libre Office 3.3
maosaguitt
Mensajes: 1
Registrado: Mar Nov 15, 2011 1:13 pm

Re: CONEXION VISUAL BASIC 6 y OPEN OFFICE BASE

Mensaje por maosaguitt »

aqui te envio el programa corregido
Sub Main()

Dim oSM 'Root object for accessing OpenOffice from VB
Dim oDesk, oDoc As Object 'First objects from the API
Dim arg() 'Ignore it for the moment !

'Instanciate OOo : this line is mandatory with VB for OOo API
oSM = CreateObject("com.sun.star.ServiceManager")
'Create the first and most important service
oDesk = oSM.createInstance("com.sun.star.frame.Desktop")

'Create a new doc
oDoc = oDesk.loadComponentFromURL("private:factory/swriter", "_blank", 0, arg)
'Close the doc
oDoc.Close(True)
oDoc = Nothing

'Open an existing doc (pay attention to the syntax for first argument)
oDoc = oDesk.loadComponentFromURL("file:///D:/test.ods", "_blank", 0, arg)
'Save the doc
Call oDoc.storeToURL("file:///c:/dev/ooo/test.ods", arg)
'Close the doc
oDoc.Close(True)
oDoc = Nothing
End Sub
openoffice 3.3 en windows xp
LGU
Mensajes: 4
Registrado: Mar Sep 27, 2016 8:17 am

Re: Conexion Visual Basic 6 y OpenOffice Base

Mensaje por LGU »

Buenas noches,
Alguien me puede indicar como accesar a BASE desde Microsoft Visual Basic 6 (todo lo que encuentro es ejemplos de basic, mas no de MSVB6)
Muchas gracias por la ayuda
OpenOffice 4.1.2 en Windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Conexion Visual Basic 6 y OpenOffice Base

Mensaje por mauricio »

El ejemplo que estas viendo en este tema, lo hice con VB6...

solo por curiosidad... ¿por que seguir usando un lenguaje tan viejo...?

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
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Conexion Visual Basic 6 y OpenOffice Base

Mensaje por fornelasa »

Así es coincido, como tal VB6 es un lenguaje viejo, dice la wikipedia que la ultima versión estable fue del año 1998 y MS dió soporte del programa hasta el 2008. Aunque la pagina oficial de MS dice que dará soporte hasta el 2024, (It will be supported at least through 2024 (the runtime))
https://visualstudio.uservoice.com/foru ... oved-versi

Sin ser un experto en este tema me permito hacer unas anotaciones:

1) Recordemos que VB6 evolucionó a VisualBasic.Net y ahora forma parte de Visual Studio 2015
2) De cierta manera pudiera decirse que la version más reciente de Visual Basic 6 es Visual Studio 2015 (tiene VB.Net)
3) Visual Studio 2015 es el IDE que incluye varios lenguajes de programación entre ellos Visual Basic.Net, Java, PHP, Visual Studio Tools For Office y C++
4) Dicen los que saben sobre este tema que Visual Studio 2015 es una maravilla.
5) El gran problema como todos sabemos es el costo del programa, las licencias son carisimas y parece que no se pueden piratear :mrgreen:
6) Y como tambien dicen los que saben, habiendo tanto lenguaje bueno y gratis para programar como Python, Ruby, Java, .... pues ......


Bueno, sirva lo anterior (según yo) como cultura general.

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!
LGU
Mensajes: 4
Registrado: Mar Sep 27, 2016 8:17 am

Re: Conexion Visual Basic 6 y OpenOffice Base

Mensaje por LGU »

mauricio escribió:El ejemplo que estas viendo en este tema, lo hice con VB6...

solo por curiosidad... ¿por que seguir usando un lenguaje tan viejo...?

Saludos
OpenOffice 4.1.2 en Windows 7
LGU
Mensajes: 4
Registrado: Mar Sep 27, 2016 8:17 am

Re: Conexion Visual Basic 6 y OpenOffice Base

Mensaje por LGU »

Disculpen, soy nuevo en esto y mande la respuesta vacia.

Mauricio: tengo que usar el sistema en ese lenguaje pues actualizarlo por ahora es muy costoso, por lo que primero vamos a quitar MSOffice.

Estoy tratando de ejecutar el codigo que esta en este foro, pero tengo problemas con la varia arg de este metodo oDesk.loadComponentFromURL

me dice que no es del mismo tipo

Gracias
OpenOffice 4.1.2 en Windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Conexion Visual Basic 6 y OpenOffice Base

Mensaje por mauricio »

Abre un nuevo tema con tu pregunta, poniendo exactamente el ćodigo que estas usando...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
LGU
Mensajes: 4
Registrado: Mar Sep 27, 2016 8:17 am

Re: Conexion Visual Basic 6 y OpenOffice Base

Mensaje por LGU »

Estimados, anduve rebuscando en la web y con eso pude completar el codigo para que funcione.

Se los dejo por si alguien mas ocupa:

Código: Seleccionar todo

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Main()
    End Sub

    Sub Main()
        'pagina que esta buena para ejemplos
        'https://wiki.openoffice.org/wiki/ES/Manuales/GuiaAOO/TemasAvanzados/Macros/StarBasic/TrabajandoConOOo/TrabajandoConDocumentos

        Dim oSM 'Root object for accessing OpenOffice from VB
        Dim oDesk, oDoc As Object 'First objects from the API
       [color=#4040FF] Dim args(1) As Object
[/color]

        'Instanciate OOo : this line is mandatory with VB for OOo API
        oSM = CreateObject("com.sun.star.ServiceManager")
        'Create the first and most important service
        oDesk = oSM.createInstance("com.sun.star.frame.Desktop")

        'Instancia las propiedades del documento
        args(0) = oSM.Bridge_GetStruct("com.sun.star.beans.PropertyValue")

        'Create a new doc

     [color=#4040FF]   args(0).Name = "Preview"
        args(0).Value = True[/color]


        oDoc = oDesk.loadComponentFromURL("private:factory/swriter", "_blank", 0, args)
        'Close the doc
        oDoc.Close(True)
        oDoc = Nothing

        'Open an existing doc (pay attention to the syntax for first argument)
        args(0).Name = "AsTemplate"
        args(0).Value = False

        oDoc = oDesk.loadComponentFromURL("file:///D:/lgu/instalador/AprendiendoOOoBasic.odt", "_blank", 0, args)
        'Save the doc, asi no exista la ruta
        Call oDoc.storeToURL("file:///c:/dev/ooo/test.ods", args)
        'Close the doc
        oDoc.Close(True)
        oDoc = Nothing
    End Sub

End Class
Última edición por mauricio el Sab Oct 01, 2016 6:48 am, editado 1 vez en total.
Razón: Usar etiquetas CODE
OpenOffice 4.1.2 en Windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Conexion Visual Basic 6 y OpenOffice Base

Mensaje por mauricio »

Ohh si, muy buena página... si lo quieres en libro, puedes descargarlo por aca: https://github.com/UniversoLibreMexicoA ... master/bin
______________________________________________
"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
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Conexion Visual Basic 6 y OpenOffice Base

Mensaje por fornelasa »

LGU escribió:'pagina que esta buena para ejemplos
        'https://wiki.openoffice.org/wiki/ES/Man ... Documentos
Así es, coincido, y dicha Url viene del libro de mauricio.

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!
Responder