我正在创建程序,它将从文本文件中收集工作表名称,并使用这些程序删除用户所选工作簿中的工作表。
我可以收集名称,以下删除例程也显示没有错误。
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
但是,在表单关闭事件期间执行以下例程时。
objWorkBook.Save()
objWorkBook.Close()
objWorkBook = Nothing
objWorkSheets = Nothing
objExcel.Quit()
出现此错误
如果我要输入要直接删除的工作表名称,然后运行该程序,它可以正常工作。但是当我不得不使用数组中的工作表名称时,我无法弄清楚为什么程序停止工作。
谢谢