使用VB.net删除工作表并关闭excel文件

时间:2016-04-21 13:55:29

标签: vb.net excel

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

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

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()

出现此错误

enter image description here

如果我要输入要直接删除的工作表名称,然后运行该程序,它可以正常工作。但是当我不得不使用数组中的工作表名称时,我无法弄清楚为什么程序停止工作。

谢谢

0 个答案:

没有答案