也许你会很熟练地在PPT中插入背景音乐,设定使其在幻灯片放映时自动播放音乐(具体参见:PPT幻灯片通过切换声音插入背景音乐的方法)。但是你并不一定了解如何在Excel中插入可以自动播放的背景音乐,因为在Excel中并不支持直接插入可以播放的音频或视频。
现有的网上比较通行的几种Excel自动播放背景音乐的方案有以下这些:
1、使用Windows Media Player、WebBrowser等类似控件。
缺点是不支持嵌入音频文件,这就意味着Excel文件需要拖家带口随身携带附加的音频文件才能正常播放。而且部分需要VBA编程代码支持。
2、使用插入对象的方式,插入音频文件对象可以实现文件嵌入,但是不支持自动播放。如果需要让音乐自动播放,需要用编程的方法调用OLEobject的Verb:=xlPrimary方法来激活嵌入对象,并且会打开媒体播放器的额外窗口,界面友好度不是很理想。
3、同样是插入对象的方式,但在上述方案基础上,通过编程调用API,来读取OLEobject对象中的嵌入内容来直接进行播放。好处是不会出现上面所提到的媒体播放窗口,缺点是需要很复杂的VBA代码,并且不同格式的音频需要不同的编程代码。
4、除了上述方法以外的其他VBA编程实现方式,通常都需要调用Windows API,编程相对比较复杂,不适合普通用户。
以上这些方案相信一般的用户看了都会头晕,不会VBA几乎无法实现,那么有没有更简单的方法呢?请听我慢慢道来。
很多人都知道如何在PPT或Excel中插入Flash文档,打开文件时Flash动画就可以自动播放。但把Flash仅仅看作是动画就比较狭隘了些,实际上换个角度来看,Flash就是一个多媒体的平台,可以播放视频动画,当然也可以播放音频。把音频文件做成Flash然后插入到Excel当中去,就可以实现本文中所提到的Excel背景音乐功能。
成功案例如下:http://pan.baidu.com/s/1fGdXW
其中的Flash控件可以缩小到不被注意甚至不可见。
要把音频文件做成Flash文件,不要想像得很复杂,其实也很简单。有以下几种方案,可以根据自己情况各取所需:
方案1、使用音频转Flash软件,网上有很多,推荐一个MP3 to SWF Converter,可以在这里下载:
MP3 to SWF Converter 2.4 绿色版SWF音频转换软件免费下载
软件可以将音频文件(包括mp3和wav)转换为Flash播放文件,可以设定自动播放和循环播放,可以设置是否需要控制界面(作为背景音乐,不需要控制界面),如下图所示:
方案2、直接使用Flash软件制作,也很简单,首先打开Flash新建一个项目,然后将音频文件导入到库,然后选中第一帧,设置一下声音和循环播放即可(也可以设置重复播放次数),然后就可以生成SWF文件。如下图所示:
方案3、有些人会用Camtasia Studio编辑视频,其实音频也一样,插入音频后,制作一个空白视频,然后就可以在生成视频时选择输出格式为Flash,缺点是不能设置循环播放,好处是可以自己对音频进行编辑修改。如下图所示:
音频文件生成Flash文件以后,在Excel当中插入的方法相信很多人都知道,这里也简单描述一下:
步骤1、在【开发工具】选项卡(2003可以直接在工具栏中打开【控件工具箱】)上点击【插入】——【ActiveX控件】——【其他控件】——【Shockwave Flash Object】控件,在表格中插入控件,
步骤2、选中插入的控件,点右键——【属性】,设置一些属性,包括【Movie】:需要给出SWF文件所在路径和文件名;【EmbedMovie】:设置为True表示嵌入Flash,不再需要随身携带文件。2007版本下嵌入功能有BUG;【Loop】:设置为True表示循环。如果需要隐藏控件,可将【Visible】属性设置为False。
如下图所示:
以上步骤完成后,点击【退出设计模式】就可以了,保存文档后重新打开就能听到音乐。如果有必要,可以在设计模式下将这个控件的尺寸调到很小不被察觉,甚至可以缩小到不可见。