Re: [utenti] Macro NumInEuro

2008-10-21 Per discussione Paolo Mantovani

Stefano Bassi ha scritto:

At 00.55 18/10/2008, you wrote:

[...]

Esiste anche un extension nativa per openoffice che fa più o meno
lo stesso lavoro e si chiama InLettere è scritta in Python ed è
molto più veloce. La trovi qui: http://www.paolo-mantovani.org/



Intanto grazie e complimenti: integrare tale funzione è davvero utile
e non metto in dubbio che sia più performante della macro (anche se
obiettivamente mi è capitato di dover convertire al massimo un
centinaio di valori per foglio). Ora però ti faccio una richiesta: la
tua funzione converte soltanto la parte intera del numero, mentre
valori in euro necessitano anche i decimali rappresentati come /nn,
arrotondando alla seconda cifra decimale. 


Premetto che, se non ricordo male, Francesca Chiarelli aveva preparato 
una versione estesa della macro InLettere che dovrebbe fare anche quello 
che chiedi tu.

Controlla qui:
http://ooo.fchiarelli.it/

Bisogna dire che si tratta comunque di una macro in StarBasic derivata 
da una mia primissima versione dei InLettere()
In ogni caso, trattandosi di Starbasic e non di VBA, la macro gira in 
modo nativo, con performances accettabilissime.




Pensi di poter modificare,
o meglio creare un'altra estensione, con questa funzione?


Non serve creare un extension apposta in quanto si possono incudere più 
funzioni per calc in una stessa extension. In questo caso si potrebbe 
affiancare alla funzione InLettere() una seconda funzione InEuro() che 
potrebbe fare la conversione di una valuta nella forma blablabla/00


Non l'ho aggiunta fino ad ora per motivi ehmm filosofici :-)
Mi spiego: io di solito mi attengo a questa massima:

Mai scrivere una macro se si può evitare

Non è un inno alla pigrizia, significa solo che la macro deve essere 
l'ultima risorsa, da sfoderare solo *dopo* che si sono esaminate 
infruttuosamente tutte le possibili alternative


Il motivo è molto semplice: per quanto sia ben scritta, una macro non 
sarà mai nemmeno lontanamente performante e affidabile come il codice 
compilato dell'applicazione ospite (OpenOffice.org nel nostro caso)


Quindi, se esiste una soluzione che sfrutta le feature native di 
OpenOffice.org è sempre da preferire rispetto alla soluzione via macro.


Nel caso specifico una possibile soluzione potrebbe essere :

= INLETTERE(TESTO(A1;0,00))  /  DESTRA(TESTO(A1;0,00);2)

Dove la cella A1 contiene il numero in formato valuta da convertire.

Riconosco comunque che non è il massimo della praticità e devo anche 
ammettere che non è la prima volta che mi viene richiesto di integrare 
questa feature, perciò, in barba alle mie massime, la prossima volta che 
aggiornerò l'extension aggiungerò la funzione InEuro()

Se ci sono suggerimenti per un nome migliore sono ben accetti.

ciao
Paolo Mantovani







-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [utenti] R: Re: [utenti] Macro NumInEuro

2008-10-21 Per discussione Paolo Mantovani

Demart ha scritto:

Non riesco ad aprire l'estensione, mi dà un messaggio di errore e non installa.


Cosa intendi per aprire l'estensione ?
Cosa dice il messaggio di errore?

ciao
Paolo M.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [utenti] Macro NumInEuro

2008-10-18 Per discussione Stefano Bassi
At 00.55 18/10/2008, you wrote:
Stefano Bassi ha scritto:
At 11.15 17/10/2008, you wrote:
A questo indirizzo è presente una macro per convertire numeri
(valuta) in lettere. Con la versione 2.4.1 su win xp sp2 funzionava
senza problemi.

Non l'ho provata con ooo 2.4.1 ma permettimi di avere qualche dubbio: si
 tratta di una macro in vba scritta per Microsoft Excel e non per 
 OpenoOffice.org Calc


