Newsgroup: it.comp.lang.visual-basic
Titolo: Versione Excel

Ciao a tutti,
qualcuno sa se è possibile, all'interno di un programma VBA, sapere
quale versione di Excel lo sta facendo girare, e magari anche in quale
lingua è scritta?
Grazie,
MAx
-- 
Posted from 
albatross-ext.wise.edt.ericsson.se
 [194.237.142.116] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

non esiste la proprieta Version o qualcosa del genere?

Infatti è proprio la proprietà version, dell'oggetto application, cioè:
Application.Version
Ciao

 
Lo supponevo... ed infatti ci ho provato.
Il risultato però è stato:
"Run-time error '-
2147319784
 (80028018)': Method 'Version' of objet
'_Application' failed"
Che si tratti di una installazione di Office bacata?
Max
-- 
Posted from 
penguin-ext.wise.edt.ericsson.se
 [194.237.142.110] 


strano.
esattamente che cosa hai scritto?
io ho scritto
Debug.Print Application.Version
e mi esce "9.0"

In Office 2000 non ci dovrebbero essere problemi... (non sò sulle versione
precedenti), apri l' assistente Office scegli application, e vatti a vedere
quelle che sono le proprietà accettate dall'oggetto application..... tra
queste dovresti trovare anche appunto "Version".
Se poi il comando    msgbox(application.version)   o quello suggerito da
mario ti danno debug, allora credo che ci sia un problema più grande.
Ciao


Dunque: volevo una stringa che contenesse il valore in questione, per
cui ho scritto:
dim valore as string
valore = Application.Version
Il problema è sempre quello di cui ho parlato un po'di tempo fa: macro
sviluppate con XL 97 italiano non funzionano con la versione inglese,
per cui cerco di sapere che versione sta girando all'avvio della macro,
così da eseguire una eventuale routine "alternativa" che funzioni in
inglese.
L'errore si è verificato lavorando in un modulo ralizzato appunto su XL
in italiano caricato da XL in inglese: ho provato ad eseguire (su 2  PC
diversi!) la suddetta istruzione in un nuovo progetto in italiano e
funziona ; in un nuovo progetto in inglese, idem... 
Comunque, posizionando il cursore sull'espressione Application.Version
il tooltip che esce mi dà il valore "8.0" (esattamente quello che assume
la variabile "versione" quando l'espressione viene eseguita senza
errori...) sia sulla versione italiana che su quella inglese. Forse mi
sarebbe più utile sapere qualcosa circa la build del software (ho notato
che sono diverse, ma quante build ci sono in Italiano e in inglese?).
Indovinate un po' cosa succede se scrivo:
versione = Application.Build ...
Gli venisse un pruritino a Bill ogni volta che un suo programma fa
casino sulla faccia della terra!...
Max
-- 
---------------------------------------
I Piccoli Pirati dell'Aria
URL:    
http://piccolipir.fly.to
e-mail:	
picco...@geocities.com
<>============  :-)

allora, non ti conviene tradurre una volta per tutte il codice in inglese?
cosě non avresti piu problemi.

 cosě non avresti piu problemi.
Ovvero riscrivere il programma con la versione inglese? Speravo di
evitarlo: le 2 versioni coesistono ed ogni volta che faccio una modifica
la dovrei ricopiare anche nell'altra versione... Kekasino!


 qualcuno sa se č possibile, all'interno di un programma VBA, sapere quale
versione di Excel lo sta facendo girare, e magari anche in quale lingua č
scritta?
Considera le seguenti proprieta` dell'oggetto Application di Excel (2000):
Property Build As Long
    sola lettura
    Membro di Excel.Application
Property LanguageSettings As LanguageSettings
    sola lettura
    Membro di Excel.Application
Property Version As String
    sola lettura
    Membro di Excel.Application
--
Ciao.
Maurizio
--------
?SPQR(C)
 X
--------

io quando sono passato dal VBA Excel italiano a inglese, il grosso del
lavoro lo ha fatto lui, traducendomi tutti i moduli in inglese. a volte
commetteva quale errore (ad esempio la proprietą .valore me la traduceva
.val e non .value) ma non ho mai avuto problemi...
MarioH