Grazie per i suggerimenti.
Ciao e tanti auguri a tutti per il nuovo anno. Daniele
> Dovrei creare un file "ODS", foglio elettronico OpenOffice, prendendo i dati
> da un Recordset (uso VB6). Dove posso trovare qualche informazione sugli
> oggetti da utilizzare ?
Io non ti so aiutare nello specifico, perᅵ qui trovi un piccolo tutorial
generico su come programmare OOo da VB6. Prova a vedere se trovi qualche
spunto:
http://www.kalitech.fr/clients/doc/VB_APIOOo_en.html
In ogni caso qui trovi la guida ufficiale alla programmazione di UNO (le
API di OpenOffice). Credo che la maggior parte degli esempi siano
ovviamente in Java e C++, ma dovrebbero essere applicabili a tutti i
linguaggi:
http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/OpenOffice.org_Developers_Guide
--
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Scarica "OpenOffice.org 3.0 Soluzioni a raccolta", molto piᅵ di semplici
FAQ! http://it.openoffice.org/doc/manuali/
Ti ringrazio VITRIOL
Da un primo sguardo mi sembra che la strada indicata sia molto interessante.
Ciao e tanti auguri ancora. Daniele
> Un saluto a tutti i partecipanti al NG.
> Dovrei creare un file "ODS", foglio elettronico OpenOffice, prendendo i dati
> da un Recordset (uso VB6). Dove posso trovare qualche informazione sugli
> oggetti da utilizzare ?
Per la domanda ti han risposto.
Se ti pu� interessare io, per le esportazioni "raw" generiche di tabelle,
creo un file di testo in formato Testo e Tabulazione e lo salvo con
"Nome.xls", e poi lo lancio con una shellexecute che lancia Excel o Calc o
altro correlato all'estensione.
In questo modo hai un'esportazione e te ne freghi di quello con cui lo
leggeranno, il tutto si riduce a:
| AdoRec.Open StrSql, AdoCN, adOpenKeyset, adLockPessimistic, adCmdText
|
| On Error Resume Next
| Dim aa As String, ff As Integer, bb As String, i As Integer
|
| aa = AdoRec.GetString(adClipString, , vbTab, vbNewLine, "")
|
| ' ColumnHeader
| For i = 0 To AdoRec.Fields.Count - 1
| bb = bb & AdoRec.Fields(i).Name & vbTab
| Next
|
| ff = FreeFile
| Open PathFile For Output As #ff
| Print #ff, bb
| Print #ff, aa
| Close ff
| ShellExecute 0, vbNullString, PathFile, vbNullString, "", SW_SHOWNORMAL
| On Error GoTo 0
>Un saluto a tutti i partecipanti al NG.
>Dovrei creare un file "ODS", foglio elettronico OpenOffice, prendendo i dati
>da un Recordset (uso VB6). Dove posso trovare qualche informazione sugli
>oggetti da utilizzare ?
Per quello che riguarda la scrittura di un foglio in Calc, ka cosa non �
particolarmente difficile se sai come scrivere su un foglio elettronico e se hai
la pazienza di cercare in rete degli esempi.
Qui avevo postato ad esempio il codice per scrivere in una cella,
Qui ci sono altre funzioni che ti serviranno per interagire con openoffice,
considera che uso il metodo 'dispatch', cio� il foglio Calc viene aperto e il
programma VB successivamente scrive nelle celle.
____________
Sub firstOOoProc()
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
Set oSM = CreateObject("com.sun.star.ServiceManager")
'Create the first and most important service
Set oDesk = oSM.createinstance("com.sun.star.frame.Desktop")
'Create a new doc
Set oDoc = oDesk.LoadComponentFromUrl("private:factory/swriter", "_blank", 0,
arg())
'Close the doc
oDoc.Close (True)
Set oDoc = Nothing
'Open an existing doc (pay attention to the syntax for first argument)
' Set oDoc = oDesk.loadComponentFromURL("file:///c:/dev/ooo/test.doc",
"_blank", 0, arg())
Set oDoc = oDesk.LoadComponentFromUrl(ConvertToUrl("C:\My Documents\
Prova.doc"), "_blank", 0, arg())
'Save the doc
' Call oDoc.storeToURL("file:///c:/dev/ooo/test2.sxw", arg())
Call oDoc.storeToURL(ConvertToUrl("C:\Test.doc"), arg())
'Close the doc
oDoc.Close (True)
Set oDoc = Nothing
End Sub
'Converts a Ms Windows local pathname in URL (RFC 1738)
'Todo : UNC pathnames, more character conversions
'
Public Function ConvertToUrl(strFile As String) As String
strFile = Replace(strFile, "\", "/")
strFile = Replace(strFile, ":", "|") ' ":/") '
strFile = Replace(strFile, " ", "%20")
strFile = "file:///" + strFile
ConvertToUrl = strFile
End Function
'Creates a sequence of com.sun.star.beans.PropertyValue s
'
Public Function MakePropertyValue(cName, uValue) As Object
Dim oStruct, oServiceManager As Object
Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
Set oStruct =
oServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
oStruct.Name = cName
oStruct.Value = uValue
Set MakePropertyValue = oStruct
End Function
'A simple shortcut to create a service
'
Public Function CreateUnoService(strServiceName) As Object
Dim oServiceManager As Object
Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
Set CreateUnoService = oServiceManager.createinstance(strServiceName)
End Function
--
ciao
Stefano
Ciao Andrea
Ti ringrazio per l'aiuto.
Ciao e auguri di buon 2010.
Daniele
Ciao Stefano