Aviso sonoro

De nuevo valedor, me gustaría saber si es posible aplicar un efecto sonoro que al abrir una hoja de calculo o bien cuando deje de cumplirse una condición sonara un efecto de sonido.
La utilidad es que tengo un libro con tres hojas que rellenan tres personas independientes, cuando terminan marcan en una casilla que han terminado de rellenarlas y lo que yo quiero es que cuando yo abra la hoja si no están rellenadas las tres casillas me suene el aviso.
Supongo que sera posible a través de una macro, como tantas cosas

1 respuesta

Respuesta
1
Prueba el siguiente código, estoy suponiendo lo siguiente...
Un archivo con tres hojas
Hoja1, Hoja2 y Hoja3
En cada una de estas hojas una Casilla de verificación agregada desde la barra de herramientas Cuadro de Controles, estos se llaman CheckBox1 como están en diferentes hojas, no hay problema que se llamen igual
En el Open del libro pon este código
Option Explicit
Private Sub Workbook_Open()
If Not (Hoja1.CheckBox1.Value) Or _
Not (Hoja2.CheckBox1.Value) Or _
Not (Hoja3.CheckBox1.Value) Then
Tocar "C:\WINDOWS\MEDIA\TADA.WAV"
Else
Tocar "C:\WINDOWS\MEDIA\LOGOFF.WAV"
End If
End Sub
Observa los nombres de las hojas, los nombres de las casillas de verificación y checa que los nombres de los archivos WAV existan
Ahora, agrega un modulo de código y copia el siguiente código..
Option Explicit
Private Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Long
Private Const SND_ASYNC = &H1
Private Const SND_FILENAME = &H20000
Public Sub Tocar(ByVal ArchivoWav As String)
PlaySound ArchivoWav, _
ByVal 0&, _
SND_FILENAME Or SND_ASYNC
End Sub
Y eso es todo, si falta alguna casilla de verificar, sonara un archivo, si estas todas verificadas sonara otro archivo...
En principio agradecerte la solución que como siempre perfecta, pero me gustaría si es posible que, como esta hoja esta compartida si yo estoy trabajando y los demás han marcado la casilla se me de un aviso o bien sonoro o al menos un efecto visual, sin tener que salir de la hoja ni siquiera ni tener que ejecutar una macro sino que existiera algo que controlara en todo momento el valor de esos Chechbox.
Como lo ves, sino al final en vez de utilizar un chechbox igual puedo utilizar el valor de una casilla que esta en todo momento se recalcula.
Gracias de nuevo.
Entonce, vincula una celda con el checkbox, supongamos la celda A1 para que en esta aparezca el valor Verdadero si se selecciona el checkbox y Falso si se deselecciona, después agrega este código a la hoja donde este el checkbox
Private Sub Worksheet_Calculate()
MsgBox Range("A1").Value
If Range("A1").Value = "Verdadero" Then
Tocar "C:\WINDOWS\MEDIA\TADA.WAV"
Else
Tocar "C:\WINDOWS\MEDIA\LOGOFF.WAV"
End If
End Sub
Tiene que se el evento Calculate por que el checkbox al cambiar no desencadena el ventó Change, para que suene en tu maquina y no en la de tus usuarios, pues te lo dejo de tarea que es casi nada...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas