一个把黑线涂黄的VBA小游戏。
设计
这是一个把黑线涂黄的 Excel VBA 小游戏。
在讲到具体技术部分之前,我想先讲一下它的设计来源。
它是源于一个用线把电带去不同地方的视频,视频里有一只手把电线连接起来,光明就出现了。我很喜欢这个视频,觉得它传达了一种很光明的寓意。所以我做的这个小游戏也是通过把原本黑色的线变成黄色,带来光明和美好的东西。
这是我在21年5月的时候做的,但是当时没有写太多关于它的东西。有两个原因,一是不知道大家会不会对它感兴趣(其中涉及到的技术十分简单),另外就是觉得它作为一个小作品展示了太多对内心的探索的过程。偶然间翻到它的视频,就找了半天,找到了原本的文件,决定在这里和大家展示一下它是怎样做出来的。
结果展示
打开Excel,首先出现的是一个提示,让我们把黑色的线涂黄
涂到把小房子连接起来之后,房子的窗户就会自动亮起来,并展示一段话"This will be our house"
继续向下涂,涂到每个灯的下方就会把灯点亮
把三个灯点亮后就会出现一行字:This will be our way home
下一个场景是一只猫
涂到这只猫的时候,猫的眼睛就会亮,出现一行字: This will be our cat: Meou
然后点亮的是戒指的中心
最后点亮的是相依的十字架,这是因为视频长度的原因没有截到的部分。
技术讲解
这里用到了VBA Event事件,就是Excel可以监控你做了什么并根据做的内容做出反应。
双击VBA编辑器下方的Sheet1
在编辑器的最上方位置选到Worksheet和Selection Change
然后会自动出现如下代码,在这段代码中间写的代码会在每次Excel单元格选择的范围变化的时候运行。
这里先不要急着写代码,先命名一下需要引用到的范围。每段线我都会命名为line1, line2 依次向下排列;每个需要自动点亮的位置会命名为Target1, Target2... 依次向下排列;每段话都会命名为love1, love2... 依次向下排列。
然后在代码框里面写
1 | Private Sub Worksheet_SelectionChange(ByVal Target As Range) |
本文 VBA 源代码点击阅读原文进入精算后花园论坛下载。
正在检查 Disqus 能否访问...