UserForm

27/08/2005 - 09:31 por Luis Caro | Informe spam
Saludos a todos.
Es posible insertar Sonido en un UserForm?


Cordialmente
Luis Caro
http://usuarios.lycos.es/maderascolombianas2/
http://www.geocities.com/maderascolombianas2002

Preguntas similare

Leer las respuestas

#6 Luis Caro
28/08/2005 - 14:42 | Informe spam
Hola Héctor Miguel.

1.Al colocar las dos Instrucciones juntas,me aparece una Pantalla con Fondo
en
Blanco y luego la Pantalla que tengo diseñada.
Cómo eliminar la Pantalla en Blanco?

Private Declare Function Usar_mciExecute _
Lib "winmm.dll" Alias "mciExecute" ( _
ByVal Comando As String) As Long
Private Sub UserForm_Activate()
Dim Archivo As String
Archivo = "C:\Windows\Media\OneStop.mid"
Application.OnTime Now + TimeValue("00:00:15"), "KillTheForm"
Usar_mciExecute "Play " & Archivo
End Sub

2.No entiendo la instrucción para detener la Musica,cuando desaparezca el
Formulario.
Por favor me lo explicas paso a paso.

Mil Gracias por tu colaboración

Cordialmente
Luis Caro
http://usuarios.lycos.es/maderascolombianas2/
http://www.geocities.com/maderascolombianas2002

"Héctor Miguel" escribió en el mensaje
news:
hola, Luis !

... son mis primeros pasos en VBA.
Estoy usando el UserForm (es lo mismo que el Formulario de que tu
hablas?)



=> yes, sir :))

para mostrar una Pantalla Inicial antes de que se abra una Hoja... cuya
instruccion es:
Private Sub UserForm_Activate()
Application.OnTime Now + TimeValue("00:00:10"), "KillTheForm"
End Sub

La instruccion que me estas enviando para escuchar musica con el
UserForm:
donde se coloca: antes o despues de la Instrucción que ya tengo?
Me puedes ayudar con la Instruccion completa, incluyendo la que ya tengo
[...]



en el modulo de codigo del formulario ==> Private Declare Function Usar_mciExecute _
Lib "winmm.dll" Alias "mciExecute" ( _
ByVal Comando As String) As Long
Private Sub UserForm_Activate()
Dim Archivo As String
Archivo = "C:\Windows\Media\OneStop.mid"
Application.OnTime Now + TimeValue("00:00:10"), "KillTheForm"
Usar_mciExecute "Play " & Archivo
End Sub

=> [solo] ASEGURATE que el archivo 'a tocar'... exista en la ruta
especificada ;)
[ademas de las 'otras' notas y observaciones aplicables a cada
'metodo'] :)
si cualquier duda... comentas?
saludos,
hector.

Respuesta Responder a este mensaje
#7 Héctor Miguel
28/08/2005 - 20:36 | Informe spam
hola, Luis !

1 ... las dos Instrucciones juntas, me aparece una Pantalla... en Blanco y luego la Pantalla que tengo dise#ada.
... eliminar la Pantalla en Blanco? [...]
2 la instruccion para detener la Musica, cuando desaparezca el Formulario... me lo explicas paso a paso.



1) la 'inicializacion' de las API's del WinMedia... es algo 'aparte' [seguramente tardado sobre todo la primera ves] :-(
-> 'manejalo' en modulos/pasos/eventos separados ;)
2) suponiendo que el formulario lo muestras con el evento '_open' del libro... un ejemplo es +/- como sigue...
en un modulo de codigo 'normal' ==Option Private Module
Public Const Archivo As String = "C:\Windows\Media\OneStop.mid"
Public Declare Function Usar_mciExecute _
Lib "winmm.dll" Alias "mciExecute" ( _
ByVal Comando As String) As Long
Sub KillTheForm()
Usar_mciExecute "Stop " & Archivo
Unload UserForm1
End Sub
en el modulo de codigo del libro [ThisWorkbook] ==Private Sub Workbook_Open()
Usar_mciExecute "Play " & Archivo
UserForm1.Show
End Sub
en el modulo de codigo del formulario ==Private Sub UserForm_Activate()
Application.OnTime Now + TimeValue("00:00:15"), "KillTheForm"
End Sub

