multimedia desde excel

18/05/2010 - 20:05 por pedro | Informe spam
Quedaría muy agradecido, si alguien me puede indicar (si es posible
realizarlo)
como activar el equipo de sonido del ordenador, cuando el valor de una
determinada casilla de excel cambia de valor, por ejemplo de positivo a
negativo.
Saludos pedro

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
19/05/2010 - 05:23 | Informe spam
hola, pedro !

... activar... sonido... cuando... una... casilla... cambia de valor, por ejemplo de positivo a negativo.



la siguiente es una propuesta +/- de 2005 que podrias adaptar para este caso

=
-> (creo que...) una forma (de las mas versatiles y sencillas) para lo que requieres (hablando de sonidos) es...
crear una funcion personalizada y llamarla como a cualquier otra funcion de hoja de calculo

con los siguientes supuestos (y con la opcion de usar: PlaySound):
- A1 es la celda que se va a monitorear (cualquier valor, texto, formula, etc.)
- A2 tiene el operador de comparacion (p.e. =, >=, <>, etc.), OJO: si vas a usar la igualdad, ANTEPON un apostrofo ( ' )
- A3 contiene el dato contra el cual se hara la comparacion
- C1 es la ruta al archivo que se tocara si se cumple la condicion (p.e. c:\windows\mediaeciclaje de windows xp.wav)
- C2 es la ruta al archivo que se tocara si NO se cumple la condicion (p.e. c:\windows\media\ir_end.wav) =>opcional<- C3 es la celda donde usaras la funcion personalizada p.e. =AvisarSiCumple(a1,a2,a3,c1,c2)
o puedes usar valores directos en la funcion, p.e.: =AvisarSiCumple(a1,"=",36,c1,c2)
o puedes anidarla dentro de otras funciones p.e. =si(a1="","",AvisarSiCumple(a1,a2,a3,c1,c2))
o... ??? (lo dejo a tu criterio)

- los argumentos de la funcion son: =AvisarSiCumple(Comparar,Operador,Condicion,ArchivoSiCumple,ArchivoSiNoCumple)
- segun el/los archivo/s que especifiques...
si NO existe/n... tocara un sonido asincrono (speakers de la pc)
si SI existe/n...
si se puede/n tocar... se toca/n
si NO se puede/n tocar... ni modo !!!... no hara sonido alguno

el codigo te lo adjunto en seguida (espero que sea +/- lo que solicitas) comentas ?
saludos,
hector.

== en un modulo de codigo normal =Private Declare Function _
Usar_PlaySound _
Lib "winmm.dll" _
Alias "PlaySoundA" ( _
ByVal Archivo As String, _
ByVal Modulo As Long, _
ByVal Bandera As Long) As Long

Function AvisarSiCumple(ByVal Comparar As Variant, _
ByVal Operador As String, _
ByVal Condicion As Variant, _
ByVal ArchivoSiCumple As String, _
Optional ByVal ArchivoSiNoCumple As String = "") As String
If Evaluate("""" & Comparar & """" & Operador & """" & Condicion & """") Then
Usar_PlaySound ArchivoSiCumple, 0&, &H1 Or &H20000
AvisarSiCumple = "Cumplio !!!"
ElseIf ArchivoSiNoCumple <> "" Then
Usar_PlaySound ArchivoSiNoCumple, 0&, &H1 Or &H20000
AvisarSiCumple = "NO Cumplio !!!"
Else: AvisarSiCumple = "NO Cumplio !!!"
End If
End Function
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida