Re: [utenti] Macro NumInEuro
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
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
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
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
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]