在 excel 电子表格 (或 oo calc) 中通过 url 嵌入来自网络的图片

在 excel 电子表格 (或 oo calc) 中通过 url 嵌入来自网络的图片

我想在 Excel 电子表格中嵌入来自网络的图片。

我想通过 url 嵌入图片,就像图片嵌入 html 页面一样。我不想下载图片并将其作为常规图片插入。

并且我想要显示图片(当然,如果我在线的话),而不仅仅是 url。

可以做到吗?如果可以,该怎么做?

最好使用 excel,但 OO calc 也可以

答案1

在 Excel 中,转到插入>图片>从文件...并输入要插入的图片的 URL。我不知道图片是否会自动更新,因为我从未尝试过。

答案2

如果 URL 在 C1 中,这会将图像放在 B1 中(我在 Excel 2003 和 2013 中测试过):

Sub Test()
    Dim Pic As Picture
    Application.ScreenUpdating = False
    With ActiveSheet.Range("C1")
        Set Pic = .Parent.Pictures.Insert(.Value)
        With .Offset(, -1)
            Pic.Top = .Top
            Pic.Left = .Left
            Pic.Height = .Height
            Pic.Width = .Width
        End With
    End With
    Application.ScreenUpdating = True
End Sub

来源

答案3

这是我对 tomelin5 分享的答案的修改版本。它适用于 Excel 2016,也可能适用于(更早的)版本。

就我而言,我创建了一个微软 PowerApps应用程序使用笔输入控件收集和存储签名

在旁边:如果你正在阅读这篇文章,因为你正在尝试创建一个 PowerApp:将控件的内容保存到电子表格的神奇秘诀是Patch功能。

其工作方式是,笔输入控件将图像作为 PNG 文件保存在目录中,并将 PNG 文件的相对地址作为 URL 存储在电子表格的单元格中:URL 例如.\MyAppName_images\x829ca33re2d6114588e59ca45829d21.png

我想在 Excel 电子表格中显示这些签名,以便可以使用通过应用程序输入的其他数据对它们进行排序。tomelin5 的解决方案非常适合作为我的解决方案的基础,我认为我应该分享我的混音。

我的解决方案是将 URL 存储在“A”(1) 列中,并将图像本身放置在“I”(9) 列中。它还会将行高调整为第 9 列的列宽,不过,您可能希望修改/消除该行为。

所有 URL 均从 A2 开始处理,一直到 A 列中最后一个填充的单元格。请注意,我的解决方案不执行任何异常处理,如果图像不可用,您将需要它。

Sub Button1_Click()
    ' https://msdn.microsoft.com/en-us/library/office/aa221353(v=office.11).aspx
    ' http://www.excelhowto.com/macros/loop-range-cells/
    ' https://www.excelcampus.com/vba/find-last-row-column-cell/
    ' https://superuser.com/questions/52760/embed-pictures-from-web-by-url-in-excel-spreadsheet-or-oo-calc#

    Dim Pic As Picture
    Dim SrcRange As Range
    Dim LastRowA As Long

    LastRowA = Cells.Find(What:="*", _
                    After:=Range("A1"), _
                    LookAt:=xlPart, _
                    LookIn:=xlFormulas, _
                    SearchOrder:=xlByRows, _
                    SearchDirection:=xlPrevious, _
                    MatchCase:=False).Row

    Set SrcRange = ActiveSheet.Range(Cells(2, 1), Cells(LastRowA, 1))

    SrcRange.Rows().RowHeight = ActiveSheet.Columns(9).Width

    For Each Cell In SrcRange.Cells
        With Cell
            Set Pic = .Parent.Pictures.Insert(.Value)
            With .Offset(, 8)
                Pic.Top = .Top
                Pic.Left = .Left
                Pic.Height = .Height
                Pic.Width = .Width
                Pic.Border.Color = vbRed
            End With
        End With
    Next
End Sub

答案4

请按照以下步骤操作,

  1. 点击'图片'插入选项卡

  2. 插入图片的 URL(jpg | png 等)或选择桌面计算机中图片的路径

  3. 单击“插入”按钮上的向下箭头并选择插入并链接

  4. 现在,每次关闭并重新打开 Excel 文件时,您都会看到更新的图像(如果它已更改)

在此处输入图片描述

相关内容