将图片插入Excel VBA,方法图片失败

Posted

技术标签:

【中文标题】将图片插入Excel VBA,方法图片失败【英文标题】:Insert picture to Excel VBA, method Pictures failed 【发布时间】:2013-05-11 00:17:40 【问题描述】:

试图制作一个在 Excel 中逐步插入 3 张图像的宏

一个工作表(图片)包含 A 列第 1-3 行中的图像 URL

另一个工作表(输出)应该水平输出图像。

Sub testinsertpix()
Dim i As Integer
Dim link As String

For i = 1 To 3
link = Worksheets("pics").Cells(i, "A").Value
Cells(1, i).Select
ActiveSheet.Pictures.Insert (link)

Next i

End Sub

它确实插入了第一张图片,但是当循环到达第二张图片时失败。

“图片类的插入方法失败”

请帮忙?

【问题讨论】:

【参考方案1】:

试试:

Dim link as Variant

然后输出值,看看哪里出错了。我的最佳猜测是您的 URL 没有按照您预期的方式被读取。

【讨论】:

URL 读取正常。我在循环之后放入了一行 Msgbox "link" 以进行检查。 Excel 状态栏也确实显示它正在下载图片,但它只是给了我这个失败的错误消息。 而且您 100% 确定结尾或开头没有多余的空格,诸如此类?我已经看到在 vba 中读取单元格值的所有内容......【参考方案2】:

我有一个类似的宏,但我遇到了同样的错误。 对我来说,这有帮助:On error resume next

Sub INSERTPICTURES()
With Sheets("Condition_report")
    Dim cella As Range

    For Each cella In .Range("A1:A10000").Cells

        If cella.Interior.ColorIndex = 3 Then

        ActiveSheet.Shapes.AddPicture Filename:=cella, LinkToFile:=msoFalse, SaveWithDocument:=msoCTrue, Left:=cella.MergeArea.Left, Top:=cella.MergeArea.Top, Width:=cella.MergeArea.Width - 3, Height:=cella.MergeArea.Height
        On Error Resume Next

        End If
    Next
End With
End Sub

【讨论】:

以上是关于将图片插入Excel VBA,方法图片失败的主要内容,如果未能解决你的问题,请参考以下文章

需要帮助使用 VBA 在 excel 中将超链接插入到我计算机上的指定图片

利用VBA如何将批量图片导入WORD的指定表格格式里?

利用VBA如何将批量图片导入WORD的指定表格格式里?

使用 VBA 插入图片,Excel 2010 和 Excel 2016 之间的大小不同

将图片从 Excel 形状复制到 VBA 中的图像对象

在word中自动插入图片 vba代码