静态函数/子与静态变量

时间:2019-02-17 18:12:46

标签: vba

随后的两个子代码在以下方面会有根本的区别:

  1. 潜艇范围? (此问题主要适用于第二个问题 常规)
  2. 内部变量声明的范围?
  3. 一个人与另一个人的应用?

1:

Sub test1()
    Static x As Byte
    x = 1
End Sub

2:

Static Sub test2()
    Dim y As Byte
    y = 2
End Sub

1 个答案:

答案 0 :(得分:1)

完成整个过程Staticdeclaring all its local variables Static的快捷方式。

因此,子对象之间实际上没有区别,因为实际上它们的所有局部变量都声明为Static,因此两次调用之间的声明是preserved

但是,就像在两个子例程中一样,您在变量声明之后立即将值手动覆盖为其他值,保留值的效果对您没有任何帮助。

subs的范围(保持Static之前的值)或局部变量的范围(它们保持局部)没有区别。

相关问题