[Base] Importazione odf

Creare una macro - Scrivere uno script - Usare le API
Rispondi
TheTruth
Messaggi: 4
Iscritto il: venerdì 1 gennaio 2021, 20:02

[Base] Importazione odf

Messaggio da TheTruth »

Ciao a tutti,

chiedo a voi perchè ho dei problemi.
Mi sto cimentando con Base.
Vorrei leggere tramite righe di comando Basic un file odf. Per il momento riesco solo con i file .csv (che sostanzialmente sono testo).
Il mio obbiettivo è fare una piccola macro che carica un foglio di un file odf e per poi "spararlo" dentro alle tabelle del piccolo database di Base.

Il mio problema è che stavo cercando librerie già fatte oppure una riga di comando che mi istanzi la lettura del file odf. Con un fil sv diventa difficile gestire il tutto perchè se nelle celle ci sono degli "a capo" la trasformazione rovina il file di testo.

Invece, se potessi avere una lettura del file odf la cosa sarebbe facile.

Non è semplice trovare documentazione e stavo sbattendo la testa qua e la.

Qualcuno mi saprebbe dare una mano?
OpenOffice 4 su Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8803
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Importazione odf

Messaggio da charlie »

Ciao e benvenuto/a sul forum.
Se intanto ti vuoi presentare, farai cosa gradita. Puoi farlo in questa sezione -> viewforum.php?f=16

L’utente che apre un quesito si impegna: In caso di inosservanza saremo costretti ad azioni di “richiamo”, sospensione o chiusura del profilo utente.

Buon proseguimento.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8803
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Importazione odf

Messaggio da charlie »

Ciao, dovresti essere più preciso su che cosa intendi per file odf.
"ODF" è l'acronimo di Open Document File e in tal senso tutti i file di OO e LO (.odt, .ods, ...) sono file ODF.
Oppure intendi i file ".odf" cioè il file ODF di Math?
In ogni caso, per farti capire, allega file di esempio, grazie.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
TheTruth
Messaggi: 4
Iscritto il: venerdì 1 gennaio 2021, 20:02

Re: Importazione odf

Messaggio da TheTruth »

Ciao,

forse mi sono spiegato male:
cercavo una macro in basic per poter recuperare i dati da un foglio Math (foglio di calcolo tipo file excel per intenderci)

Dovrò poi, tramite questa macro (codice in Basic) riempire una tabella in Base (l'Access opensource del pacchetto open office). Quindi la macro sarà collegata dal database di Base.

Esiste qualcosa di già fatto? In Access esisteva

Altrimenti è possibile utilizzare una libreria per aprire un file che non sia solo "FreeFile" di testo?
OpenOffice 4 su Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8803
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Importazione odf

Messaggio da charlie »

Dimentica Access, questo è un altro mondo.
Se ci fai vedere cosa fai con i file di testo, forse capiamo meglio e possiamo avere l'ispirazione giusta ;) .
Io so come aprire un file il cui percorso sia salvato in un campo del database, ma l'apertura rimane "a carico" dell'applicazione di default del sistema operativo per quel file.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
TheTruth
Messaggi: 4
Iscritto il: venerdì 1 gennaio 2021, 20:02

Re: Importazione odf

Messaggio da TheTruth »

Ecco qui.

Codice: Seleziona tutto

Type record
    Acquisizione As String
	Tipo As String
	Produttore As String
	Prodotto As String
	Codice As String
	Seriale As String
	Qta As String
	Fattore As String
	Modo As String
	Programma As String
	Frazione As String
	Scadenza As String
	Fornitore As String
	Ordine As String
	Data As String
	Destinazione As String
	DC As String

End Type


sub file_io_read
    filename = "c:/temp/licenze.csv"
    num = FreeFile()
    open filename for input as #num 
    do while not eof(num)
'         Line input #num , sLine
'         sLine= replace(sLine,vbCr, "")
'         sLine= replace(sLine,vbLf, "")
'         print sLine
        input #num,record_line.Acquisizione, record_line.Tipo, record_line.Produttore, record_line.Prodotto, record_line.Codice, record_line.Seriale, record_line.Qta, record_line.Fattore, record_line.Modo, record_line.Programma, record_line.Frazione, record_line.Scadenza, record_line.Fornitore, record_line.Ordine, record_line.Data, record_line.Destinazione, record_line.DC
        print record_line.Acquisizione & " - " & record_line.Tipo & " - " & record_line.Produttore & " - " & record_line.Prodotto & " - " & record_line.Codice & " - " & record_line.Seriale & " - " & record_line.Qta & " - " & record_line.Fattore & " - " & record_line.Modo & " - " & record_line.Programma & " - " & record_line.Frazione & " - " & record_line.Scadenza & " - " & record_line.Fornitore & " - " & record_line.Ordine & " - " & record_line.Data & " - " & record_line.Destinazione & " - " & record_line.DC & " * " 
 
    loop
    close #num
    msgbox "Done"
end sub

Con questo leggo il file csv. E funziona. La lettura intendo.

Solo che la conversione fatta salvando il file da foglio di calcolo a csv mi "frega" perchè nelle celle del foglio di calcolo ci sono degli "a capo" o retrun carriage e nel salvataggio me li allinea in maniera errata.

Mi spiego meglio: nelle celle di Math è possibile andare a capo (con alt-invio) per facilitare la lettura

aaa bbbb

diventa

aaa
bbb

Nel salvateggio in csv rovina il tutto e me li salva come linee nuove. Ecco perchè. Se avessi avuto un libreria che mi leggeva direttamente il foglio di Math evitavo il salvataggio in csv.
OpenOffice 4 su Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8803
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Importazione odf

Messaggio da charlie »

Sul forum ci sono esperti che potrebbero essere in grado di aiutarti, ma non sono molto assidui in questo periodo.
Per dare una visibilità maggiore, sposto la discussione in Macro.
Ti consiglierei, comunque, di spostarti sul forum inglese https://forum.openoffice.org/en/forum/ o su quello francese https://forum.openoffice.org/fr/forum/ per avere maggiori possibilità di risposta.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8803
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Base] Importazione odf

Messaggio da charlie »

charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Rispondi