【发布时间】:2017-03-29 14:31:43
【问题描述】:
我试图让多个错误语句起作用,但无法弄清楚。
如果可以在本地找到pdf,则打开,如果没有,则打开网络位置。如果没有 PDF 则返回 msgbox。
Sub Cutsheets()
Application.ScreenUpdating = False
Dim finalrow As Integer
finalrow = Cells(Rows.Count, 1).End(xlUp).Row
On Error GoTo net1
If Not Application.Intersect(ActiveCell, Range("A9:A" & finalrow)) Is Nothing Then
'Local Location
ActiveWorkbook.FollowHyperlink "C:\Local" & ActiveCell & ".pdf"
Application.SendKeys "{ENTER}", True
End If
Exit Sub
net1:
If Not Application.Intersect(ActiveCell, Range("A9:A" & finalrow)) Is Nothing Then
'Network Location
On Error GoTo whoa
ActiveWorkbook.FollowHyperlink "P:\Network" & ActiveCell & ".pdf"
Application.SendKeys "{ENTER}", True
End If
Exit Sub
whoa:
MsgBox ("No cutsheet can be found for this item.")
Application.ScreenUpdating = True
End Sub
另外我不记得为什么我把sendkeys放在那里但是没有它就不行。
【问题讨论】:
-
如果没有 Resume 语句、代码结尾或
On Error Goto -1,您将无法清除异常。请参阅:excelmatters.com/2015/03/17/on-error-wtf 您可以使用Dir来检查文件是否存在。