vbsript和excel删除除最后一个之外的所有工作表

我试图删除所有工作表在excel exept最后一个并保存它,然后移动它的位置。 我无法得到它的工作,因为它删除所有其他工作表,但错误超出范围的错误。

Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True objExcel.DisplayAlerts = False Set objWorkbook = objExcel.Workbooks.Open("C:\M-tek 10-31-12_Tony.xlsx") i = objWorkbook.Worksheets.Count Do while i = i i = i - 1 objWorkbook.Worksheets(i).Delete Loop 

你的循环将是无限的,因为你的条件永远不会是假的( i永远等于i )。 所以你需要改变你的循环,从最后一个工作表开始,然后回到第一个工作表。 你快到了

 count = objWorkbook.Worksheets.Count - 1 For i = count To 1 Step -1 objWorkbook.Worksheets{i}.Delete Next 

这应该做到这一点(事实上,我只是testing它)。