Vbscript 遍历函数名
我将所有函数名都放在Excel表格中。我正在使用VBScript中的ADO连接连接到此Excel工作表。现在我想调用从Excel获取的每个函数 我正在使用下面的代码,但它给了我错误。有人能告诉我如何使用循环迭代和调用不同的函数吗Vbscript 遍历函数名,vbscript,Vbscript,我将所有函数名都放在Excel表格中。我正在使用VBScript中的ADO连接连接到此Excel工作表。现在我想调用从Excel获取的每个函数 我正在使用下面的代码,但它给了我错误。有人能告诉我如何使用循环迭代和调用不同的函数吗 myXlsFile = "D:\func.xlsx" Set objExcel = CreateObject("ADODB.Connection") objExcel.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Sour
myXlsFile = "D:\func.xlsx"
Set objExcel = CreateObject("ADODB.Connection")
objExcel.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & myXlsFile & _
";Extended Properties=""Excel 12.0;IMEX=1;"
qry = "Select * from [Sheet1$]"
Set dbconnect = objExcel.Execute(qry)
While dbconnect.Eof <> True
func_name = dbconnect.fields("func")
"Call " & func_name & "()"
dbconnect.MoveNext
Wend
Function sum()
a = 10
b = 10
c = a+b
MsgBox c
End Function
Function multiply()
a = 10
b = 10
c = a*b
MsgBox c
End Function
myXlsFile=“D:\func.xlsx”
设置objExcel=CreateObject(“ADODB.Connection”)
objExcel.Open“Provider=Microsoft.ACE.OLEDB.12.0;数据源=“&myXlsFile&_
“扩展属性=”“Excel 12.0;IMEX=1;”
qry=“从[Sheet1$]中选择*
设置dbconnect=objExcel.Execute(qry)
而dbconnect.Eof为True
func_name=dbconnect.fields(“func”)
“调用”&func_name&“()”
dbconnect.MoveNext
温德
函数和()
a=10
b=10
c=a+b
MsgBox c
端函数
函数乘法()
a=10
b=10
c=a*b
MsgBox c
端函数
首先也是最重要的一点,您在这里尝试的是一种非常糟糕的元编程方法永远不要在生产代码中执行类似操作
话虽如此,VBScript不会解释代码中的空字符串。线路
"Call " & func_name & "()"
只会引发预期的语句结束错误。你需要这样的表达
Eval GetRef(func_name)
Execute func_name
ExecuteGlobal func_name
感谢我使用GetRef方法的建议。