删除工作表并closures使用VB.net的Excel文件

我创build的程序将从文本文件中收集工作表名称,并使用这些来删除用户所选工作簿中的工作表。

我能够收集名称,以下删除例程也显示没有错误。

Try Dim sheetname As String = "" Dim indexcounter As Integer = 0 objExcel.DisplayAlerts = False For index As Integer = 0 To worksheet_remove.Length - 1 Step 1 sheetname = CStr(worksheet_remove(Index)) 'worksheet_remove is an array that has the stored excel sheets names. For Each ws In objWorkBook.Worksheets If ws.Name = sheetname Then ws.delete() Next Next objExcel.DisplayAlerts = True MessageBox.Show ("complete") Catch ex As Exception MessageBox.Show (ex.toString) Finally GC.Collect() End Try 

但是,在表单closures事件中执行以下例程时。

 objWorkBook.Save() objWorkBook.Close() objWorkBook = Nothing objWorkSheets = Nothing objExcel.Quit() 

出现此错误

在这里输入图像说明

如果我要键入的工作表名直接删除,然后运行该程序工作正常。 但我不知道为什么程序停止工作时,它必须从数组中使用工作表名称。

谢谢