|
楼主 |
发表于 2024-12-24 16:53
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
请看如下代码:
此过程要多次打开多个文件,每次按下ESC就会发生打开文件错误,后续处理后第二次自动打开(此时没有ESC干扰)就无论如何也打不开了,提示的错误和第一次一样,错误编码1004,我理解这个问题的关键是一旦在打开文件时受阻,除非手动调试才可以再次打开文件,否则就永远打不开,即使此时去打开另一个文件也一样打不开。我的目的很简单:第一次受到干扰后自动重新打开文件即可,整个过程不受影响。
Private Sub UserForm_Initialize()
Application.EnableCancelKey = xlDisabled
On Error Resume Next
c = 0
MM:
Debug.Print "第" & c + 1 & "次打开MM"
Set wc = Workbooks.Open(ThisWorkbook.Path & "\Manage\MM.xlsx", ReadOnly:=True, Password:="")
If Err Then
If c = 1 Then Exit Sub
c = c + 1
GoTo MM
End If
With wc
brra = .Sheets(1).Range("h1").CurrentRegion
crr3 = .Sheets(1).Range("a1").CurrentRegion
crr4 = .Sheets(4).Range("a1").CurrentRegion
nm = .Sheets(1).Name
.Close False
End With
For i = 1 To UBound(brra)
da(brra(i, 1)) = brra(i, 2)
Next
.................此处省略1万字
end sub |
|