Con la versione 3 subito non funzionava (l'output nella cella era
#VALORE!), poi, abbassando la sicurezza macro a media ho visto i
promi risultati all'apertura del file; successivamente però ho
notato che cambiando i parametri in input alla macro non veniva
calcolato il risultato. Siccome non uso abitualmente le macro mi è
sorto un dubbio: non è che c'è qualche problema con l'esecuzione
delle macro in OOo 3?

Come sopra: non c'è nessun problema con le macro, ma se vuoi tentare di far 
girare del codice VBA devi mettere la seguente istruzione all'inizio del 
modulo di codice:

Option VBASupport 1


Io ho provato e funziona ma le performaces sono scarse.
Questo può essere dovuto al fatto che il codice non gira in modo nativo ma 
necessità di un layer di conversione.

Se hai solo poche celle da calcolare non è un problema, ad esempio per alcune 
decine di celle l'attesa potrebbe essere di qualche secondo.
Se sono centinaia o migliaia diventa inutilizzabile.

Esiste anche un extension nativa per openoffice che fa più o meno lo stesso 
lavoro e si chiama InLettere è scritta in Python ed è molto più veloce.
La trovi qui:
http://www.paolo-mantovani.org/


Come ulteriore alternativa potresti modificare il codice per farlo girare in 
modo nativo. Così a occhio dovrebbe essere sufficiente modificare pochissime 
cose.




saluti
Paolo M

Intanto grazie e complimenti: integrare tale funzione è davvero utile e non 
metto in dubbio che sia più performante della macro (anche se obiettivamente mi 
è capitato di dover convertire al massimo un centinaio di valori per foglio).
Ora però ti faccio una richiesta: la tua funzione converte soltanto la parte 
intera del numero, mentre valori in euro necessitano anche i decimali 
rappresentati come /nn, arrotondando alla seconda cifra decimale.
Pensi di poter modificare, o meglio creare un'altra estensione, con questa 
funzione?

Grazie
Stefano 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[utenti] R: Re: [utenti] Macro NumInEuro

2008-10-18 Per discussione Demart
Non riesco ad aprire l'estensione, mi dà un messaggio di errore e non installa.


Messaggio originale
Da: [EMAIL PROTECTED]
Data: 18-ott-2008 0.55

A: utenti@it.openoffice.org
Ogg: Re: [utenti] Macro NumInEuro

Stefano 
Bassi ha scritto:
 At 11.15 17/10/2008, you wrote:
 A questo indirizzo è 
presente una macro per convertire numeri
 (valuta) in lettere. Con la 
versione 2.4.1 su win xp sp2 funzionava
 senza problemi.

Non l'ho provata 
con ooo 2.4.1 ma permettimi di avere qualche dubbio: si
  tratta di una macro 
in vba scritta per Microsoft Excel e non per 
OpenoOffice.org Calc


 Con 
la versione 3 subito non funzionava (l'output nella cella era
 #VALORE!), 
poi, abbassando la sicurezza macro a media ho visto i
 promi risultati 
all'apertura del file; successivamente però ho
 notato che cambiando i 
parametri in input alla macro non veniva
 calcolato il risultato. Siccome 
non uso abitualmente le macro mi è
 sorto un dubbio: non è che c'è qualche 
problema con l'esecuzione
 delle macro in OOo 3?

Come sopra: non c'è 
nessun problema con le macro, ma se vuoi tentare di 
far girare del codice VBA 
devi mettere la seguente istruzione all'inizio 
del modulo di codice:


Option VBASupport 1


Io ho provato e funziona ma le performaces sono 
scarse.
Questo può essere dovuto al fatto che il codice non gira in modo 
nativo 
ma necessità di un layer di conversione.

Se hai solo poche celle da 
calcolare non è un problema, ad esempio per 
alcune decine di celle l'attesa 
potrebbe essere di qualche secondo.
Se sono centinaia o migliaia diventa 
inutilizzabile.

Esiste anche un extension nativa per openoffice che fa più o 
meno lo 
stesso lavoro e si chiama InLettere è scritta in Python ed è molto 
più 
veloce.
La trovi qui:
http://www.paolo-mantovani.org/


Come 
ulteriore alternativa potresti modificare il codice per farlo 
girare in modo 
nativo. Così a occhio dovrebbe essere sufficiente 
modificare pochissime cose.





saluti
Paolo M




-
To 
unsubscribe, e-mail: [EMAIL PROTECTED]
For additional 
commands, e-mail: [EMAIL PROTECTED]





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [utenti] Macro NumInEuro

2008-10-17 Per discussione Paolo Mantovani

Stefano Bassi ha scritto:

At 11.15 17/10/2008, you wrote:

A questo indirizzo è presente una macro per convertire numeri
(valuta) in lettere. Con la versione 2.4.1 su win xp sp2 funzionava
senza problemi.


Non l'ho provata con ooo 2.4.1 ma permettimi di avere qualche dubbio: si
 tratta di una macro in vba scritta per Microsoft Excel e non per 
OpenoOffice.org Calc




Con la versione 3 subito non funzionava (l'output nella cella era
#VALORE!), poi, abbassando la sicurezza macro a media ho visto i
promi risultati all'apertura del file; successivamente però ho
notato che cambiando i parametri in input alla macro non veniva
calcolato il risultato. Siccome non uso abitualmente le macro mi è
sorto un dubbio: non è che c'è qualche problema con l'esecuzione
delle macro in OOo 3?


Come sopra: non c'è nessun problema con le macro, ma se vuoi tentare di 
far girare del codice VBA devi mettere la seguente istruzione all'inizio 
del modulo di codice:


Option VBASupport 1


Io ho provato e funziona ma le performaces sono scarse.
Questo può essere dovuto al fatto che il codice non gira in modo nativo 
ma necessità di un layer di conversione.


Se hai solo poche celle da calcolare non è un problema, ad esempio per 
alcune decine di celle l'attesa potrebbe essere di qualche secondo.

Se sono centinaia o migliaia diventa inutilizzabile.

Esiste anche un extension nativa per openoffice che fa più o meno lo 
stesso lavoro e si chiama InLettere è scritta in Python ed è molto più 
veloce.

La trovi qui:
http://www.paolo-mantovani.org/


Come ulteriore alternativa potresti modificare il codice per farlo 
girare in modo nativo. Così a occhio dovrebbe essere sufficiente 
modificare pochissime cose.





saluti
Paolo M



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]