excel - 检查是否已设置工作簿变量
问题描述
我有一个带有可选工作簿参数的子。我想If
检查该变量是否已通过,如果未将变量设置为活动工作表。
Sub SaveWorkbook(NewPathName As String, Optional Workbook As Workbook)
'This is very simplified, the real thing has various other parameters
If IsNull(Workbook) Then Set Workbook = ActiveWorkbook
'Then loads more stuff
End Sub
我尝试过的事情包括:
IsNull(Workbook)
IsEmpty(Workbook)
Workbook = Nothing
None 触发 If 语句,因此代码尝试继续Workbook
设置为 Empty,然后遇到错误。
解决方案
不要使用单词“Workbook”作为变量名。试试这样:
Sub SaveWorkbook(NewPathName As String, Optional wb As Workbook)
If wb Is Nothing Then
MsgBox "workbook not set"
Set wb = ActiveWorkbook
End If
MsgBox wb.Name
End Sub
推荐阅读
- android - 夜间模式颜色值不适用于回收站视图项目
- python - CSS 文件(main.css)中的图像不使用 Flask 加载
- python - PermissionError:[Errno 13] 权限被拒绝:pyinstaller.exe/zipcodes windows 10
- build - 什么是构建日志文件?
- r - 如何使小数出现在棒棒糖图上
- flutter - image_picker 仅在热重载后显示图像。扑
- ios - 配置 UIView 后如何更改 UIView 的约束?
- html - R-如何将 html 格式添加到适用于囊胚的表格中?
- git - Jenkins 从以前的版本构建
- listbox - 漏洞?ListBoxGroupHeader 和 Frame = 未找到类