Version de Windows

01/10/2005 - 03:45 por Henry Sanchez | Informe spam
Hola grupo,

Como puedo mediante VBA saber la version del sistema operativo (Windows) en
la que estan corriendo mis macros?

Saludos,

Henry

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
01/10/2005 - 07:05 | Informe spam
hola, Henry !

... mediante VBA saber la version del sistema operativo (Windows) en la que estan corriendo mis macros?



dependiendo de 'que parte' de la version necesites conocer/verificar/... :))
op1: para casos +/- sencillos... [te paso un ejemplo al final] ;)
op2: para casos mas 'complejos'... [te paso unas direcciones al final] :))

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.

op1: usando funcionalidad 'basica' de vba...
en un modulo de codigo 'normal' ==Sub Version_de_windows()
Dim wsFunction As String, Sistema As String, Version As String
wsFunction = Evaluate("info(""versionso"")")
Sistema = Environ("os")
Version = Environ("osver")
MsgBox "De la funcion =Info(""versionso""):" & vbCr & vbTab & wsFunction & vbCr & _
"Desde el entorno D.O.S. (Sistema operativo):" & vbCr & vbTab & Sistema & vbCr & _
"Desde el entorno D.O.S. (Version SO):" & vbCr & vbTab & Version
End Sub

op2: alternativas mas 'complejas' [en la pagina de Randy Birch]...
Obtaining Windows' Version Information
http://vbnet.mvps.org/code/system/getversionex.htm
Handy Routines for Identifying the Windows Version
http://vbnet.mvps.org/code/helpers/...ersion.htm
Respuesta Responder a este mensaje
#2 KL
01/10/2005 - 12:06 | Informe spam
Hola chicos,

Creo que el arugumento "osver" de la funcion Environ() no esta disponible en
todas las versiones de Excel (si es que existe). El siguiente codigo que
lista todas las variables disponibles no me incluye OSVER en Windows2000, y
la expresion Environ("osver") me devuelve "".

Por otro lado, creo que la instruccion:

wsFunction = Evaluate("info(""versionso"")")

se puede sustituir por:

wsFunction = Application.OperatingSystem

que no depende del idioma del Office.

Saludos,
KL




"Héctor Miguel" wrote in message
news:
hola, Henry !

... mediante VBA saber la version del sistema operativo (Windows) en la
que estan corriendo mis macros?



dependiendo de 'que parte' de la version necesites conocer/verificar/...
:))
op1: para casos +/- sencillos... [te paso un ejemplo al final] ;)
op2: para casos mas 'complejos'... [te paso unas direcciones al final]
:))

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.

op1: usando funcionalidad 'basica' de vba...
en un modulo de codigo 'normal' ==> Sub Version_de_windows()
Dim wsFunction As String, Sistema As String, Version As String
wsFunction = Evaluate("info(""versionso"")")
Sistema = Environ("os")
Version = Environ("osver")
MsgBox "De la funcion =Info(""versionso""):" & vbCr & vbTab & wsFunction
& vbCr & _
"Desde el entorno D.O.S. (Sistema operativo):" & vbCr &
vbTab & Sistema & vbCr & _
"Desde el entorno D.O.S. (Version SO):" & vbCr & vbTab &
Version
End Sub

op2: alternativas mas 'complejas' [en la pagina de Randy Birch]...
Obtaining Windows' Version Information
http://vbnet.mvps.org/code/system/getversionex.htm
Handy Routines for Identifying the Windows Version
http://vbnet.mvps.org/code/helpers/...ersion.htm

Respuesta Responder a este mensaje
#3 Henry Sanchez
01/10/2005 - 21:25 | Informe spam
Gracias Hector y KL,

Voy a revisar detalladamente sus codigos

Saludos,

Henry

"KL" escribió:

Hola chicos,

