Grazie Fabio per la sollecita risposta (la mia un po' meno...) ma io
puntavo a pezzetti di codice già belli che pronti... :-)
Magari a delle Function "monolitiche" da richiamare dalle Sub Princpali
(o più banalmente da inserire con cut/paste all'interno del codice...)
Invece va a finire che mi tocca rlavorare... :-)
Ma è doverosa una premessa.
Io ho un "programma" di Contabilità Lavori per Opere Edili impostato su
fogli Excel e una serie di macro rendono molto agevole il suo uso.
Sono anni che parliamo (qui e altrove) di un Programma di contabilità
lavori multipiattaforma su un Database di OO (o collegato), ma al
momento io ho quei fogli excel, e su quei fogli pieni codice ridondante
e macchinoso abbiamo gestito e stiamo gestendo budget considerevoli,
(con tanto di SAL e perizie di variante) sopratuttto su opere complesse
di restauro e con Amministrazioni diverse e idiosincrasie soggettive.
Quindi non si tratta di scegliere: o continuo ad usare excel o traduco
quelle macro in starbasic.
Inoltre "quelle macro" erano state "registrate" e poi ripasticciate già
in VB, perchè io ho concepito il marchingegno in quel modo.
Cioè man mano che lavoravo sui miei computi mi veniva in mente che certi
pulsanti potevo farli schiacciare in automatico dalla PC... e da cosa
nasce cosa...
Sono anche due o tre anni che cerco di imparare lo starbasic... ma
proprio non mi entra... o meglio non ho testa ne tempo da dedicare
all'iniziativa.
********** Quindi mi serve una mano !!!! *******
Si tratta di trovare delle soluzioni, quali che siano, e tradurre quello
che ho... così lo rilascio... e se qualcuno ne avrà voglia potrà
semplificare codice e procedure sarà il benvenuto... ma su qualcosa che
(magari tossichiando) già funziona.
Mi rendo conto di aver fatto male ad infilare tutto nella medesima
discussione... ma gli argomenti mi sembrano strettamente correlati... e
così ho creato un po' di casino...
La cosa migliore che posso fare adesso è splittare i vari argomenti in
discussioni autonome, e lo faccio rispondendoti... ovviamente affronta
solo ciò che ti è comodo , che conosci e con i/il tempo che hai!
(questa - fortunatamente - non è una chat...) :-)
Mantengo invece qui una parte più generale....
quindi vediamo un po' di basi su come lavorare con le celle:
Dim Doc As Object ..zot...
...zot... Cell = Sheet.getCellByPosition(0, 0)
OK, ma se voglio individuare la cella usando un NOME di area?
Cell = Sheet.getCellByname("Area_uno") ' così 'ovviamente' non funziona...
Come si potrebbe fare?
(Così funzionerebbe:
args7(0).Value = "Area_uno"
dispatcher.executeDispatch(doc, ".uno:GoToCell", "", 0, args7())
dispatcher.executeDispatch(doc, ".uno:Copy", "", 0, Array())
ma bisogna andarci "fisicamente"...)
.. zot...
Contenuto = Cell.String 'assegno alla variabile Contenuto la stringa
contenuta nella cella in questione ...zot.... Ora, abbiamo visto come
leggere la stringa contenuta in una cella. Se avessi voluto sapere la
formula? Al posto di Cell.String basta usare Cell.Formula per le
formule, Cell.Value per i valori numerici fai attenzione a cambiare
il formato della variabile però,
Questo è in generale un bel problema!
Spesso non so (non posso e non voglio) sapere che tipo di dati contiene
la cella...
Se la copio e la incollo non me ne devo preoccupare... :-)
Potremmo impostare un complesso codice che vada a leggere il tipo di
contenuto etc.... ma direi che è più facile (e leggero per la CPU)
andarci "fisicamente", copiare, tornare e incollare dove serve.
Conosci qualche altro modo?
...zot...
Vista così è molto più semplice che passare per il copia e incolla.
Dipende... :-) ma sono aperto a soluzioni alternative...
Naturalmente ti ho postato un piccolo esempio di come leggere e
scrivere singole celle ma puoi farlo con range di celle,
richiamandoli per posizione o per nome (getCellRangeByName)
Anche qui non ho risolto... perché non ho ancora capito come registrare
un range in una variabile, e che tipo di dati contiene un range
(dovrebbe essere un Object...)
Per il resto leggimi sui singoli argomenti "splittati"...
Saluti
Bart
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]