首页 > 解决方案 > 使用引用的单元格作为路径在 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

标签: excelvbaexcel-2010

解决方案


通过在打开每个文件后将焦点重置回主工作簿来解决问题...

工作簿(“主工作簿”)。激活


推荐阅读