|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2002
Messaggi: 487
|
Open Office, Calc WorkSheet, StarBasic...e la mia ignoranza!
Ciao a tutti.
Avrei un problemino da proporvi, in quanto io non so più dove sbattere la testa. Ho recentemente installato Open Office (v1.0.1, sotto Linux Mandrake v9.0) trovandolo molto ben fatto. Abituato al Micro$oft Office, il passaggio è stato quasi indolore in quanto, devo dire, i due prodotti sono molto simili. Quasi indolore, ho detto, perchè un piccolo fastidio l'ho avuto, e ce l'ho ancora adesso. Il problema nasce con il calc worksheet, cioè il corrispettivo di Excel. Finchè si tratta di utilizzare il foglio di lavoro, nessun problema. Il casino nasce quando tento da uno script codificato in starbasic (che praticamente è come il vbscript) di accedere ( o scrivere) al contenuto di una cella del foglio di lavoro. In vb basta scrivere: cells(x,y).value = z oppure z = cells(x,y).value In sBasic non si sa...Ho scaricato vari Mb di guide (tra cui quella officiale di Open Office) ma da nessuna parte si fa riferimento a queste piccole ma fondamentali operazioni. Solo in un pacchetto di esempi ho trovato una nota nella quale si faceva riferimento a tale esigenza...e, meraviglia, c'era scritto che per accedere ad una cella bisogna fare: in lettura r = cells(x,y,z).value in scrittura cells(x,y,z).insert(r) Ora, nel primo caso mi viene detto che Value non è una proprietà dell'oggetto cells. Nel secondo caso non mi viene detto nulla, ma il valore non viene cmq inserito nella cella. Anche tutti gli esempi che ho trovato in giro e che ho provato hanno dato lo stesso risultato. La domanda nasce spontanea: ma siamo sicuri che Open Office in effetti permetta tale cosa? Beh, credo proprio di si, visto che oltre a utilizzare un suo formato è in grado di importare numerosi tipi di file creati con altri fogli elettronici (e anche di salvarli in tali formati, se si desidera). Non credo che il mio problema sia dovuto ad un bug del programma (troppo evidente per essere sfuggito in fase di testing), piuttosto credo sia da imputare ad un utilizzo scorretto da parte mia. C'è qualcuno che mi può illuminare a riguardo? Grazie.
__________________
AcM Racing :: Nulla è impossibile per chi non deve farlo |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
chi lascia la strada vecchia per quella nuova sa i che lascia ma non quelli ch trova !!!
![]() (Pasquale del Grande Fratell' : la port' del debagg' s'è rott' ) |
![]() |
![]() |
![]() |
#3 |
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
c'è questo ?
_____________________________________________________________ Oggetto CodeModule[b] Rappresenta il codice alla base di un componente, quale un form, una classe o un documento. Osservazioni L'oggetto CodeModule consente di modificare tramite inserimenti, eliminazioni e modifiche il codice associato a un componente. Ciascun componente è associato a un solo oggetto CodeModule, che a sua volta può essere associato a più riquadri del codice. I metodi associati all'oggetto CodeModule consentono di gestire il testo del codice e di restituire informazioni relative al codice riga per riga. È possibile, ad esempio, utilizzare il metodo AddFromString per aggiungere testo in un modulo. Con questo metodo il testo viene inserito immediatamente prima della routine iniziale del modulo oppure, se non esiste alcuna routine, alla fine del modulo. Per restituire l'oggetto VBComponent associato a un modulo di codice, è necessario utilizzare la proprietà Parent.[/size] _____________________________________________________________ Cioè a dire: codice che scrive codice ![]() |
![]() |
![]() |
![]() |
#4 | |
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
Quote:
grazie ![]() |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Oct 2002
Messaggi: 487
|
Scusa il ritardo...
No, non c'è ![]()
__________________
AcM Racing :: Nulla è impossibile per chi non deve farlo |
![]() |
![]() |
![]() |
#6 |
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
C'est pas grave.
![]() e questi ? BESSEL.I BESSEL.J BESSEL.K BESSEL.Y FUNZ.ERRORE MATR.DETERM MATR.PRODOTTO MATR.INVERSA Strumenti > Risolutore ...... ?[/siz] |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Oct 2002
Messaggi: 487
|
Non li ho guardati tutti, ma alcuni esistono...naturalmente con altri nomi.
Queste infatti che citi sono delle macro predefinite. Ad esempio MATR.DETERM in open office si chiama MDETERM, e MATR.PRODOTTO invece MPRODUCT. Ora ho installato la versione 1.0.2 di OpOff e l'unica miglioria è stata che adesso non mi da più errore se scrivo x = Cells(1,1).value Il problema è che tale operazione non restituisce alcun valore in X. Uffa! ![]()
__________________
AcM Racing :: Nulla è impossibile per chi non deve farlo |
![]() |
![]() |
![]() |
#8 |
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
anche "addressando" in un modulo separato ?
x = Worksheets("Foglio1").Cells(1, 1) (vuole la , o il ; ? ) e togliendo quel cazzabbuffo di .value Prova anche con una conversione di tipo, per esempio: x = CStr(Worksheets("Foglio1").Cells(1, 1)) Comunque lo stesso bug c'era (a volte ... ) in Excel97, in quel caso era tutto legato alla conversione di tipo. |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Oct 2002
Messaggi: 487
|
Ho provato. Ed ho scoperto una cosa strana.
Se scrivo una cosa del genere: Dim x x = caccadidrago("puzzolente",19) ...non mi da nessun errore! Naturalmente in x non viene messo alcun valore significativo, ma come minimo mi si dovrebbe dire che il riferimento a "caccadidrago" non esiste! Naturalmente ho già provato ad usare "option explicit" senza trovare alcun giovamento... A questo punto non ci capisco + niente. Ho scaricato per intero la documentazione sulle API di OpenOffice, ma dallo StarBasic non riesco a farne funzionare una che sia una! Il bello è che se faccio una funzione o procedura banalissima in basic, questa funziona, ma appena faccio qualcosa che deve interagire col foglio di lavoro, nisba, niet, nada, non ne vuole sapere. E quello che mi fa inca%%are ancor di più è che non è concepibile che non funzioni di suo, quindi l'inetto devo essere per forza io! Ma non riesco proprio a capire dove sto sbagliando...
__________________
AcM Racing :: Nulla è impossibile per chi non deve farlo |
![]() |
![]() |
![]() |
#10 |
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
Torna! :o :o :o
'Sta casa aspetta a te... :o :o :o Torna! :o :o :o Che smania 'e te vedé!... :o :o :o E torna!... Torna!... Torna!... :o :o :o :o :o :o Ca, si ce tuorne tu, :o :o :o nun ce lassammo cchiù :o :o :o :o :o :o :o :o :o |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:25.