VBA研究显示GIF动态图片

Posted 宋哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBA研究显示GIF动态图片相关的知识,希望对你有一定的参考价值。

iamlaosong文

一个小需求,要求输入某个数字后显示一个鼓掌的动态图片。Excel是无法显示动态图片的,不过可以用浏览器控件显示动态图片。有两种方式,一是插入窗体,在窗体中插入浏览器控件;二是直接插入控件到工作表,然后控制其显示。

下面以直接插入到工作表为例,看看如何完成。

1、点击“开发工具”选项卡下面的“插入”,弹出菜单中点击“其它”图标,在弹出窗口中选择“Microsoft Web Browser”控件,点击“确定”按钮,如下图:


2、光标变成“十”字,在工作表上画一个矩形框,这就是用来显示GIF图片的方框,调整好位置后点击“开发工具”选项卡下面的“设计模式”,退出设计模式才会显示图片

3、进入VBA编辑器,插入模块,输入下面代码:

Sub disp()
    ActiveSheet.WebBrowser1.Visible = True
    ActiveSheet.WebBrowser1.Navigate ThisWorkbook.Path & "\\掌声.gif"
End Sub

Sub undisp()
    ActiveSheet.WebBrowser1.Visible = False
End Sub

4、双击“ThisWorkbook”,输入一下代码:

'检测工作表变化
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Column = 10 And Target.Row >= 4 And Target.Row <= 8 Then
        If Target.Value = 0.27 Then
            disp
        Else
            undisp
        End If
    Else
        undisp
    End If
End Sub

5、为了保证效果,按回车后单元格位置不变化,需要去掉移动勾选:



6、至此,工作完成,当指定单元格输入27%按回车后就会显示动态图片,点击其它单元格,图片关闭。点击指定区域的单元格,如果值为27%,也会显示图片,效果如下:



7、如要调整显示位置,需要点击“开发工具”选项卡下面的“设计模式”,进入设计模式就可以调整位置。

8、如果将图片换成带图片和声音的网页,估计效果会更好。


以上是关于VBA研究显示GIF动态图片的主要内容,如果未能解决你的问题,请参考以下文章

如何使用PHP添加GIF动态图片验证码

安卓中如何添加显示gif动态图片?

Swift 玩转gif

在WPF显示动态GIF图片

Qt如何显示一个动态的GIF图片

winform gif图片静态显示问题