如何将带变量公式(即字符串)替换为VB程序中的数学表达式

2025年03月21日 10:18
有4个网友回答
网友(1):

VB(包括VBA)中没有这样的功能,但在VBScript中则可以实现,所以在VB中通过调用VBScript组件就可间接实现你的目的:

Dim a As Integer, b As Integer, c As Integer

Function CalcStr(StrNum As String) As Double
Set MSSC = CreateObject("MSScriptControl.ScriptControl")
MSSC.Language = "VBScript"
CalcStr = MSSC.Eval(StrNum)
End Function

Private Sub Command1_Click()
a = 1
b = 2
c = 3
MsgBox "a*b+c=" & CalcStr("a*b+c") 
End Sub

网友(2):

如果只是把变量换成数字……实在太方便了。穷举找出所有变量,替换。
比如“a*b+c”其中a=1,b=2,c=3;
直接从头找到第一个不是运算符也不是数的量,找到对应值,替换。
直接替换的函数像VB这种傻瓜化的肯定有的!!

网友(3):

不是一定的,即这个公式不是固定的一个且公式的长度不定,例

网友(4):

感觉是一个不怎么复杂的公式,何不考虑用VBA来实现咧?