【发布时间】:2015-05-15 18:33:17
【问题描述】:
我使用 For ... Next 循环将图片插入 Excel 工作表。图片的名称来自B列。有时,硬盘上没有对应的图片。在这种情况下,Excel 将抛出错误消息并停止运行代码。首先,我尝试了“On Error Resume Next”。这不好,因为错误发生后的所有代码都被执行了。所以,我尝试了下面的代码,尽量避免找不到图片时运行代码。但是,这仅捕获第一个错误。当第二次找不到图片时,Excel 仍然会抛出错误消息(“无法获取图片类的插入属性”)。我想要的只是如果发生错误,Excel 将跳过其余代码并转到下一个案例。如何才能做到这一点?感谢您的帮助。
......
On Error GoTo gotoNext
For Each cell In rng
......
Set p = Workbooks(ActiveSheet.Parent.Name).Sheets(Sheet_to_Insert_Picture).Pictures.Insert(Path_Prefix & "\" & _
Replace(cell.Value, "/", "-") & ".jpg") 'when the picture is not found, Excel throws an error
......
gotoNext:
Err.Clear
Next
【问题讨论】:
-
为什么你不使用 On Error Resume Next
-
我不使用 On Error Resume Next,因为如果我这样做,“Set p...”之后和 gotoNext 之前的代码将被执行。这会导致问题。