【问题标题】:Excel VBA Insert Images From Image Name in ColumnExcel VBA从列中的图像名称插入图像
【发布时间】:2013-12-05 03:40:04
【问题描述】:

阅读了很多关于插入图像和重新调整大小的不同线程,但找不到一个完全符合我要求的线程。

假设我有一个包含 2 行的电子表格。 A列是图像列,B列是图像名称。

我想要一个脚本,它将遍历 B 列中的每个值,将与该名称匹配的图像插入到 A 列的同一行中,调整其大小以适合 150 高 x 18 宽的单元格的大小,然后移至下一行并重复电子表格。

【问题讨论】:

  • 如果你读过很多书,那么大概你已经尝试过其中的一些东西。请告诉我们what have you tried so far 以及您想要更改/修复您已经尝试过的方法的哪些内容。

标签: image excel vba


【解决方案1】:

这是一个示例,它将遍历您可以修改的一系列单元格 (B1:B100),并使用左侧一列单元格中的文件名(因此,从 A 列开始),并将图像大小调整为适合 B 列的单元格。

Sub InsertPic()
Dim pic As String 'file path of pic
Dim myPicture As Picture 'embedded pic
Dim rng As Range 'range over which we will iterate
Dim cl As Range 'iterator

Set rng = Range("B7:B7")
For Each cl In rng
    pic = cl.Offset(0, -1)

        Set myPicture = ActiveSheet.Pictures.Insert(pic)
        '
        With myPicture
            .ShapeRange.LockAspectRatio = msoFalse
            .Width = cl.Width
            .Height = cl.Height
            .Top = Rows(cl.Row).Top
            .Left = Columns(cl.Column).Left
        End With
        '

Next

End Sub

此代码中没有错误处理来解决无效文件名,您可能需要添加它。

【讨论】:

  • 我尝试使用不同的 URL,但我必须使用的那些不起作用。我得到 1004:无法分配(翻译)插入属性 od 图片对象。有任何想法吗?这是我的 URL 的样子:imissit.blob.core.windows.net/iris/…
  • @4ndro1d 你应该ask your own question。请记住,这样做时要显示您正在使用的代码并完整详细地描述您的问题。干杯。
  • @4ndro1d 这里有一个提示:您不能使用上述方法提供图像的 URL 路径,您首先需要下载文件。这也可以用 VBA 来完成。试着弄清楚这一点(关于该主题还有其他问题),如果遇到困难,请提出自己的问题。
猜你喜欢
  • 1970-01-01
  • 2017-03-13
  • 2017-04-21
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
  • 1970-01-01
  • 2011-12-20
  • 2011-09-17
相关资源
最近更新 更多