哈哈。你想根据A的值来定义一个新的变量吗。Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As LongPrivate Sub Command1_Click() Dim a As String a = "中国" ExecuteLine "dim " & a & " as long" ExecuteLine a & " = 10" ExecuteLine "debug.print " & a End SubPublic Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0 End Function 10不过这样做似乎没啥意义
//变量的定义不能以中文开头 可以啊,以前我有个程序, 里面除了sub,if 这些关键字,其他全是中文。 Private Sub Command2_Click() Dim 国 As String 国 = "123" Debug.Print 国 End Sub
类似宏替换吗?vb可以实现,但被替换的变量必须用public关键字声明:Public b As StringPrivate Sub Command1_Click() Dim a As String b = "hello,this is test" a = "b" Dim c As String c = CallByName(Me, a, VbGet) MsgBox c End Sub
Private Sub Command1_Click() Dim 中国 As String 中国 = "你好" MsgBox 中国 End Sub
Dim a As String
a = "中国"
ExecuteLine "dim " & a & " as long"
ExecuteLine a & " = 10"
ExecuteLine "debug.print " & a
End SubPublic Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function
10不过这样做似乎没啥意义
可以啊,以前我有个程序, 里面除了sub,if 这些关键字,其他全是中文。
Private Sub Command2_Click()
Dim 国 As String
国 = "123"
Debug.Print 国
End Sub
Dim a As String
b = "hello,this is test"
a = "b"
Dim c As String
c = CallByName(Me, a, VbGet)
MsgBox c
End Sub
Dim 中国 As String
中国 = "你好"
MsgBox 中国
End Sub