Automatic Sound Clips

by Allen Wyatt
(last updated December 14, 2013)

Word documents can contain quite a bit more than text. You can also include graphics and multimedia objects, such as sound clips. The normal way that you play a sound clip is to double-click on its icon within the document. What if you want the sound clip to start playing when you first open the document, without the need to double-click?

The best way to approach this problem is through the use of a macro. You can easily create a macro that automatically runs when you open a document, and the macro can play the sound file. The following is a very simple macro that does just that:

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

The macro assumes that the sound clip is the very first object that was inserted, inline, in your document. If not, you will need to figure out the index number for the clip, within the InlineShapes collection, and use that index value in the macro.

The heart of the macro uses the DoVerb method, which is a generic way of executing different actions on an OLE object (in this case, the sound file). The VerbIndex parameter determines the action that is executed. In this usage, VerbIndex is set equal to wdOLEVerbPrimary, which means "the primary action for an OLE object of this type." Since this is a sound file, the primary action is to play it.

Perhaps a better approach is to use the bookmark capabilities of Word to your advantage. You can use a bookmark to identify the sound clip you want to play, and then use that information in the macro to determine what is played. Consider the following macro:

Private Sub Document_Open()
    Selection.GoTo What:=wdGoToBookmark, Name:="WavSound"
    Selection.InlineShapes(1).OLEFormat.DoVerb VerbIndex:=wdOLEVerbPrimary
End Sub

This macro also assumes that the sound clip is placed inline in your document. However, the clip should be bookmarked using the name WavSound. The macro selects that bookmark (the sound clip) and plays it using the DoVerb method.

These approaches work fine if you want to play a sound clip that is a part of your document. You may want to play a sound clip that is not a part of the document. In that way, the sound clip's icon doesn't appear in the document and mess up the appearance of the document.

The way you accomplish this is to ask the Windows API to play the sound for you. This method works when you want to access a sound file you know is already on the computer, as long as the system also has the Windows Media Player installed. The following example should work on a Windows XP system. (The macro may or may not work on a Vista system, depending on how the system is configured.)

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

The Document_Open macro runs when the document is opened, but it calls the PlaySound function. This function is defined in the private declaration as an alias for the PlaySoundA method of the winmm.dll. This method doesn't launch the media player itself, and it doesn't insert anything into the body of the document.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (3902) applies to Microsoft Word 97, 2000, 2002, and 2003.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He  is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Deleting Duplicate Columns

Got a worksheet in which there may be entire columns that are duplicates of each other? If you want to delete those duplicate ...

Discover More

Big File Memory Blues

Excel places limits on how much memory your workbooks can use. Despite these limits, it is possible to create a workbook that ...

Discover More

Turning E-mail Addresses into Hyperlinks

Got a whole bunch of e-mail addresses that you need to convert to active hyperlinks? You can do the conversion in a single ...

Discover More

The First and Last Word on Word! Bestselling For Dummies author Dan Gookin puts his usual fun and friendly candor back to work to show you how to navigate Word 2013. Spend more time working and less time trying to figure it all out! Check out Word 2013 For Dummies today!

MORE WORDTIPS (MENU)

Embedding an Excel Worksheet

Word and Excel are both integral parts of Microsoft's Office suite of applications. As such, Word allows you to embed ...

Discover More

Changing Label Printing Order

If you want to change the order in which labels are printed when doing a mail merge, Word doesn't provide many options. This ...

Discover More

Setting the AutoRecover Directory

When you are using Word, it normally saves temporary AutoRecover files that reflect the latest state of your document. If you ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments for this tip:

There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)

This Site

Got a version of Word that uses the menu interface (Word 97, Word 2000, Word 2002, or Word 2003)? This site is for you! If you use a later version of Word, visit our WordTips site focusing on the ribbon interface.

Subscribe

FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.

Links and Sharing
Share