如何将外部图像加载到 Excel 中?

如何将外部图像加载到 Excel 中?

我有一张表格,其中有一列是图片链接(URL)。我想将链接的图片加载到下一个单元格中。

例如:

A1包含

http://example.com/image.jpg

我想加载图像B1

我该怎么做?

答案1

您无法将图片“加载到”Excel 单元格中。图像对象位于单元格上方的层上。

您可以使用宏循环遍历单元格,并将图像与下一列中的单元格对齐。例如,选择所有图像 URL,然后运行

For Each cel In Selection
    cel.Offset(0, 1).Select
    ActiveSheet.Pictures.Insert(cel.Value).Select
Next cel

虽然图像不会“在”单元格中,但它们的左上角将与 URL 旁边的单元格的左上角对齐。

答案2

尽管图像不能直接加载到单元格中,但可以将图像加载到单元格中评论使用 VBA。以下代码来自本网站定义一个可以在工作表中使用的函数,用于将图像插入到评论中。

  Option Explicit

  Function InsertCommentImage(title As String, absoluteFileName As String)
     Dim commentBox As Comment

   ' Clear any comments before attempting to add them.
     '.ActiveCell.ClearComments // incorrect
     ActiveCell.ClearComments  // works!

   ' Define the comment as a local variable and assign the file name from the
   ' cellAddress input parameter to the comment of a cell.
     Set commentBox = Application.ActiveCell.AddComment
     With commentBox
        .Text Text:=""
        With .Shape
           .Fill.UserPicture (absoluteFileName)
           .ScaleHeight 3, msoFalse, msoScaleFromTopLeft
           .ScaleWidth 2.4, msoFalse, msoScaleFromTopLeft
        End With

      ' Set the visible to True when you always want the image displayed, and
      ' to False when you want it displayed only when you click on the cell.
      .Visible = False
     End With
     InsertCommentImage = title
  End Function

此 InsertCommentImage 函数有两个参数:一个将出现在输入函数的单元格中的标题,以及对图像位置和名称的引用。

图像可以来自本地文件...

在此处输入图片描述

...或 URL...

在此处输入图片描述

...或对文件位置或网络链接的引用。

在此处输入图片描述

要将函数与您的链接一起安装到工作簿中,请首先从主功能区中选择“开发人员”选项卡,然后选择“Visual Basic”(“开发人员”选项卡左侧的第一个按钮)。VBA 集成开发环境 (IDE) 窗口将会出现。

然后确保“项目 - VBA 项目”窗格(左上窗格)中突出显示“VBAProject(您的工作簿名称)”。

从主 VBA IDE 菜单中,选择插入/模块并将函数代码粘贴到打开的大代码窗格中。

关闭 VBA IDE 窗口并保存工作簿。然后,您就可以使用工作表中带有链接的函数。

相关内容