带function的Vbscript类提取Excel数据

我有一个VB脚本类,具有提取特定的Excel数据的function。 问题是,每个函数都必须打开excel,因此当打开的excel文件数量变多时,我的机器就会窒息。 有没有办法打开Excel只有一次,然后有我的function提取数据?

这是我的代码。

Class TestData 'User Name Function usrNm(filepath) set ObjExcel = CreateObject("Excel.application") ObjExcel.workbooks.open ""&filepath& "\TestData\PosTestData.xls" U_NAME = ObjExcel.sheets(1).cells(2,1) usrNm = U_NAME End Function 'User Password Function usrPwd(filepath) set ObjExcel = CreateObject("Excel.application") ObjExcel.workbooks.open ""&filepath& "\TestData\PosTestData.xls" U_PASS = ObjExcel.sheets(1).cells(2,2) usrPwd = U_PASS End Function End Class 

只有一个函数和没有成员数据的类是没有意义的。 如果你.Quit了Workbook,并且在usrPwd() .Quit Excel,那么函数“works”是独立的/没有class。

如果你坚持OOP,在Class_Terminate创build/打开Excel.Application并在Class_TerminateClass_Terminate ; .OpenusrPwd()方法usrPwd()的工作簿。

 Class TestData Private ObjExcel Sub Class_Initialize Set ObjExcel = CreateObject("Excel.application") End Sub Sub Class_Terminate objExcel.Quit End Sub Function UserName(filepath) ObjExcel.workbooks.open filepath & "\TestData\PosTestData.xls" UserName = ObjExcel.sheets(1).cells(2,1) End Function Function UserPassword(filepath) ObjExcel.workbooks.open filepath & "\TestData\PosTestData.xls" UserPassword = ObjExcel.sheets(1).cells(2,2) End Function End Class