www.debian.org.2.gif  (5376 bytes)

Bienvenido a COPLEC.org Comunidad de Programadores de Software Libre del Ecuador, todas tus dudas, inquietudes, serán bienvenidas, no importa la rama o lenguaje que utilices, el único requisito para participar es que lo que utilizas sea "software libre", de lo contrario iría en contra de nuestros principios.

No lo olvides tu opinión cuenta mucho para el mejoramiento de este sitio.

Reportes desde visual basic 6 a openoffice calc

Así es muchas empresas empiezan a migrar a openoffice y los sistemas que tienen en visual basic es posible también interoperar con openoffice aqui un extracto de código que sirve para enviar los datos de una matriz a celdas de calc.

    Dim oServiceManager As Object
    Dim oDesktop As Object
    Dim oDoc As Object
    Dim oSheet As Object
    Dim columna As Object

    Dim aNoArgs()
    Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
    Set oDesktop = oServiceManager.createInstance("com.sun.star.frame.Desktop")
    Set oDoc = oDesktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, aNoArgs())

    Set oSheet = oDoc.getSheets().getByIndex(0)

    oSheet.getCellByPosition(0, 0).SetString ("FACTURA")
    oSheet.getCellByPosition(1, 0).SetString ("FECHA")
    oSheet.getCellByPosition(2, 0).SetString ("PRODUCTO")
    oSheet.getCellByPosition(3, 0).SetString ("CANTIDAD")
    oSheet.getCellByPosition(4, 0).SetString ("PRECIO")
    oSheet.getCellByPosition(5, 0).SetString ("VALOR FACTURA")
    oSheet.getCellByPosition(6, 0).SetString ("CONSUMIDOR")
    oSheet.getCellByPosition(7, 0).SetString ("DESCRIPCION")


    Dim r As Integer
    Dim c As Integer

    For r = 1 To Grid.Rows - 2
        For c = 0 To Grid.Cols - 1
            Grid.Row = r
            Grid.Col = c
            If c = 3 Or c = 4 Or c = 5 Then
                oSheet.getCellByPosition(c, r).SetValue (Grid.Text)
            Else
                 oSheet.getCellByPosition(c, r).SetString (Grid.Text)
            End If
        Next
    Next

    oSheet.getCellByPosition(0, r).SetString ("TOTAL")
    oSheet.getCellByPosition(2, r).SetFormula ("=ROW()-2")
    oSheet.getCellByPosition(3, r).SetFormula ("=SUM(D2:D" & r & ")")
    oSheet.getCellByPosition(4, r).SetFormula ("=SUM(E2:E" & r & ")")

como ven el ejemplo abarca inclusive formulas q podrian ya insertarse en la hoja de cálculo