I documenti di Word possono contenere molto più del testo. È inoltre possibile includere grafici e oggetti multimediali, come clip audio. Il modo normale in cui si riproduce un clip audio è fare doppio clic sulla sua icona all’interno del documento. Cosa succede se si desidera che la riproduzione del clip audio inizi la prima volta che si apre il documento, senza la necessità di fare doppio clic?

Il modo migliore per affrontare questo problema è attraverso l’uso di una macro. È possibile creare facilmente una macro che viene eseguita automaticamente quando si apre un documento e la macro può riprodurre il file audio. La seguente è una macro molto semplice che fa proprio questo:

Private Sub Document_Open()

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

La macro presuppone che il clip audio sia il primo oggetto inserito, in linea, nel documento. In caso contrario, dovrai calcolare il numero di indice per la clip, all’interno della raccolta InlineShapes, e utilizzare quel valore di indice nella macro.

Il cuore della macro utilizza il metodo DoVerb, che è un modo generico di eseguire diverse azioni su un oggetto OLE (in questo caso, il file audio). Il parametro VerbIndex determina l’azione che viene eseguita.

In questo utilizzo, VerbIndex è impostato uguale a wdOLEVerbPrimary, che significa “l’azione principale per un oggetto OLE di questo tipo”. Poiché si tratta di un file audio, l’azione principale è riprodurlo.

Forse un approccio migliore consiste nell’usare le funzionalità di segnalibro di Word a proprio vantaggio. È possibile utilizzare un segnalibro per identificare il clip audio che si desidera riprodurre e quindi utilizzare tali informazioni nella macro per determinare cosa viene riprodotto. Considera la seguente macro:

Private Sub Document_Open()

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

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

Questa macro presuppone inoltre che il clip audio sia inserito in linea nel documento. Tuttavia, la clip dovrebbe essere contrassegnata con il nome WavSound. La macro seleziona quel segnalibro (il clip audio) e lo riproduce utilizzando il metodo DoVerb.

Questi approcci funzionano bene se vuoi riprodurre un clip audio che fa parte del tuo documento. Potresti voler riprodurre un clip audio che non fa parte del documento. In questo modo, l’icona del clip audio non appare nel documento e rovina l’aspetto del documento.

Il modo in cui lo fai è chiedere all’API di Windows di riprodurre il suono per te. Questo metodo funziona quando si desidera accedere a un file audio che si sa essere già sul computer, purché nel sistema sia installato anche Windows Media Player. Il seguente esempio dovrebbe funzionare su un sistema Windows XP. (La macro può o non può funzionare su un sistema Vista, a seconda di come è configurato il sistema.)

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

La macro Document_Open viene eseguita quando il documento viene aperto, ma chiama la funzione PlaySound. Questa funzione è definita nella dichiarazione privata come alias per il metodo PlaySoundA di winmm.dll. Questo metodo non avvia il lettore multimediale stesso e non inserisce nulla nel corpo del documento.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (3902) si applica a Microsoft Word 97, 2000, 2002 e 2003.