我有相当数量的全局变量,并且在调试期间跟踪它们我使用手表。然而,在每个会话开始时一次又一次地添加所有这些都很烦人。有没有办法保存和加载它们?或者,如果无法通过代码添加它们?
答案 0 :(得分:8)
在名为WatchedVariables的类中,您可以拥有
Option Explicit
Private str_Variable1_Prev As String
Private str_Variable1 As String
Public Property Let strVariable1(value As String)
str_Variable1_Prev = str_Variable1
str_Variable1 = value
If str_Variable1 <> str_Variable1_Prev Then
Debug.Print "Variable 1 has changed"
Else
End If
End Property
然后你就可以访问你观察到的变量了,比如clsWatchedVariables.strVariable1 =&#34; nathan&#34;
但是,这可能有助于Find specific text in VBA watch list
答案 1 :(得分:6)
它不是很漂亮,但您可以使用Application.SendKeys添加手表。我不知道语言区域设置是否会影响快捷键。以下内容适用于英语。
限制是你只能使用当前模块或所有模块之类的东西(即一直向上或向下滚动),但不能用于范围的特定其他模块。您可以通过使用VBIDE查找有多少模块等来修复此限制,因此可以向上滚动特定模块的次数。我没有为下面的代码做这个,因为这是一个概念证明 - 我把有趣的部分留给你: - )
用法:使用指定的参数调用AddWatch子。您可以在开始新会话时将这些添加到您调用的子中,如我的“HelloNewSession()”中所示
运行代码时,VBE必须处于焦点。您可以手动执行此操作,也可以使用VBIDE对象设置焦点。
sudo apt-get install -f default-jre
sudo apt-get install -f default-jdk