Paolo Mantovani ha scritto:
...e tanti cari saluti all'unica informazione utile per risolvere il
problema. cominciamo bene.... :-)
Cercavo solo di "circoscrivere" un problema "generale"... :-(
se XRay legge la proprietà, perchè mai tu non riesci a leggerla?
Perché sono un pirla... oltre che stanco e confuso...
Di giorno mando avanti la bottega e la notte (al buio) mi ritrovo a
vagare nell'infida (e pericolosa) giungla dello starbasic...
Tra l'altro, immagino che la frase "non riesco a leggerla" significhi
piuttosto: "Mi da un errore quando tento di leggerla"
In genere è così... Altre volte MaledettaRow è semplicemente vuota...
quindi? dov'è il messaggio di errore? e dov'è il pezzo di codice che
genera l'errore?
Messaggi diversi a frasi diverse... a seconda delle stronzate che
scrivevo...
Cmq, anche se non hai fornito gli elementi necessari per definire il
problema, (anzi, per la verità hai fornito degli elementi fuorvianti)
Malgrado tutto non mi pare... l'elemento fuorviante era piuttosto
l'ovvietà e la semplicità della risposta...
Troppo facile per essere quella...
Nessuno pensa che si possa veramente annegare in un bicchiere d'acqua...
posso tentare di indovinare usando un po di logica: Stabiliamo alcuni
punti fissi: 1) tutte le celle hanno la proprietà CellAddress 2)
tutti i CellAddress hanno la proprietà Row
pertanto, se la riga print objCell.CellAddress.Row
Questa è LA RISPOSTA! :-))
La soluzione ai miei problemi...
La riduzione del 20% del mio ridondante codice...
La mia felicità... e quella della CPU...
genera un errore, allora la cosa è molto semplice: objCell NON è una
cella
Non genera nessun errore... mi restituisce la Row... :-)
Nella mia semplificazione (ero molto orgoglioso della brevità del mio
post) affermavo che objCell era certamente una cella, in quanto xRay la
riconosceva come una cella... e questo perché avevo un problema
applicabile a qualsiasi oggetto cella, ottenuto con funzioni e/o metodi
diversi.
la cosa potrebbe essere dovuta ai seguenti motivi:.. zot..
Stendiamo un velo pietoso sui perché... e stappiamo una bottiglia...
Adesso ho il controllo di quella variabile objcell...
MaledettaRow = objCell.CellAddress.Row
Volendo dilungarsi...
Sub MaledettaCella
oSheet = ThisComponent.Sheets.getByName("Tabella1")
sString$ = "Trovami"
CellaCercata = uFindString (sString$, oSheet)' snippet code
'docet
' (o qualsiasi altra funzione che restuitisce una cella)
MaledettaRow = CellaCercata.cellAddress.Row
print MaledettaRow ' adesso, con quella riga, posso
'fare delle cose utili :-)
end Sub
1) ad un errore di digitazione (poco probabile dato che avrai già
controllato).
Quando il cervello va in poltiglia... era un problema di sintassi.. ho
scritto decine e decine di righe... ma per qualche ragione non ho mai
scritto quella giusta...
2) ad un errore nella logica nella tua applicazione In questo caso
bisogna vedere *come* hai ottenuto il presunto oggetto cella,
Spero che il modo con cui ottengo una "variabile oggetto cella" non
modifichi il metodo da usare per "leggere" i dati...
ma questa informazione non l'hai voluta fornire, per motivi che non
riesco ad indovinare.
Come ho detto volevo circoscrivere la mia confusione...
Pagine e pagine di codice "funzionante" che facevano schizzare il
cursore da una parte all'altra di diverse tabelle... una gioia per gli
occhi... (qualcuno la trova comico...)!
In una fase iniziale questo mi è stato indispensabile per capire cosa
succedeva... e fargli fare le cose giuste... ma quando ho tentato di
eliminare l'attivazione delle celle mi sono impallato nella, ormai
famosa, lettura della riga...
Grazie Paolo, ancora una volta, malgrado domande confuse, hai dato una
risposta precisa!
ciao
Bart
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]