Automatisk ljudklipp

May 31

Word-dokument kan innehålla en hel del mer än text. Du kan också inkludera grafik och multimediaobjekt, såsom ljudklipp. Det normala sättet att du spelar ett ljudklipp är att dubbelklicka på dess ikon i dokumentet. Vad händer om du vill att ljudklippet för att börja spela när du öppnar dokumentet, utan att behöva dubbelklicka?

Det bästa sättet att närma sig detta problem är genom användning av ett makro. Du kan enkelt skapa ett makro som automatiskt körs när du öppnar ett dokument, och makrot kan spela upp ljudfilen. Följande är en mycket enkel makro som gör just det:

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

Makrot förutsätter att ljudklippet är det allra första objektet som infogades, inline, i dokumentet. Om inte, måste du räkna ut indexnummer för klippet, inom InlineShapes samlingen, och använda det indexvärde i makrot.

Hjärtat i makrot använder DoVerb metoden, som är en generisk sätt att utföra olika åtgärder på ett OLE-objekt (i detta fall, ljudfilen). Den VerbIndex parametern avgör vilka åtgärder som utförs. I denna användning, är VerbIndex lika med wdOLEVerbPrimary, som betyder "den primära åtgärden för ett OLE-objekt av den här typen." Eftersom detta är en ljudfil, är den primära åtgärden för att spela det.

Kanske en bättre metod är att använda bokmärkes kapacitet Word till din fördel. Du kan använda ett bokmärke för att identifiera ljudklippet du vill spela, och sedan använda den informationen i makrot att avgöra vad som spelas. Tänk dig följande makro:

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

Detta makro förutsätter också att ljudklippet placeras inline i dokumentet. Dock bör klippet bokmärkas använda namnet WavSound. Makrot väljer att bokmärket (ljudklippet) och spelar den med DoVerb metoden.

Dessa metoder fungerar bra om du vill spela upp ett ljudklipp som är en del av dokumentet. Du kanske vill spela ett ljudklipp som inte är en del av dokumentet. På så sätt behöver ljudklippet ikon inte visas i dokumentet och röra upp utseendet på dokumentet.

Sättet du åstadkomma detta är att be Windows API för att spela upp ljudet för dig. Denna metod fungerar när du vill komma åt en ljudfil som du vet finns redan på datorn, så länge som systemet har också Windows Media Player installerad. Följande exempel bör fungera på en Windows XP-system. (Makro kan eller inte kan arbeta på ett Vista-system, beroende på hur systemet är konfigurerat.)

Privat 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

De Document_Open makrot körs när dokumentet öppnas, men det kallar Playsound funktionen. Denna funktion är definierad i den privata deklarationen som ett alias för PlaySoundA metoden enligt winmm.dll. Denna metod startar inte mediaspelaren själv, och det inte in något i kroppen av dokumentet.

WordTips är din källa för kostnadseffektiv Microsoft Word utbildning. (Microsoft Word är det mest populära ordbehandlingsprogram i världen.) Detta tips (3902) gäller för Microsoft Word 97, 2000, 2002, och 2003.