Coordinate.

Creare una macro - Scrivere uno script - Usare le API
Rispondi
tomsor
Messaggi: 10
Iscritto il: sabato 11 agosto 2018, 20:33

Coordinate.

Messaggio da tomsor »

Salve.
Ho scritto questa funzione:
function test()
msgbox 12
end function
Domanda:
E' possibile fare in modo che msgbox visualizzi le coordinate della cella in cui la funzione è stata inserita?
Grazie.
openoffice 4.1.5; windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Coordinate.

Messaggio da charlie »

Argomento spostato.

Ciao e benvenuto sul forum.
Se intanto ti vuoi presentare puoi farlo qui: viewforum.php?f=16
Per una panoramica delle regole del forum consulta il Manuale di sopravvivenza: http://forum.openoffice.org/it/forum/vi ... hp?f=1&t=2
Buon proseguimento.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Coordinate.

Messaggio da patel »

Mi sembra una cosa priva di senso, ce la vuoi spiegare ?
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Coordinate.

Messaggio da charlie »

Nella sua presentazione @tomsor ha già scritto:
tomsor ha scritto: Il problema è stato formulato in maniera da rendere del tutto superflua qualsiasi ulteriore spiegazione.
Sono ovviamente disponibile (se il problema sarà risolto) a ripondere a questa domanda: a che ti serve questa funzione?
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Coordinate.

Messaggio da patel »

pessima presentazione, da un programmatore C# mi aspetterei che si documenti sulle User Define Functions e sul loro uso su calc ed excel prima di proporre quesiti del genere
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
tomsor
Messaggi: 10
Iscritto il: sabato 11 agosto 2018, 20:33

Re: Coordinate.

Messaggio da tomsor »

Salve.
Le riconfermo di aver, per alcuni anni, programmato in C# e sporadicamente anche in alcuni altri linguaggi: al livello, ovviamente, della mia rudimentale e lacunosa competenza in tutto.
Ciò premesso, dichiaro di essere contento di vederla coinvolta nella discussione, poiché, da quello che dice, mostra (signor patel) di essere molto più esperto di me in materia.
Riepilogo i termini della questione.
Ecco funzione da cui sono partito:
function test()
msgbox 12
end function
la quale, una volta inserita in un cella, visualizza una finestrella con un bel 12.
E' abbastanza ovvia la modifica da apportare alla funzione se io, anziché visualizzare il 12, volessi visualizzare la stringa "buongiorno".
Questo tanto per capirci.
Ripropongo dunque la mia domanda:
può scrivermi, cortesemente, le righe di codice da inserire nella funzione affinché la msgbox visualizzi le coordinate della cella in cui la funzione viene inserita?
Come si dice: più chiaro di così si muore.
Se a lei dovesse sfuggire l'utilità di questo quesito (la cui soluzione mi permetterà di fare cose che ritengo invece molto utili) ne potremmo riparlare in seguito, ma il quesito rimane.
La saluto e la ringrazio per l'attenzione.
openoffice 4.1.5; windows 10
hubert lambert
Volontario
Volontario
Messaggi: 164
Iscritto il: venerdì 9 giugno 2017, 13:48

Re: Coordinate.

Messaggio da hubert lambert »

Ciao,
tomsor ha scritto:può scrivermi, cortesemente, le righe di codice da inserire nella funzione affinché la msgbox visualizzi le coordinate della cella in cui la funzione viene inserita?
È semplicemente impossibile: una funzione personale non può accedere al oggetto "cella" che la contiene.

L'elusione sarebbe di utilizzare la funzione con argumenti:

Codice: Seleziona tutto

=TEST(RIF.COLONNA(); RIF.RIGA())
con il codice:

Codice: Seleziona tutto

function TEST(col, row)
    doc = thiscomponent
    cell = doc.CurrentController.ActiveSheet.getCellByPosition(col-1, row-1)
    msgbox cell.AbsoluteName
end function
Saluti.
OpenOffice 4.1.2/4.1.4 | LibreOffice 5.4.4/6.0
Win7 + LinuxMint
tomsor
Messaggi: 10
Iscritto il: sabato 11 agosto 2018, 20:33

Re: Coordinate.

Messaggio da tomsor »

Per Hubert Lambert.
La ringrazio della sua attenzione.
La sua risposta è andata nella direzione che temevo: quella di aver posto un problema che non ha soluzioni.
Lei ha anche ha colto il punto chiave della questione, e cioè la pretesa di voler implementare una funzione per la quale non fosse necessario passare, in modo esplicito, degli argomenti, pur dovendo, la funzione, fare elaborazioni basate sulle sue proprie coordinate; mi basavo infatti sulla convinzione, evidentemente errata, che la funzione dovesse già di suo 'avere consapevolezza' della cella ospitante.
Infatti se scrivo

function test()
test="buongiorno"
end function

verifico che la funzione suddetta sa esattamente in quale punto del foglio mettere la stringa, perché 'sa' in quale cella si trova.
Mi domando: se la funzione sa questo, perché io non posso sapere la stessa cosa? Forse il compilatore mette in atto, a vantaggio del programmatore, qualche misura di 'protettiva'?
Il tutto mi sembra poco chiaro.
Ringrazio nuovamente per la sua attenzione e la saluto cordialmente.

P.S.: Per il momento non metto 'RISOLTO' al quesito.
openoffice 4.1.5; windows 10
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Coordinate.

Messaggio da patel »

il Risolto non deve essere mai messo visto che non c'è soluzione, meglio aprire un'altra discussione e passare al vero scopo senza premettere vincoli
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
tomsor
Messaggi: 10
Iscritto il: sabato 11 agosto 2018, 20:33

Re: Coordinate.

Messaggio da tomsor »

Salve.
Ho recentemente creato un foglio elettronico che risponde ad alcune mie necessità e che funziona perfettamente. Poiché sono di indole perfezionista, senza ahimé averne spesso le capacità, ho pensato che una funzione, come quella da me richiesta nell'impostare questa discussione, avesse potuto migliorare l'aspetto estetico e formale del mio foglio di lavoro, per la parte riguardante il retrostante codice utente.
Pare però che una tale funzione non sia implementabile (come esplicitamente dichiarato da hubert, il quale, peraltro, ha perfettamente colto uno dei punti fermi della mia richiesta).
Ho dato a questo punto una fugace occhiata al sito inglese di questo blog. Vedasi:
[OOo Basic] Row/Column of Currently Executing Formula Cell?
[Calc, Basic] Introspective cell functions
[Solved]service.callFunction for functions without arguments
tanto per citare alcune discussioni più o meno pertinenti.
Ho potuto verificare che la questione da me posta non è affatto peregrina, ma al contrario piuttosto dibattuta e ricorrente.
Pare (in conclusione) che la problematica non sia immediatamente gestibile in Calc, ma che lo sia, invece, in Excel.
La questione per me, per il momento, rimane aperta; ma mi rendo anche conto che ho ottenuto, dalle persone che gentilmente sono intervenute nella discussione, il massimo che era possibile ottenere.
Da questo punto in poi mi rivolgo a charlie.
Mi è stato detto che non posso mettere [RISOLTO] (nulla infatti è stato risolto), posso allora cliccare su 'Blocca argomento' per evitare a tutti ulteriori perdite di tempo?
Grazie
openoffice 4.1.5; windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Coordinate.

Messaggio da charlie »

Lascia tutto così, grazie.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
tomsor
Messaggi: 10
Iscritto il: sabato 11 agosto 2018, 20:33

Re: Coordinate.

Messaggio da tomsor »

OK, buon lavoro.
openoffice 4.1.5; windows 10
Rispondi