VBA 32位,159 157 143 141 134个字节
VBA没有允许等待少于一秒的时间的内置函数,因此我们必须从 kernel32.dll
32位声明语句(41个字节)
Declare Sub Sleep Lib"kernel32"(ByVal M&)
64位声明语句(49字节)
Declare PtrSafe Sub Sleep Lib"kernel32"(ByVal M&)
此外,我们必须包含一个DoEvents
标志,以避免无限循环使Excel显得无响应。然后,最后一个函数是一个子例程,该子例程不输入任何内容并输出到VBE立即窗口。
立即窗口功能,93字节
匿名VBE立即窗口功能,无需输入即可输出到A1
ActiveSheet上的范围
s="... .... .":Do:DoEvents:Sleep 100:[A1]="["&Mid(s,10-i,10)&"]":i=(i+1)Mod 10:Loop
旧版本,109字节
立即窗口功能,无需输入即可输出到VBE立即窗口。
s="... .... .":i=0:Do:DoEvents:Sleep 100:Debug.?"["&Mid(s,10-i,10)&"]":i=(i+1) Mod 10:Loop
取消格式化
Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal M&)
Sub a()
Dim i As Integer, s As String
s = "... .... ."
i = 0
Do
Debug.Print [REPT(CHAR(10),99]; "["; Mid(s, 10 - i, 10); "]"
DoEvents
Sleep 100
i = (i + 1) Mod 10
Loop
End Sub
-2字节,用于删除空白
-30个字节,用于正确计数
-14个字节,用于转换为即时窗口功能
输出量
下面的gif使用完整的子例程版本,因为我懒得用即时窗口功能重新记录下来。