|
各位高手,请教个问题,关于vbs脚本里面保存excel的函数,脚本如下:
dim tmpExcel
tmpExcel = "D:\qtp\DBTest\tmp.xls"
Set excelapp = CreateObject("excel.application")
excelapp.Workbooks.Open (tmpExcel) '打开工作薄
Call SaveWorkbook(excelapp, "tmp","D:\qtp\DBTest\a.xls")
' *********************************************************************************************
' 函数说明:保存工作薄;
' 参数说明:
' (1)ExcelApp:Excel应用程序名称;
' (2)workbookIdentifier:属于ExcelApp的工作薄名称;
' (3)path:保存的路径;
' 返回结果:
' (1)保存成功,返回字符串:OK
' (2)保存失败,返回字符串:Bad Worksheet Identifier
' 调用方法:
' ret = SaveWorkbook(ExcelApp, "Book1", "D:\Example1.xls")
' *********************************************************************************************
Function SaveWorkbook(ExcelApp, workbookIdentifier, path) 'As String
Dim workbook
On Error Resume Next '启用错误处理程序
Set workbook = ExcelApp.Workbooks(workbookIdentifier)
On Error GoTo 0 '禁用错误处理程序
If Not workbook Is Nothing Then
If path = "" Or path = workbook.FullName Or path = workbook.Name Then
workbook.Save
Else
Set fso = CreateObject("scrīpting.FileSystemObject")
'判断路径中是否已添加扩展名.xls
If InStr(path, ".") = 0 Then
path = path & ".xls"
End If
'删除路径下现有同名的文件
On Error Resume Next
fso.DeleteFile path
Set fso = Nothing
Err = 0
On Error GoTo 0
workbook.SaveAs path
End If
SaveWorkbook = "OK"
Else
SaveWorkbook = "Bad Workbook Identifier"
End If
End Function
'*****************************************************************************
现在问题如下,我对excel文件执行编辑以后,每次执行到函数里面 " If Not workbook Is Nothing Then"这里时候,都提示"缺少对象
Line (144): "If Not workbook Is Nothing Then". "; 而且" Set workbook = ExcelApp.Workbooks(workbookIdentifier)"后,workbook这个值显示的是"no value",每次都执行不下去,请问这是甚么原因呢,我试过好多方法都不管用,是不是跟我的参数传的有问题?
我的想法是把tmp.xls这个文件编辑后,然后保存为a.xls,另外tmp.xls的sheet名字也叫"tmp",请问我这样用这个函数问题在哪儿?
各位高手有没有个完整的实例来解释下这个保存excel的函数?万分感谢,这个函数也是我自己从网上搞来的 |
|