excel - VBA - 尽管 On Error Resume Next 出现“下标超出范围”错误
问题描述
下面的代码应该检查当前是否打开了“Book1.xlsx”工作簿。如果不是,那么它应该打开它。
当它检查打开的工作簿但找不到它时,程序应该抛出“下标超出范围”错误。为了解决这个问题,我添加了“On error resume next”,但它仍然会在屏幕上弹出。
你知道为什么错误捕获例程没有处理这个问题(错误应该被忽略并继续执行代码)吗?
Sub TestBook()
Dim strBookName As String, filepath As String, TestBook As Workbook, usr As String
usr = Environ("username")
filepath = "C:\Users\" & usr & "\Desktop\book1.xlsx"
strBookName = "book1.xlsx"
On Error Resume Next
Set TestBook = Workbooks(strBookName)
On Error GoTo 0
If TestBook Is Nothing Then
Set TestBook = Workbooks.Open(FileName:=filepath)
Else
MsgBox strBookName & " is open", vbOKOnly + vbInformation
End If
End Sub
解决方案
推荐阅读
- python - Python - 分组列表并排序最低
- google-chrome - Chrome 忽略 302 HTTPS 到 HTTP 资源重定向并导致 CERT 错误
- sql-server - 需要计算表TPS(Transactions Per Second)
- android - 我所有的 xml 文件在 AndroidStudio 项目中都有错误
- angular - 如何检查“100”是否与数据库中以“100”开头的任何内容匹配?
- ios - 如何在 Facebook SDK for iOS 中连接 App Delegate?
- flutter - 如何用dart将异步函数写成同步函数?
- javascript - Javascript页面进入事件
- asp.net - 使用 SQLite 数据库在 Azure 上发布时出现“实体框架 SQL 脚本生成失败”错误
- i2c - 为什么 `i2c_smbus_write_byte_data` 在 uClinux 2.4 上会返回“不允许操作”?