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

Adding Items to a Context Menu

Context menus can be very helpful for presenting common operations you can perform, based on the context in which the menu is ...

Discover More

Setting the Return Address Used in Word

When you create envelopes with Word, it normally displays a return address by default. If you can't get Word to retain the ...

Discover More

Turning Off ScreenTips

All those little ScreenTips bug you when moving your mouse pointer over different parts of Word's interface? You can turn ...

Discover More

Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!

MORE WORDTIPS (MENU)

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

Displaying Quick Document Statistics

Need to see how many pages, words, paragraphs, or lines are in your document? Word makes it easy to retrieve such ...

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:

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is eight more than 7?

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


Newest Tips
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