si cualquier duda... comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#8 Luis Caro
29/08/2005 - 01:28 | Informe spam
Perfecto Héctor Miguel.
Lo único que podría mejorarse,sería:
-Se demora un poco en abrir el Formulario
-No hay forma de que se muestre de primero el Formulario?
Se está abriendo primero el Libro y luego(un poco retardado el
Formulario.Hay forma de que primero muestre el Formulario,antes de abrir el
Libro?
Mil Gracias.

Cordialmente
Luis Caro
http://usuarios.lycos.es/maderascolombianas2/
http://www.geocities.com/maderascolombianas2002

"Héctor Miguel" escribió en el mensaje
news:Od3F99$
hola, Luis !

1 ... las dos Instrucciones juntas, me aparece una Pantalla... en Blanco
y luego la Pantalla que tengo dise#ada.
... eliminar la Pantalla en Blanco? [...]
2 la instruccion para detener la Musica, cuando desaparezca el
Formulario... me lo explicas paso a paso.



1) la 'inicializacion' de las API's del WinMedia... es algo 'aparte'
[seguramente tardado sobre todo la primera ves] :-(
-> 'manejalo' en modulos/pasos/eventos separados ;)
2) suponiendo que el formulario lo muestras con el evento '_open' del
libro... un ejemplo es +/- como sigue...
en un modulo de codigo 'normal' ==> Option Private Module
Public Const Archivo As String = "C:\Windows\Media\OneStop.mid"
Public Declare Function Usar_mciExecute _
Lib "winmm.dll" Alias "mciExecute" ( _
ByVal Comando As String) As Long
Sub KillTheForm()
Usar_mciExecute "Stop " & Archivo
Unload UserForm1
End Sub
en el modulo de codigo del libro [ThisWorkbook] ==> Private Sub Workbook_Open()
Usar_mciExecute "Play " & Archivo
UserForm1.Show
End Sub
en el modulo de codigo del formulario ==> Private Sub UserForm_Activate()
Application.OnTime Now + TimeValue("00:00:15"), "KillTheForm"
End Sub

si cualquier duda... comentas?
saludos,
hector.

Respuesta Responder a este mensaje
#9 Héctor Miguel
29/08/2005 - 07:38 | Informe spam
hola, Luis !

Lo unico que podria mejorarse,seria:
-Se demora un poco en abrir el Formulario
-No hay forma de que se muestre de primero el Formulario?
-Se esta abriendo primero el Libro y... un poco retardado el Formulario.
-Hay forma de que primero muestre el Formulario, antes de abrir el Libro?



1) mientras un libro NO este abierto... no creo que exista forma de 'mostrar' sus componentes :\
2) si necesitas tener 'control total' sobre detener la musica [en caso de que sea de mayor tiempo que el userform]...
necesitaras usar mciExecute [que es el 'tardado' y la razon por la que se demora la presentacion del userform] :(
o... 'enga#ar' al 'PlaySound' :) +/- con las combinaciones siguientes [y sus 'limitaciones'... revisa las notas iniciales] :-((
en un modulo de codigo 'normal ==Option Private Module
Public Const EsteArchivo As String = "C:\Windows\Media\Entrada de Windows XP.wav"
Public Declare Function _
Usar_PlaySound _
Lib "winmm.dll" _
Alias "PlaySoundA" ( _
ByVal Archivo As String, _
ByVal Modulo As Long, _
ByVal Bandera As Long) As Long
Sub KillTheForm()
Usar_PlaySound(vbNullString, 0&, &H40)
Unload UserForm1
End Sub
en el modulo de codigo del libro [ThisWorkbook] ==Private Sub Workbook_Open()
UserForm1.Show
End Sub
en el modulo de codigo del formulario ==Private Sub UserForm_Activate()
Application.OnTime Now + TimeValue("0:00:02"), "KillTheForm"
Usar_PlaySound EsteArchivo, 0&, &H1 Or &H20000
End Sub

saludos,
hector.
Respuesta Responder a este mensaje
#10 Luis Caro
29/08/2005 - 15:46 | Informe spam
Hola Héctor Miguel.
Gracias por tus respuestas.
Me quedaré con la Opción planteada en el mensaje anterior.
Ya se quitó la Pantalla en Blanco.

Cordialmente
Luis Caro
http://usuarios.lycos.es/maderascolombianas2/
http://www.geocities.com/maderascolombianas2002

"Héctor Miguel" escribió en el mensaje
news:%
hola, Luis !

Lo unico que podria mejorarse,seria:
-Se demora un poco en abrir el Formulario
-No hay forma de que se muestre de primero el Formulario?
-Se esta abriendo primero el Libro y... un poco retardado el Formulario.
-Hay forma de que primero muestre el Formulario, antes de abrir el Libro?



1) mientras un libro NO este abierto... no creo que exista forma de
'mostrar' sus componentes :\
2) si necesitas tener 'control total' sobre detener la musica [en caso de
que sea de mayor tiempo que el userform]...
necesitaras usar mciExecute [que es el 'tardado' y la razon por la que
se demora la presentacion del userform] :(
o... 'enga#ar' al 'PlaySound' :) +/- con las combinaciones
siguientes [y sus 'limitaciones'... revisa las notas iniciales] :-((
en un modulo de codigo 'normal ==> Option Private Module
Public Const EsteArchivo As String = "C:\Windows\Media\Entrada de Windows
XP.wav"
Public Declare Function _
Usar_PlaySound _
Lib "winmm.dll" _
Alias "PlaySoundA" ( _
ByVal Archivo As String, _
ByVal Modulo As Long, _
ByVal Bandera As Long) As Long
Sub KillTheForm()
Usar_PlaySound(vbNullString, 0&, &H40)
Unload UserForm1
End Sub
en el modulo de codigo del libro [ThisWorkbook] ==> Private Sub Workbook_Open()
UserForm1.Show
End Sub
en el modulo de codigo del formulario ==> Private Sub UserForm_Activate()
Application.OnTime Now + TimeValue("0:00:02"), "KillTheForm"
Usar_PlaySound EsteArchivo, 0&, &H1 Or &H20000
End Sub

saludos,
hector.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida