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


2

我想在excel电子表格中嵌入网络图片。

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

我想要显示图片(当然,如果我在线),而不仅仅是网址。

可以这样做吗?如果是这样的话?

优选地,在excel中,但是OO计算可以是好的


1
为了防止出现奇怪的错误,最好知道Office在尝试获取图像之前可能会使用称为“Microsoft Office Existence Discovery”的浏览器(“用户代理”)。该用户代理可能被视为搜索机器人,因此在某些网站上可能具有与用于实际获取图像的IE组件不同的访问权限...更多信息,请访问superuser.com/questions/41935/ ...
Arjan 2009年

Answers:


2

在Excel中,转到“ 插入” >“ 图片” >“ 从文件...”,然后键入要插入的图片的URL。我不知道图片是否更新,因为我从未尝试过。


我相信只会从网上阅读图片。
harrymc

是的,它确实。它工作
ukanth

我认为重点是以编程方式进行。
丹于

@Dan不是真的,否则它会在stackoverflow上。
2017年

1

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

在我的例子中,我创建了一个Microsoft 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

0

我认为解决方案是编写一个VBA宏来检索图像并将其嵌入到工作表中。

我认为这是自动刷新此图像的唯一方法。


0

如果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

资源


0

按照以下步骤,

  1. 点击“图片”插入标签

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

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

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

在此输入图像描述

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.