Reproducir archivos de audio en Excel vba con control de Windows Media Player

Reproducir archivos de audio en Excel vba con control de Windows Media Player

Dependiendo en qué ámbito laboral te desempeñes, existe la posibilidad de que tengas que trabajar con archivos de audio, o por qué no, por placer y gusto tengas archivos de audio en formato MP3 u otro formato y constantemente los estés escuchando.

Dicho lo anterior, en este tutorial y video tutorial voy a mostrarte cómo podrás reproducir archivos de audio directamente en Excel. Para reproducir archivos de audio necesitaremos insertar un control ActiveX dependiente del reproductor Windows Media Player.

Enlistar los nombre de los archivos de audio en Excel

Primeramente necesitamos ubicar la carpeta donde tengamos almacenados los archivos de audio, y una vez definida la carpeta, deberemos de hacer uso de mi complemento EXCELeINFO add-in que nos permitirá recuperar el nombre de los archivos almacenados en una carpeta, en una hoja de Excel.

Si aún no cuentas con EXCELeINFO add-in da clic aquí para descargarlo y clic aquí para saber cómo instalarlo.

  • Nos vamos a la pestaña EXCELeINFO.
  • Dentro de Archivos elegimos Lista nombre de archivos de una carpeta.
  • Pegamos o buscamos la carpeta donde estén los archivos de audio.
  • Opcionalmente marcamos la casilla Extensión y escribimos MP3.
  • Aceptar.

Pasamos los nombres de los archivos de audio a Excel.

Figura 1. Pasamos los nombres de los archivos de audio a Excel.

Ver Video Reproducir archivos de audio en Excel

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Botón para Reproducir y control WindowsMediaPlayer1

Una vez que tenemos enlistados en Excel la ruta completa y nombres de los archivos de audio pondremos un Botón que mandará llamar un Formulario donde insertaremos el control WindowsMediaPlayer1. Para insertar el botón:

  • Insertamos un rectángulo en la pestaña Insertar > Ilustraciones > Formas > Rectángulo.
  • En la pestaña Programador > Insertar > Controles ActiveX > Botón de comando.

Botón para mandar llamar el Formulario para reproducir música.

Figura 2. Botón para mandar llamar el Formulario para reproducir música.

Ahora que tenemos el botón que llamará al Formulario, toca crear el formulario que contendrá el control de Windows Media Player:

  • En la pestaña Programador elegimos Visual Basic.
  • Nos vamos al menú Insertar y elegimos UserForm.
  • En una parte vacía del Cuadro de herramientas damos clic derecho y elegimos Controles adicionales.
  • En el Formulario de Controles adiciones marcamos el control Windows Media Player.
  • Aceptar.
  • Veremos un nuevo control disponible para insertar en nuestro Formulario.

Insertamos el control adicional WindowsMediaPlayer a nuestro UserForm.

Figura 3. Insertamos el control adicional WindowsMediaPlayer a nuestro UserForm.

Lanzar formulario y reproducir archivos de audio

Ya tenemos nuestro formulario con el control de Windows Media Player, ahora toca indicarle al botón que al presionarlo detecte el nombre del archivo de audio en la celda elegida y reproduzca automáticamente el archivo de audio al cual apunta la celda.

Se reproducen archivos mp3 en UserForm y el control WindowsMediaPlayer1.

Figura 4. Se reproducen archivos mp3 en UserForm y el control WindowsMediaPlayer1.

Código VBA del botón Reproducir

La macro que se ejecutará al presionar el botón Reproducir sólo lanzará el formulario si elegimos una celda de la columna A y de la fila 9 hacia abajo. En caso de tener seleccionada otra celda, se mostrará un mensaje indicándonos que elijamos una celda válida.

'EXCELeINFO
'MVP Sergio Alejandro Campos
'http://www.exceleinfo.com
'https://www.youtube.com/user/sergioacamposh
'http://blogs.itpro.es/exceleinfo
'
Option Explicit

Private Sub CommandButton1_Click()

If ActiveCell.Row > 8 And ActiveCell.Column = 1 Then

    UserForm1.Show vbModal = False
    UserForm1.WindowsMediaPlayer1.Url = ActiveCell.Value
    
Else

    MsgBox "Debes elegir una celda válida.", vbInformation, "EXCELeINFO"
    
End If

End Sub

Como extra, se ejecutarán las mismas instrucciones si damos doble clic en una celda del rango antes mencionado, pero para eso necesitamos hacer uso del evento Worksheet_BeforeDoubleClick que se disparará justo antes de dar doble clic en una celda.

  • Damos clic derecho en la etiqueta la hoja y elegimos Ver código.
  • Dejamos el curso fuera de cualquier macro y elegimos de la lista superior izquierda Worksheet.
  • Ahora desplegamos la lista de eventos superior derecha y elegimos BeforeDoubleClick.
  • Copiamos las mismas líneas de la macro del botón.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If ActiveCell.Row > 8 And ActiveCell.Column = 1 Then

    UserForm1.Show vbModal = False
    UserForm1.WindowsMediaPlayer1.Url = ActiveCell.Value
    
Else

    MsgBox "Debes elegir una celda válida.", vbInformation, "EXCELeINFO"
    
End If

End Sub

Descarga el archivo de ejemplo

Descargar el ejemplo Reproducir archivos de audio con control de Windows Media Player.zip

Si te gustó este tutorial por favor regístrate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.

You may also like...