Creo que el arugumento "osver" de la funcion Environ() no esta disponible en
todas las versiones de Excel (si es que existe). El siguiente codigo que
lista todas las variables disponibles no me incluye OSVER en Windows2000, y
la expresion Environ("osver") me devuelve "".

Por otro lado, creo que la instruccion:

wsFunction = Evaluate("info(""versionso"")")

se puede sustituir por:

wsFunction = Application.OperatingSystem

que no depende del idioma del Office.

Saludos,
KL




"Héctor Miguel" wrote in message
news:
> hola, Henry !
>
>> ... mediante VBA saber la version del sistema operativo (Windows) en la
>> que estan corriendo mis macros?
>
> dependiendo de 'que parte' de la version necesites conocer/verificar/...
> :))
> op1: para casos +/- sencillos... [te paso un ejemplo al final] ;)
> op2: para casos mas 'complejos'... [te paso unas direcciones al final]
> :))
>
> si cualquier duda [o informacion adicional]... comentas?
> saludos,
> hector.
>
> op1: usando funcionalidad 'basica' de vba...
> en un modulo de codigo 'normal' ==> > Sub Version_de_windows()
> Dim wsFunction As String, Sistema As String, Version As String
> wsFunction = Evaluate("info(""versionso"")")
> Sistema = Environ("os")
> Version = Environ("osver")
> MsgBox "De la funcion =Info(""versionso""):" & vbCr & vbTab & wsFunction
> & vbCr & _
> "Desde el entorno D.O.S. (Sistema operativo):" & vbCr &
> vbTab & Sistema & vbCr & _
> "Desde el entorno D.O.S. (Version SO):" & vbCr & vbTab &
> Version
> End Sub
>
> op2: alternativas mas 'complejas' [en la pagina de Randy Birch]...
> Obtaining Windows' Version Information
> http://vbnet.mvps.org/code/system/getversionex.htm
> Handy Routines for Identifying the Windows Version
> http://vbnet.mvps.org/code/helpers/...ersion.htm
>



Respuesta Responder a este mensaje
#4 Héctor Miguel
01/10/2005 - 21:46 | Informe spam
hola, Henry y KL !

Voy a revisar detalladamente sus codigos



[solo para complementar informacion 'a medias' entre KL y yo [por desconocimiento de los alcances de Henry]...

1) [definitivamente] la forma con la que obtendras menores 'riesgos' es visitando la pagina de Randy Birch

2) conocer con 'certeza' si los argumentos 'de entorno' estan 'disponibles' o no [como bien apunta KL]...
dependera de si la version de windows donde se corre es 95/2000/NT/XP/Me [ya KL confirma que en 2000 no 'existe'] :(

3) por lo tocante a la 'dependencia' del idioma de office/excel... [y considerando que vba es totalmente 'us-centric']...
puedes sustituir el argumento de la funcion =info(...) del castellano... al ingles...
[es decir, cambiar "versionso" a "osversion" que funciona de manera similar con los argumentos de la funcion celda()]
p.e. del siguiente ejemplo... la primer 'llamada' SOLO funcionar si la version de excel es en castellano...
MsgBox Evaluate("info(""versionso"")") & vbCr & _
Evaluate("info(""osversion"")") & vbCr & _
Application.OperatingSystem

> op2: alternativas mas 'complejas' [en la pagina de Randy Birch]...
> Obtaining Windows' Version Information
> http://vbnet.mvps.org/code/system/getversionex.htm
> Handy Routines for Identifying the Windows Version
> http://vbnet.mvps.org/code/helpers/...ersion.htm





si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#5 Héctor Miguel
01/10/2005 - 22:06 | Informe spam
hola, KL !

... el argumento "osver" de la funcion Environ() no esta disponible en todas las versiones de Excel (si es que existe).
El siguiente codigo que lista todas las variables disponibles no me incluye OSVER en Windows2000
y la expresion Environ("osver") me devuelve ""[...]



podrias por favor transcribir el codigo que mencionas?
gracias y... saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida