Welcome toWord.Tips.Net
Ask a Word Question
Make a Comment
Learn Access Now
Free Printable Forms
Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips
Printing On Both Sides of the Paper
Turning Off AutoComplete for Dates
Understanding Auto Line Spacing
Adding Comments to Your Document
Conditional Calculations in Word
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.
Tip #3902 applies to Microsoft Word versions: 97 2000 2002 2003 2007
Add a Professional Finishing Touch! Word includes great tools that allow you to add professional-grade finishing touches to your documents. You can add indexes, tables of contents, and other special tables by using the detailed information available in this volume.