如何使用vb.net代码从现有excel文件中删除某些特定工作表?

如何使用vb.net代码从现有excel文件中删除某些特定工作表?,vb.net,Vb.net,我试着用下面的vb.net代码从excel文件中删除一些特定的工作表,但它没有给我预期的结果。实际上,我需要将vb.net代码添加到UiPath中的“调用vba”活动中。这里我附上了我所有工作的快照。我是vb.net的新手,需要对下面的代码进行澄清 Try app = New Microsoft.Office.Interop.Excel.ApplicationClass workbook= app.Workbooks.Open(filePath) TryCast(workbook.Sheets

我试着用下面的vb.net代码从excel文件中删除一些特定的工作表,但它没有给我预期的结果。实际上,我需要将vb.net代码添加到UiPath中的“调用vba”活动中。这里我附上了我所有工作的快照。我是vb.net的新手,需要对下面的代码进行澄清

Try

app = New Microsoft.Office.Interop.Excel.ApplicationClass
workbook= app.Workbooks.Open(filePath)
TryCast(workbook.Sheets(sheetName),Worksheet).Delete()
workbook.Save
System.Diagnostics.Process.GetProcessesByName("excel")(0).Kill

Catch ex As Exception

End Try

您可以将Excel应用程序范围工作簿的输出创建为Excel工作簿

使用ExcelWorkbook.GetSheets获得工作表,并对每个循环进行迭代,如下所示: Excel工作簿.GetSheets中的每个项

现在您有了每个工作表的名称,您可以执行删除操作,也可以跳过它


谢谢!!希望对你有所帮助

非常感谢你的回答。在这里,我自己解决了这个问题,包括两个小代码行,如下所示

Try

    app = New Microsoft.Office.Interop.Excel.ApplicationClass
    workbook= app.Workbooks.Open(filePath)
    app.DisplayAlerts = False
    TryCast(workbook.Sheets(sheetName),Worksheet).Delete()
    app.DisplayAlerts = True
    workbook.Save
    System.Diagnostics.Process.GetProcessesByName("excel")(0).Kill

    Catch ex As Exception

End Try

你说的没有给我预期的结果。你得到了什么结果?空捕获声明可能是一个问题的第一个迹象…空捕获声明是我个人的不满…它有你需要的信息告诉你什么是错误的。绝对不能使用空的
Catch
块。看一下最热门的答案你真的需要使用VB.NET代码吗?或者,您可以发送相应的热键来删除工作表:请仅使用与您的问题相关的标记。