首页 > 解决方案 > VBA 无法插入对象

问题描述

我在 Excel 中有一个过程,它使用以下代码从 PDF 文件中添加图像:

valRef = "TabName"
FilePath = "\\network\file.pdf"
' Process stops in the next line
Worksheets(valRef).OLEObjects.Add Filename:=FilePath, Link:=False, DisplayAsIcon:=False

有时,添加 PDF 文件时进程会停止,并出现错误“运行时错误 '1004”无法插入对象

当调试窗口出现时,我可以按 F5 并继续该过程。PDF 文件存在并且具有相同的文件,在相同的网络位置,有时可以不间断地工作。

关于如何防止进程停止的任何想法?

标签: excelvba

解决方案


我知道它看起来很难看,但是您可以继续使用错误处理程序重试

if 1 = 0 then 'never enter this section, unless an error occurs
  looperror:
  Resume 'without this, the second time an error occurs, it will trigger, ignoring the on error
end if

on error goto looperror
  Worksheets(valRef).OLEObjects.Add Filename:=FilePath, Link:=False, DisplayAsIcon:=False
on error goto 0

如果您不希望这种情况无休止地进行下去,您可以添加一个计数器并在几次尝试后取消,或者通过 msgbox 询问用户是否要重试。


推荐阅读