ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 38313|回复: 68

[原创] 【如何在Excel中插入自动播放的背景音乐】

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2011-12-14 11:37 | 显示全部楼层 |阅读模式
本帖最后由 chrisfang 于 2011-12-14 15:21 编辑

也许你会很熟练地在PPT中插入背景音乐,设定使其在幻灯片放映时自动播放音乐。但是你并不一定了解如何在Excel中插入可以自动播放的背景音乐,因为在Excel中并不支持直接插入可以播放的音频或视频。

现有的网上比较通行的几种Excel自动播放背景音乐的方案有以下这些:

1,使用Windows Media Player、WebBrowser等类似控件。

缺点是不支持嵌入音频文件,这就意味着Excel文件需要拖家带口随身携带附加的音频文件才能正常播放。而且部分需要VBA编程代码支持。

2,使用插入对象的方式,插入音频文件对象可以实现文件嵌入,但是不支持自动播放。如果需要让音乐自动播放,需要用编程的方法调用OLEobject的Verb:=xlPrimary方法来激活嵌入对象,并且会打开媒体播放器的额外窗口,界面友好度不是很理想。

OLE.png


3,同样是插入对象的方式,但在上述方案基础上,通过编程调用API,来读取OLEobject对象中的嵌入内容来直接进行播放。好处是不会出现上面所提到的媒体播放窗口,缺点是需要很复杂的VBA代码,并且不同格式的音频需要不同的编程代码。

4,除了上述方法以外的其他VBA编程实现方式,通常都需要调用Windows API,编程相对比较复杂,不适合普通用户。


以上这些方案相信一般的用户看了都会头晕,不会VBA几乎无法实现,那么有没有更简单的方法呢?请听我慢慢道来。

很多人都知道如何在PPT或Excel中插入Flash文档,打开文件时Flash动画就可以自动播放。但把Flash仅仅看作是动画就比较狭隘了些,实际上换个角度来看,Flash就是一个多媒体的平台,可以播放视频动画,当然也可以播放音频。把音频文件做成Flash然后插入到Excel当中去,就可以实现本文中所提到的Excel背景音乐功能。


成功案例如下: 圣诞节.rar (1.53 MB, 下载次数: 1451)

其中的Flash控件可以缩小到不被注意甚至不可见。


要把音频文件做成Flash文件,不要想像得很复杂,其实也很简单。有以下几种方案,可以根据自己情况各取所需:

方案1,使用音频转Flash软件,网上有很多,推荐一个MP3 to SWF Converter,可以在这里下载:

MP32SWF.rar (896 KB, 下载次数: 3499)

软件可以将音频文件(包括mp3和wav)转换为Flash播放文件,可以设定自动播放和循环播放,可以设置是否需要控制界面(作为背景音乐,不需要控制界面),如下图所示:

mp32swf.png


方案2,直接使用Flash软件制作,也很简单,首先打开Flash新建一个项目,然后将音频文件导入到库,然后选中第一帧,设置一下声音和循环播放即可(也可以设置重复播放次数),然后就可以生成SWF文件。如下图所示:

FL0.png


FL.png


方案3,有些人会用Camtasia Studio编辑视频,其实音频也一样,插入音频后,制作一个空白视频,然后就可以在生成视频时选择输出格式为Flash,缺点是不能设置循环播放,好处是可以自己对音频进行编辑修改。如下图所示:

CS1.png


CS2.png


音频文件生成Flash文件以后,在Excel当中插入的方法相信很多人都知道,这里也简单描述一下:

步骤1,在【开发工具】选项卡(2003可以直接在工具栏中打开【控件工具箱】)上点击【插入】——【ActiveX控件】——【其他控件】——【Shockwave Flash Object】控件,在表格中插入控件,

步骤2,选中插入的控件,点右键——【属性】,设置一些属性,包括【Movie】:需要给出SWF文件所在路径和文件名;【EmbedMovie】:设置为True表示嵌入Flash,不再需要随身携带文件。2007版本下嵌入功能有BUG;【Loop】:设置为True表示循环。如果需要隐藏控件,可将【Visible】属性设置为False。

如下图所示:

插入.png


以上步骤完成后,点击【退出设计模式】就可以了,保存文档后重新打开就能听到音乐。如果有必要,可以在设计模式下将这个控件的尺寸调到很小不被察觉,甚至可以缩小到不可见。

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-12-14 11:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢版主,收藏!学习!

TA的精华主题

TA的得分主题

发表于 2011-12-14 11:43 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-12-14 12:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这个不错,谢谢。

TA的精华主题

TA的得分主题

发表于 2011-12-14 12:33 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-12-14 12:51 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-12-14 13:11 | 显示全部楼层
呵呵,学习了,把音频文件转换成FLASH文件,然后再潜入Excl里面的思路不错。
    看到这个题目,我先没看内容,自己在一个Excel文件里,插入Windows Media Player对象,然后设置属性:AutoLoad为TRUE(自动播放),PrintObject为False(非打印对象)等,然后设置了URL路径为一个本地音频文件的路径,在设置Visible属性为False(隐藏这个对象),设置完成后,退出设计模式,打开文件就能以背景音乐的模式,正常播放音频文件。但是路径改变,文件就失效,所以我把文件路径改成了网络地址,但是由于网络缓冲,打开文件不能马上播放音乐,播放了还断断续续,还不能循环播放,就像版主说的那样,缺陷很多啊。
后来看了版主的文章,觉得这个思路真的很好,不过最后一点可以完善
以上步骤完成后,点击【退出设计模式】就可以了,保存文档后重新打开就能听到音乐。如果有必要,可以在设计模式下将这个控件的尺寸调到很小不被察觉,甚至可以缩小到不可见。

    其实,要让这个控件不可见,直接设置Visible属性为False就可以了,设置了以后,在VBA编辑器里也看不到任何控件的信息,除非进入设计模式。

点评

有道理,谢谢补充!  发表于 2011-12-14 15:20

TA的精华主题

TA的得分主题

发表于 2011-12-14 17:27 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-12-15 10:04 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-12-16 07:48 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-25 19:22 , Processed in 0.052662 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表