如何在 VBA 中使用方括号进行字符串评估?
How to use square brackets for a string evaluation in VBA?
使用方括号进行字符串评估,我试图使 [inputString]
return 320
。
有什么想法吗?
Public Sub TestMe()
Dim inputString As String
inputString = "20+300"
Debug.Print Application.Evaluate(inputString) 'ok
Debug.Print Evaluate([inputString]) 'ok
Debug.Print [20+300] 'ok
Debug.Print ["20"+"300"] 'ok
Debug.Print ["20"+300] 'ok
Debug.Print [inputString] 'returns "20+300" and not 320
End Sub
From the link in the comment: "Using square brackets (for example, "[A1:C5]") 与使用字符串参数调用 Evaluate 方法相同。"
我读到的意思是:
Evaluate("20+10")
等同于 [20+10]
,其中 Evaluate 函数获取字符串并在计算之前转换为文字解释。
但 ["20+10"]
只等同于计算一个字符串 "20+10"
Debug.Print ["20"+"300"]
起作用的原因是 VBA 非常擅长将“20”自动转换为 20。
使用方括号进行字符串评估,我试图使 [inputString]
return 320
。
有什么想法吗?
Public Sub TestMe()
Dim inputString As String
inputString = "20+300"
Debug.Print Application.Evaluate(inputString) 'ok
Debug.Print Evaluate([inputString]) 'ok
Debug.Print [20+300] 'ok
Debug.Print ["20"+"300"] 'ok
Debug.Print ["20"+300] 'ok
Debug.Print [inputString] 'returns "20+300" and not 320
End Sub
From the link in the comment: "Using square brackets (for example, "[A1:C5]") 与使用字符串参数调用 Evaluate 方法相同。"
我读到的意思是:
Evaluate("20+10")
等同于 [20+10]
,其中 Evaluate 函数获取字符串并在计算之前转换为文字解释。
但 ["20+10"]
只等同于计算一个字符串 "20+10"
Debug.Print ["20"+"300"]
起作用的原因是 VBA 非常擅长将“20”自动转换为 20。