Word-Dokumente können viel mehr als Text enthalten. Sie können auch Grafiken und Multimedia-Objekte wie Soundclips einfügen. Die normale Art, einen Soundclip abzuspielen, besteht darin, auf das entsprechende Symbol im Dokument zu doppelklicken. Was ist, wenn der Soundclip beim ersten Öffnen des Dokuments abgespielt werden soll, ohne dass ein Doppelklick erforderlich ist?

Der beste Weg, um dieses Problem anzugehen, ist die Verwendung eines Makros. Sie können ganz einfach ein Makro erstellen, das beim Öffnen eines Dokuments automatisch ausgeführt wird, und das Makro kann die Audiodatei abspielen. Das Folgende ist ein sehr einfaches Makro, das genau das tut:

Private Sub Document_Open()

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

Das Makro geht davon aus, dass der Soundclip das allererste Objekt ist, das inline in Ihr Dokument eingefügt wurde. Wenn nicht, müssen Sie die Indexnummer für den Clip in der InlineShapes-Auflistung ermitteln und diesen Indexwert im Makro verwenden.

Das Herzstück des Makros verwendet die DoVerb-Methode, eine generische Methode zum Ausführen verschiedener Aktionen für ein OLE-Objekt (in diesem Fall die Audiodatei). Der VerbIndex-Parameter bestimmt die ausgeführte Aktion.

In dieser Verwendung wird VerbIndex gleich wdOLEVerbPrimary gesetzt, was „die primäre Aktion für ein OLE-Objekt dieses Typs“ bedeutet. Da es sich um eine Audiodatei handelt, besteht die Hauptaktion darin, sie abzuspielen.

Möglicherweise ist es besser, die Lesezeichenfunktionen von Word zu Ihrem Vorteil zu nutzen. Sie können ein Lesezeichen verwenden, um den abzuspielenden Soundclip zu identifizieren, und diese Informationen dann im Makro verwenden, um zu bestimmen, was abgespielt wird. Betrachten Sie das folgende Makro:

Private Sub Document_Open()

Selection.GoTo What:=wdGoToBookmark, Name:="WavSound"

Selection.InlineShapes(1).OLEFormat.DoVerb VerbIndex:=wdOLEVerbPrimary End Sub

Dieses Makro setzt auch voraus, dass der Soundclip in Ihrem Dokument inline platziert ist. Der Clip sollte jedoch mit dem Namen WavSound als Lesezeichen versehen werden. Das Makro wählt dieses Lesezeichen (den Soundclip) aus und spielt es mit der DoVerb-Methode ab.

Diese Ansätze funktionieren gut, wenn Sie einen Soundclip abspielen möchten, der Teil Ihres Dokuments ist. Möglicherweise möchten Sie einen Soundclip abspielen, der nicht Teil des Dokuments ist. Auf diese Weise wird das Symbol des Soundclips nicht im Dokument angezeigt und das Erscheinungsbild des Dokuments wird durcheinander gebracht.

Um dies zu erreichen, bitten Sie die Windows-API, den Sound für Sie abzuspielen. Diese Methode funktioniert, wenn Sie auf eine Audiodatei zugreifen möchten, von der Sie wissen, dass sie sich bereits auf dem Computer befindet, sofern auf dem System auch der Windows Media Player installiert ist. Das folgende Beispiel sollte auf einem Windows XP-System funktionieren. (Das Makro funktioniert möglicherweise auf einem Vista-System oder nicht, je nachdem, wie das System konfiguriert ist.)

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

Das Document_Open-Makro wird ausgeführt, wenn das Dokument geöffnet wird, ruft jedoch die PlaySound-Funktion auf. Diese Funktion ist in der privaten Deklaration als Alias ​​für die PlaySoundA-Methode der winmm.dll definiert. Diese Methode startet den Media Player selbst nicht und fügt nichts in den Hauptteil des Dokuments ein.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.

(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (3902) gilt für Microsoft Word 97, 2000, 2002 und 2003.