备注:此文属转贴,原作者帖子地址:http://www.officefans.net/cdb/viewthread.php?tid=15539&extra=page%3D1
算法优化了,程序编完了,调试过关了,接下来便是程序界面的设计问题。许多人都在努力使自己开发的程序界面更加的美观,但除了绞尽脑汁设计安排控件的摆放,、使用颜色、背景图片和底纹,似乎没有更好的方法了?当然并不是说越花哨的界面越好,在软件具备优良功能前提下,如果对软件进行适度包装,将一定会收到锦上添花的效果!
钟爱网络的你我想一定对FLASH不会陌生,它是一种矢量格式的动画文件,包含有动画、声音、超文本链接等许多元素,而文件的体积却很小,能实现流式播放(即边下载边播放),非常适合在当今网速不快的年代网络中运用:如FLASH网页、FLASH广告、FLASH MTV、FLASH短片等等。
本示例将演示FLASH与VBA的完美联结,即借助FLASH制作出漂亮的动态按钮,在EXCEL中实现与VBA的调用。
实现原理:利用Flash的FSCommand()函数,实现信息发送,向VBA程序中的Shockwave flash控件的FSCommand()过程来完成通信,VBA根据接收到的不同的命令及参数来作出相应控制处理。
大体步骤:
一、制作FLASH文件。
(呵呵,不要说你不会哦,随便拿本FLASH书啃一下就会完成这一步)这一步关键就是建立包含按钮及按钮代码的FLASH文件。我们完全可以从共享库里拖几个FLASH提供的漂亮按钮出来直接使用,因为不管怎样都比VBA里那种方方正正、灰灰的按钮强百倍啊(如果有时间就自己设计个性点的吧,笔者的这个例子中的按钮就是自己设计的)。把按钮放好后,给其加入代码:
算法优化了,程序编完了,调试过关了,接下来便是程序界面的设计问题。许多人都在努力使自己开发的程序界面更加的美观,但除了绞尽脑汁设计安排控件的摆放,、使用颜色、背景图片和底纹,似乎没有更好的方法了?当然并不是说越花哨的界面越好,在软件具备优良功能前提下,如果对软件进行适度包装,将一定会收到锦上添花的效果!
钟爱网络的你我想一定对FLASH不会陌生,它是一种矢量格式的动画文件,包含有动画、声音、超文本链接等许多元素,而文件的体积却很小,能实现流式播放(即边下载边播放),非常适合在当今网速不快的年代网络中运用:如FLASH网页、FLASH广告、FLASH MTV、FLASH短片等等。
本示例将演示FLASH与VBA的完美联结,即借助FLASH制作出漂亮的动态按钮,在EXCEL中实现与VBA的调用。
实现原理:利用Flash的FSCommand()函数,实现信息发送,向VBA程序中的Shockwave flash控件的FSCommand()过程来完成通信,VBA根据接收到的不同的命令及参数来作出相应控制处理。
大体步骤:
一、制作FLASH文件。
(呵呵,不要说你不会哦,随便拿本FLASH书啃一下就会完成这一步)这一步关键就是建立包含按钮及按钮代码的FLASH文件。我们完全可以从共享库里拖几个FLASH提供的漂亮按钮出来直接使用,因为不管怎样都比VBA里那种方方正正、灰灰的按钮强百倍啊(如果有时间就自己设计个性点的吧,笔者的这个例子中的按钮就是自己设计的)。把按钮放好后,给其加入代码:
on (release) {
fscommand ("这里写你命名的字符串"); //如"open""saveas"等,一个按钮对应一个,该字串将发送至VBA程序
}
fscommand ("这里写你命名的字符串"); //如"open""saveas"等,一个按钮对应一个,该字串将发送至VBA程序
}
如图
二、在EXCEL中播放FLASH。
这个简单,使用Shockwave Flash.ocx这个控件就可以了。
假如把该控件拖放至Sheet1工作表上,那么在工作簿打开事件中:
Private Sub Workbook_Open()Sub Workbook_Open()
Sheet1.ShockwaveFlash1.Movie = "D:\test.swf" '指定要播放的FLASH文件路径
Sheet1.ShockwaveFlash1.Menu = False '关闭FLASH菜单
Sheet1.ShockwaveFlash1.Playing = True '自动播放
End Sub
Sheet1.ShockwaveFlash1.Movie = "D:\test.swf" '指定要播放的FLASH文件路径
Sheet1.ShockwaveFlash1.Menu = False '关闭FLASH菜单
Sheet1.ShockwaveFlash1.Playing = True '自动播放
End Sub
三、编写VBA代码完成交互。
在设计状态下双击工作表中的Shockwave Flash控件,进入代码编辑窗口,加入如下语句:
Private Sub ShockwaveFlash1_FSCommand()Sub ShockwaveFlash1_FSCommand(ByVal command As String, ByVal args As String)
Select Case command '这里接收在FLASH制作中给每个按钮代码设定的字符串
Case "open"
.
Case "saveas"
.
case
.
End Select
End Sub
Select Case command '这里接收在FLASH制作中给每个按钮代码设定的字符串
Case "open"
.
Case "saveas"
.
case
.
End Select
End Sub
完成以上三步后,你就可以在工作表中用鼠标点击FLASH中的按钮去控制整个VBA程序了。心动了吧?哈哈那就快下载示例体验一下吧
示例界面预览:
点击下载