Pannello di Controllo Moderatore ]

Coordinate.

Creare una macro - Scrivere uno script - Usare le API

Coordinate.

Messaggioda tomsor » domenica 12 agosto 2018, 10:56

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
tomsor
 
Messaggi: 10
Iscritto il: sabato 11 agosto 2018, 19:33

Re: Coordinate.

Messaggioda charlie » domenica 12 agosto 2018, 21:26

Argomento spostato.

Ciao e benvenuto sul forum.
Se intanto ti vuoi presentare puoi farlo qui: https://forum.openoffice.org/it/forum/viewforum.php?f=16
Per una panoramica delle regole del forum consulta il Manuale di sopravvivenza: http://forum.openoffice.org/it/forum/viewtopic.php?f=1&t=2
Buon proseguimento.
charlie
macOS 10.12 Sierra: Open Office 4.1.5 - LibreOffice 6.0.7
Windows 7 pro (VirtualBox): Open Office 4.1.5 - LibreOffice 5.4.4.2
Ubuntu 17.04 LTE (VirtualBox): LibreOffice 5.1.6.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 5457
Iscritto il: mercoledì 19 dicembre 2012, 10:50

Re: Coordinate.

Messaggioda patel » lunedì 13 agosto 2018, 8:59

Mi sembra una cosa priva di senso, ce la vuoi spiegare ?
-------------------
OpenOffice 4.1 e Libre Office 6 su Windows 10
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
patel
Volontario attivo
Volontario attivo
 
Messaggi: 2951
Iscritto il: venerdì 30 aprile 2010, 7:04
Località: Livorno

Re: Coordinate.

Messaggioda charlie » lunedì 13 agosto 2018, 10:00

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 10.12 Sierra: Open Office 4.1.5 - LibreOffice 6.0.7
Windows 7 pro (VirtualBox): Open Office 4.1.5 - LibreOffice 5.4.4.2
Ubuntu 17.04 LTE (VirtualBox): LibreOffice 5.1.6.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 5457
Iscritto il: mercoledì 19 dicembre 2012, 10:50

Re: Coordinate.

Messaggioda patel » lunedì 13 agosto 2018, 10:36

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
-------------------
OpenOffice 4.1 e Libre Office 6 su Windows 10
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
patel
Volontario attivo
Volontario attivo
 
Messaggi: 2951
Iscritto il: venerdì 30 aprile 2010, 7:04
Località: Livorno

Re: Coordinate.

Messaggioda tomsor » lunedì 13 agosto 2018, 12:00

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
tomsor
 
Messaggi: 10
Iscritto il: sabato 11 agosto 2018, 19:33

Re: Coordinate.

Messaggioda hubert lambert » lunedì 13 agosto 2018, 12:29

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   Espandi visualeStringi visuale
=TEST(RIF.COLONNA(); RIF.RIGA())
con il codice:
Codice: Seleziona tutto   Espandi visualeStringi visuale
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
hubert lambert
Volontario
Volontario
 
Messaggi: 124
Iscritto il: venerdì 9 giugno 2017, 12:48

Re: Coordinate.

Messaggioda tomsor » lunedì 13 agosto 2018, 17:35

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
tomsor
 
Messaggi: 10
Iscritto il: sabato 11 agosto 2018, 19:33

Re: Coordinate.

Messaggioda patel » lunedì 13 agosto 2018, 19:57

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
-------------------
OpenOffice 4.1 e Libre Office 6 su Windows 10
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
patel
Volontario attivo
Volontario attivo
 
Messaggi: 2951
Iscritto il: venerdì 30 aprile 2010, 7:04
Località: Livorno

Re: Coordinate.

Messaggioda tomsor » martedì 14 agosto 2018, 11:10

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
tomsor
 
Messaggi: 10
Iscritto il: sabato 11 agosto 2018, 19:33

Re: Coordinate.

Messaggioda charlie » martedì 14 agosto 2018, 20:44

Lascia tutto così, grazie.
charlie
macOS 10.12 Sierra: Open Office 4.1.5 - LibreOffice 6.0.7
Windows 7 pro (VirtualBox): Open Office 4.1.5 - LibreOffice 5.4.4.2
Ubuntu 17.04 LTE (VirtualBox): LibreOffice 5.1.6.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 5457
Iscritto il: mercoledì 19 dicembre 2012, 10:50

Re: Coordinate.

Messaggioda tomsor » mercoledì 15 agosto 2018, 10:30

OK, buon lavoro.
openoffice 4.1.5; windows 10
tomsor
 
Messaggi: 10
Iscritto il: sabato 11 agosto 2018, 19:33


Torna a Macro e UNO API

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite