ExcelFans

[清者自清]

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
      备注:此文属转贴,原作者帖子地址: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里那种方方正正、灰灰的按钮强百倍啊(如果有时间就自己设计个性点的吧,笔者的这个例子中的按钮就是自己设计的)。把按钮放好后,给其加入代码

    on (release) {
    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


三、编写VBA代码完成交互。
在设计状态下双击工作表中的Shockwave Flash控件,进入代码编辑窗口,加入如下语句:

Private Sub ShockwaveFlash1_FSCommand()Sub ShockwaveFlash1_FSCommand(ByVal command As StringByVal args As String)
    
Select Case command '这里接收在FLASH制作中给每个按钮代码设定的字符串
         Case "open"
        .     
        
Case "saveas"
        .     
        
case 
        .    
    
End Select
End Sub


  完成以上三步后,你就可以在工作表中用鼠标点击FLASH中的按钮去控制整个VBA程序了。心动了吧?哈哈那就快下载示例体验一下吧

  示例界面预览:


点击下载

posted on 2008-07-06 07:58  ExcelFans  阅读(3663)  评论(0编辑  收藏  举报