打字机效果是一种简单的动态文字输出效果,本节介绍vba如何实现逐字打印的输出效果。
很简单,但用起来却非常有意思。
下面具体看一下实现过程。
下图 文字为输出的结果,但不是整个输出的过程,由于懒惰的原因,就不做gif图片了 。
有兴趣可以复制代码自己调试,看看是什么样的过程。
重点来看代码:
Option Explicit
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwmilliseconds As Long) Private Sub CommandButton1_Click()
Dim xStr As String, sStr As String, i As Integer, ix As Integer xStr = "欢迎来到奇异世界,这里有你想不到惊喜,一定要玩尽兴!" & VBA.vbCrLf & _ "那些我们曾经的以为,后来都变成了不可能;那些我们不曾认识的自己" & _ ",后来都变成了真实的自己。。。" For i = 1 To VBA.Len(xStr)
sStr = VBA.Mid(xStr, 1, i) Range("B2").Value = sStr Sleep 200 Next i End Sub
代码中要注重两行,一行是第2行,另一行是11行,这两行决定了输出过程中的停顿效果。
它是利用windows系统库,所以如果在使用过程中没有出现打印效果,那么就要想一下,是不是操作系统的问题。
其余就好理解了。
整体思路就是,输出一字符串,输出过程是每200毫秒输出一次,可以在程序中找到200这个数字,如果愿意可以修改成自己喜欢的数字来看一下结果。
其中,字符串进行了一个截取操作,也就是每次输出的字符比上一次输出的多一个,这样就会感觉像是在打字一样,一个一个字符输出了。
严格来说,如果知道了原理,感觉像是一种很可笑的操作。
不管怎样,样子就是那个样子,有时候骗骗自己的眼睛也一种乐趣。
欢迎关注、收藏