Yes. Embed the sound object - rather than linking it.
You do not need to use the Windows API posted.
Assuming it is the FIRST InlineShape - that is, the index = 1, then put the following into the document ThisDocument module will work on any machine. This will make the sound file - if it is InlineShape(1) - play on Document_Open.
Code:
Private Sub Document_Open()
ActiveDocument.InlineShapes(1).OLEFormat.DoVerb VerbIndex:=wdOLEVerbPrimary
End Sub
This looks at the primary Verb of the object, which in this case IS to play the sound file, and actions it.
Notes:
1. When you embed the sound file it does show up as an object in the document. Select it and shrink it down as small as you want.
2. The sound file will play in whatever is you default sound application.
3. Once the call to the player application is fired you may delete the sound file from the document. This does NOT affect the playing, as the file has in fact already been passed. This may (or may not) be useful. In other words, it is possible to have a document fire a sound file, play it, and
while playing it immediately delete that sound from itself. A one-time play.
Gerry