使用VBScript删除Excel工作表

时间:2018-08-03 13:36:26

标签: excel vbscript

当脚本执行时,我尝试使用vbscript删除名为“ sheet3”的excel工作表

  

“ test.vbs sheet3 test.xlsx”   “ oBook.sheets(“ sheetname”)行。选择”,

     

报告错误800A0009,

如何解决这个问题?

脚本:(test.vbs)

Set objFSO = CreateObject("Scripting.FileSystemObject")

sheetname = objFSO.GetAbsolutePathName(Wscript.Arguments.Item(0))
src_file = objFSO.GetAbsolutePathName(Wscript.Arguments.Item(1))

Dim oExcel
Set oExcel = CreateObject("Excel.Application")

Dim oBook
Set oBook = oExcel.Workbooks.Open(src_file)    

oExcel.DisplayAlerts = False    
oExcel.ScreenUpdating = False    

oBook.sheets("sheetname").Select 
oBook.sheets("sheetname").Delete   

oBook.save
oBook.close

oExcel.DisplayAlerts = True 
oExcel.ScreenUpdating = True 

oExcel.Quit

enter image description here

1 个答案:

答案 0 :(得分:0)

由于没有名为“ sheetname”的工作表而收到错误。请尝试以下操作,然后您可以使用传递到脚本中的工作表名称作为第一个参数:

Set objFSO = CreateObject("Scripting.FileSystemObject")

sheetname = Wscript.Arguments.Item(0)
src_file = objFSO.GetAbsolutePathName(Wscript.Arguments.Item(1))

Dim oExcel
Set oExcel = CreateObject("Excel.Application")

Dim oBook
Set oBook = oExcel.Workbooks.Open(src_file)    

oExcel.DisplayAlerts = False    
oExcel.ScreenUpdating = False    

oBook.sheets(sheetname).Delete   

oBook.save
oBook.close

oExcel.DisplayAlerts = True 
oExcel.ScreenUpdating = True 

oExcel.Quit