Los documentos de Word pueden contener bastante más que texto. También puede incluir gráficos y objetos multimedia, como clips de sonido. La forma normal de reproducir un clip de sonido es hacer doble clic en su icono dentro del documento. ¿Qué sucede si desea que el clip de sonido comience a reproducirse cuando abre el documento por primera vez, sin la necesidad de hacer doble clic?

La mejor forma de abordar este problema es mediante el uso de una macro. Puede crear fácilmente una macro que se ejecuta automáticamente cuando abre un documento, y la macro puede reproducir el archivo de sonido. La siguiente es una macro muy simple que hace precisamente eso:

Private Sub Document_Open()

ThisDocument.InlineShapes(1).Select     Selection.InlineShapes(1).OLEFormat.DoVerb VerbIndex:=wdOLEVerbPrimary End Sub

La macro asume que el clip de sonido es el primer objeto que se insertó, en línea, en su documento. De lo contrario, deberá averiguar el número de índice del clip, dentro de la colección InlineShapes, y usar ese valor de índice en la macro.

El corazón de la macro usa el método DoVerb, que es una forma genérica de ejecutar diferentes acciones en un objeto OLE (en este caso, el archivo de sonido). El parámetro VerbIndex determina la acción que se ejecuta.

En este uso, VerbIndex se establece igual a wdOLEVerbPrimary, que significa «la acción principal para un objeto OLE de este tipo». Dado que se trata de un archivo de sonido, la acción principal es reproducirlo.

Quizás un mejor enfoque es utilizar las capacidades de marcadores de Word a su favor. Puede usar un marcador para identificar el clip de sonido que desea reproducir y luego usar esa información en la macro para determinar qué se reproduce. Considere la siguiente macro:

Private Sub Document_Open()

Selection.GoTo What:=wdGoToBookmark, Name:="WavSound"

Selection.InlineShapes(1).OLEFormat.DoVerb VerbIndex:=wdOLEVerbPrimary End Sub

Esta macro también asume que el clip de sonido se coloca en línea en su documento. Sin embargo, el clip debe marcarse con el nombre WavSound. La macro selecciona ese marcador (el clip de sonido) y lo reproduce usando el método DoVerb.

Estos enfoques funcionan bien si desea reproducir un clip de sonido que es parte de su documento. Es posible que desee reproducir un clip de sonido que no sea parte del documento. De esa forma, el icono del clip de sonido no aparece en el documento y estropea la apariencia del documento.

La forma de lograr esto es pedirle a la API de Windows que reproduzca el sonido por usted. Este método funciona cuando desea acceder a un archivo de sonido que sabe que ya está en la computadora, siempre que el sistema también tenga instalado Windows Media Player. El siguiente ejemplo debería funcionar en un sistema Windows XP. (La macro puede o no funcionar en un sistema Vista, dependiendo de cómo esté configurado el sistema).

Private Declare Function PlaySound Lib "winmm.dll" _   Alias "PlaySoundA" (ByVal IpszName As String, _   ByVal hModule As Long, ByVal dsFlags As Long) As Long

Private Sub Document_Open()

PlaySound "c:\windows\media\tada.wav", ByVal0&, &H1 End Sub

La macro Document_Open se ejecuta cuando se abre el documento, pero llama a la función PlaySound. Esta función se define en la declaración privada como un alias para el método PlaySoundA de winmm.dll. Este método no inicia el reproductor multimedia en sí, y no inserta nada en el cuerpo del documento.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios WordTips), he preparado una página especial que incluye información útil.

link: / wordribbon-WordTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

WordTips es su fuente de formación rentable en Microsoft Word.

(Microsoft Word es el software de procesamiento de texto más popular del mundo). Este consejo (3902) se aplica a Microsoft Word 97, 2000, 2002 y 2003.