Pagina 1 di 1

[Risolto] ricavare le coordinate della cella selezionata

Inviato: martedì 2 dicembre 2014, 18:21
da ottaviane
salve a tutti.
non riesco a creare una semplice funzione che controlla il valore della cella in cui ho inserito l'ultimo dato e lo corregge qualora è sbagliato.
ecco il codice:

Codice: Seleziona tutto

Sub OnCellChanged
  oRange=ThisComponent.getcurrentselection
  aPos=oRange.getRangeAddress
  gcol=aPos.StartRow
  grow=aPos.StartColumn
  v=ThisComponent.CurrentController.ActiveSheet.getcellbyposition(gcol,grow).string
  ThisComponent.CurrentController.ActiveSheet.getcellbyposition(gcol,grow).string=UCase(v)
End Sub
la funzione è stata assegnata all'evento della pagina "Contenuto modificato"
ma i valori di gcol e di grow restano sempre a zero.
Ho dato una occhiata sulle API ma non ho trovato niente di esaustivo.
Qualcuno saprebbe indicarmi il giusto metodo per ricavare le coordinate della cella selezionata o modificata?
grazie.
ciao

Re: ricavare le coordinate della cella selezionata o modific

Inviato: martedì 2 dicembre 2014, 19:16
da patel

Codice: Seleziona tutto

Sub OnCellChanged(Target) 
If NOT Target.supportsService("com.sun.star.sheet.SheetCell") then exit sub
Sh = Target.getSpreadsheet()
addr = Target.getCellAddress()
r = addr.row
c= addr.column
print "riga = " & r & "  colonna = " & c
End Sub

Re: ricavare le coordinate della cella selezionata o modific

Inviato: mercoledì 3 dicembre 2014, 15:34
da ottaviane
grazie mille.
ora è tutto chiaro.
ecco cosa ho fatto:

Codice: Seleziona tutto

Sub OnSelectionChange(Target)
 If NOT Target.supportsService("com.sun.star.sheet.SheetCell") then  
   oRange=ThisComponent.getcurrentselection()
   aPos=oRange.getRangeAddress()
   c=aPos.StartRow
   r=aPos.StartColumn
 else
   Sh = Target.getSpreadsheet()
   addr = Target.getCellAddress()
   r = addr.row
   c= addr.column  
 end if
End Sub
in questo modo se la selezione è di una sola cella si ottiene l'indirizzo con la funzione getcelladdress se invece la selezione è di un'area di più celle mi tiro fuori solo la cella più in alto a sinistra.
grazie e ciao.

Re: ricavare le coordinate della cella selezionata o modific

Inviato: mercoledì 3 dicembre 2014, 15:39
da ottaviane
COME SI FA A METTERE [RISOLTO]?

Re: ricavare le coordinate della cella selezionata o modific

Inviato: mercoledì 3 dicembre 2014, 16:28
da patel
si modifica il titolo del primo post

Re: ricavare le coordinate della cella selezionata o modific

Inviato: mercoledì 3 dicembre 2014, 18:01
da Gaetanopr
ottaviane ha scritto:in questo modo se la selezione è di una sola cella si ottiene l'indirizzo con la funzione getcelladdress se invece la selezione è di un'area di più celle mi tiro fuori solo la cella più in alto a sinistra.
grazie e ciao.
Non è necessario effettuare il controllo se hai selezionato una o più celle

Codice: Seleziona tutto

Sub OnSelectionChange(Target)
   oRange=ThisComponent.getcurrentselection()
   aPos=oRange.getRangeAddress()
   c=aPos.StartRow
   r=aPos.StartColumn
End Sub
Puoi usare la proprietà getRangeAddress anche se modifichi-selezioni una sola cella