excel - 使用引用的单元格作为路径在 excel vb 中打开多个受密码保护的文件,但第二次运行代码会产生错误
问题描述
Open Timesheet 02 的第一部分代码运行良好,但在 Timesheet 03 的第二轮中,当确认文件存在时,该过程会出错。除了单元格引用之外,这两个部分都是相同的。
' 打开时间表第 02 行
Dim TimeSheet02 As Workbook
If Dir(Sheets("Command Sheet").Range("H2").Value, vbDirectory) = vbNullString Then
MsgBox "The Full path of " & Sheets("Command Sheet").Range("H2").Value & " does not exist!!"
Exit Sub
End If
On Error Resume Next
Set TimeSheet02 = Workbooks(Sheets("Command Sheet").Range("H2").Value)
On Error GoTo 0
If TimeSheet02 Is Nothing Then
Set TimeSheet02 = Workbooks.Open(Filename:=Sheets("Command Sheet").Range("H2").Value, Password:=Sheets("Command Sheet").Range("I2"))
End If
' 打开时间表第 03 行
Dim TimeSheet03 As Workbook
If Dir(Sheets("Command Sheet").Range("H3").Value, vbDirectory) = vbNullString Then
MsgBox "The Full path of " & Sheets("Command Sheet").Range("H3").Value & " does not exist!!"
Exit Sub
End If
On Error Resume Next
Set TimeSheet03 = Workbooks(Sheets("Command Sheet").Range("H3").Value)
On Error GoTo 0
If TimeSheet02 Is Nothing Then
Set TimeSheet03 = Workbooks.Open(Filename:=Sheets("Command Sheet").Range("H3").Value, Password:=Sheets("Command Sheet").Range("I3"))
End If
解决方案
通过在打开每个文件后将焦点重置回主工作簿来解决问题...
工作簿(“主工作簿”)。激活
推荐阅读
- flutter - 如何在忽略系统操作的字体大小的情况下修复文本大小?
- winapi - 从系统进程中的模拟线程记录
- xslt-1.0 - 使用 XML 样式表删除与另一个文件中的内容匹配的元素
- java - 试图在模拟服务上验证来自抽象类的方法调用,但我得到了一个 npe
- c++ - MS-Detours 的 tracebld 实用程序无法与 Cygwin 工具链一起正常工作
- git - Sourcetree 删除合并提交到开发
- python - 如何根据具有公共信息的不同数据框中的另一列的值在数据框中创建新列?
- python - Python 服务器在数据框中弄乱了字符串和浮点数
- ios - 在 swift iOS 中为 3 个点设置动画
- amazon-web-services - 在分离的 VPC 中创建 EFS 挂载的 ECS 集群