自动声音剪辑(Microsoft Word)
Word文档可以包含的内容远远超过文本。您还可以包括图形和多媒体对象,例如声音片段。播放声音剪辑的通常方法是双击文档中的声音图标。如果您想在第一次打开文档时开始播放声音片段而无需双击怎么办?
解决此问题的最佳方法是使用宏。您可以轻松创建一个在打开文档时自动运行的宏,并且该宏可以播放声音文件。以下是一个非常简单的宏,它可以执行此操作:
Private Sub Document_Open() ThisDocument.InlineShapes(1).Select Selection.InlineShapes(1).OLEFormat.DoVerb VerbIndex:=wdOLEVerbPrimary End Sub
该宏假定声音剪辑是插入到文档中的第一个对象。如果不是,则需要在InlineShapes集合中找出剪辑的索引号,并在宏中使用该索引值。
宏的核心使用DoVerb方法,该方法是对OLE对象(在本例中为声音文件)执行不同操作的通用方法。 VerbIndex参数确定执行的操作。
在这种用法中,将VerbIndex设置为等于wdOLEVerbPrimary,这意味着“此类型OLE对象的主要操作”。由于这是一个声音文件,因此主要的操作是播放它。
也许更好的方法是利用Word的书签功能来发挥自己的优势。您可以使用书签来标识要播放的声音片段,然后在宏中使用该信息来确定要播放的内容。请考虑以下宏:
Private Sub Document_Open() Selection.GoTo What:=wdGoToBookmark, Name:="WavSound" Selection.InlineShapes(1).OLEFormat.DoVerb VerbIndex:=wdOLEVerbPrimary End Sub
此宏还假定声音片段内联放置在文档中。但是,应使用名称WavSound将剪辑添加书签。宏选择该书签(声音剪辑)并使用DoVerb方法播放。
如果您要播放属于文档一部分的声音片段,则这些方法效果很好。您可能想播放不是文档一部分的声音片段。这样,声音片段的图标就不会出现在文档中,并且会弄乱文档的外观。
完成此操作的方法是要求Windows API为您播放声音。只要您要访问计算机上已知的声音文件(只要系统还安装了Windows Media Player),此方法就可以使用。以下示例应在Windows XP系统上工作。 (取决于Vista的配置方式,该宏在Vista系统上可能有效,也可能不起作用。)
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
Document_Open宏在打开文档时运行,但是会调用PlaySound函数。此函数在私有声明中定义为winmm.dll的PlaySoundA方法的别名。此方法不会启动媒体播放器本身,也不会在文档正文中插入任何内容。
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本技巧(3902)适用于Microsoft Word 97、2000、2002和2003。