Excel 将 URL 转换为图像 (1004)

2023-12-01

我有一个链接到 SQL 数据库的 Excel 文档,其中包含几列图像 URL。

One of those URLs looks like this: https://imissit.blob.core.windows.net/iris/596480cf967e0c990c37fba3725ada0c/814040e2-0ccb-4b05-bdb3-d9dc9cc798d9/texture.png https://imissit.blob.core.windows.net/iris/596480cf967e0c990c37fba3725ada0c/814040e2-0ccb-4b05-bdb3-d9dc9cc798d9/texture.png

我发现了关于如何将这些 URL 转换为图像的不同方法和方法(例如Excel VBA 从列中的图像名称插入图像 and https://superuser.com/questions/940861/how-can-i-display-a-url-as-an-image-in-an-excel-cell) 在 Excel 文档中使用宏。我尝试了这些方法,但它们都不适合我的 URL 类型。我尝试了其他 URL(网络上的随机图像、http 和 https,对于这些图像,它可以工作)。

这是我尝试过的片段之一,适用于其他图像:

   Sub InstallPictures()
    Dim i As Long, v As String
    For i = 2 To 2
        v = Cells(i, "O").Value
        If v = "" Then Exit Sub
        With ActiveSheet.Pictures
            .Insert (v)
        End With
    Next i
End Sub

无论如何,当使用我的 URL 尝试它时,我收到运行时错误 1004:无法执行图片对象的插入方法(已翻译)。不同的方法导致运行时错误略有不同(尽管 1004 是一致的)。

以下是我尝试过的一些有效的图像网址:

https://docs.oracle.com/cd/E21454_01/html/821-2584/figures/HTTPS_Collab_Sample.png

http://www.w3schools.com/css/paris.jpg

我的 URL 与其他 URL 有何不同?为什么这些方法不起作用?正确的做法是什么?


问题(据我所知)是not您的设备,但它位于托管图像的服务器上,并且无法返回文档。我不确定上面 Tim 的评论(与 206 响应代码有关)来自哪里,但如果是这种情况,或者 URL 返回一些错误代码,那么您的 VBA 也会失败,并且可能你无能为力解决这个问题如果问题出在主机上。

我今天手动输入网址下载文件,没问题。

我检查响应码它正确返回 200(成功)。

enter image description here

此时您能做的最好的事情就是简单地捕获错误,并将其标记为以后检查。

在我的测试中,我故意使用了一些错误的 URL,只是为了确保错误处理按预期工作。这些是唯一对我来说失败的。

enter image description here

这是我使用的代码,仅对您的代码进行了轻微修改,并包含一个错误处理程序,用于向 URL 返回错误的单元格添加注释。这样您就可以稍后手动查看并根据需要添加这些图像。

Sub InstallPictures()
    Dim i As Long
    Dim v As String
    Dim cl As Range
    Dim pic As Shape
    Dim errors As New Collection

    i = 2
    Set cl = Cells(i, 15)
    Do While Trim(cl.Value) <> vbNullString
        v = Trim(cl.Value)
        cl.ClearComments

        With ActiveSheet.Pictures
            On Error GoTo ErrHandler
            Set p = .Insert(Trim(v))
            On Error GoTo 0
            ' I added this code to resize & arrange the pictures
            ' you can remove it if you don't need it
            p.TopLeftCell = cl.Offset(0, -1)
            p.Top = cl.Offset(0, -1).Top
            p.Left = cl.Offset(0, -1).Left
            p.Height = Cells(i, 15).Height
            p.Width = Cells(1, 15).Width
            '''''''''''''''''''''''''''''
        End With

NextCell:
        i = i + 1
        Set cl = Cells(i, 15)
    Loop

    If errors.Count > 0 Then
        MsgBox "There were errors, please review the comments as some files may need to be manually downloaded"
    End If

    Exit Sub


ErrHandler:
    Call ErrorNote(v, cl, errors)
    Resume NextCell
End Sub

Private Sub ErrorNote(url$, cl As Range, ByRef errs As Collection)
' Adds an item to the errs collection and flags the offending
' cell with a Comment indicating the error occurred. 
    On Error Resume Next
    errs.Add (url)
    With cl
        .ClearComments
        .AddComment ("Error with URL: " & vbCrLf & url)
    End With
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Excel 将 URL 转换为图像 (1004) 的相关文章

  • Excel VBA:排序,然后复制和粘贴

    所有 我需要编写一个执行以下操作的宏 将数据输入到 E 列的最后一个空白单元格后 按 E 列对整个工作表进行降序排序 工作表排序后 2a 将单元格复制到紧邻首次输入数据的单元格左侧的相邻单元格 2b 将复制的数据粘贴到最初输入数据的同一行的
  • 如何从另一个 Excel 实例引用工作簿

    我相信我的问题相当简单 我有一个工作簿 我正在使用它从另一个软件 SAP 获取一些数据 当我从软件导出数据时 它会自动打开一个 xlsx 文件 然后我需要做的是从该文件复制一些数据 粘贴到我的原始工作簿上 然后关闭该文件 我的代码中给我带来
  • 导入到 SQL Server 时忽略 Excel 文件中的列

    我有多个具有相同格式的 Excel 文件 我需要将它们导入 SQL Server 我当前遇到的问题是 有两个文本列我需要完全忽略 因为它们是自由文本 并且某些行的字符长度超出了服务器允许我导入的长度 这会导致截断错误 因为我的分析不需要这些
  • 根据其他列中的条件对列中的唯一值求和

    A B 1 Total 1 900 2 Product A 700 3 Product A 700 4 Product B 300
  • 使用 VBA 使用另一个表中的值更新访问表

    我在数据库中有两个表 表 1 和表 2 我正在尝试根据表 2 中的数据使用 VBA 代码更新表 1 Example Table 1 PartNo Price Description A 100 B 200 Bad C 300 Table 2
  • 如何VBA等待Windows保存对话框和发送密钥

    我正在创建一个宏文件 用于下载并保存从 SAP 旧版本 7 20 中提取的数据 当出现保存对话框时 未检测到 Windows 对话框 因为我的客户端 SAP 版本是旧版本 7 20 现在我对此的解决方案是发送密钥 但问题是某些数据包含大量数
  • VBA 中的求和函数

    我在 vba 中对单元格求和时遇到问题 我需要使用单元格 a b Range A1 function SUM Range Cells 2 1 Cells 3 2 但它不起作用 函数不是范围内的属性 方法 如果您想对值求和 请使用以下命令 R
  • 如何在Excel中创建关系矩阵

    给定一个三元组列表 我想得到一个关系矩阵 如下所示 1 A X 1 A Y 1 B X A B C 1 B Z 1 X Y X Z 2 A Z gt 2 Z X Y 2 B X 3 Y Z 3 A Y 3 A Z 2 C Y 如何 可以在
  • 向用户显示多条验证消息

    在 MS Access 中 如何将从 SELECT 语句检索到的行存储在数组中 并在一个消息框中显示多行 Dim rSEL rSUM rDes As DAO Recordset Dim vItem id vQnty vSum As Inte
  • 在 Python 中绘制 Excel 中的数据

    我必须从 Excel 文件中读取和绘制数据的代码是这样的 import pandas as pd import matplotlib pyplot as plt excel file file1 xlsx file1 pd read exc
  • 使用 PHP 代码和 HTML 表单将 Excel (.csv) 导入 MySQL

    我知道还有其他类似的帖子 但每个人都建议直接在 PHPMyAdmin 中将其导入 MySQL 这工作完美 但我需要通过 HTML 表单导入 PHP 到 MySQL 我想要一个收集文件的 HTML 表单 然后将该文件传递给 PHP 脚本 我想
  • Excel Add In - console.log 在哪里输出它的消息 - NodeJS

    我正在尝试使用 JavaScript API 创建 Excel 插件 但我不明白 console log 在哪里输出它们的消息 所有 Microsoft 文档都包含 console log 示例 但没有解释 console log 输出消息
  • 通过 Excel VBA 保存并关闭 powerpoint

    下面的代码根据定义的名称创建多个图表 然后打开具有这些定义的名称的 powerpoint 文件并转储到图表中 除了最后一部分之外 一切都正常 保存并关闭文件 我已将尝试保存和关闭文件的尝试标记为绿色 任何帮助表示赞赏 Sub Slide19
  • 查找最后一列并按最后一列排序

    我需要 Excel 来检测我拥有的最后一列并对该列进行排序 我有一个宏 每次使用它时都会生成一个新列 因此我无法使用常量 Sub sortyness Dim sortdata A1 Cells LastRow LastColumn As R
  • 如何根据文本框值过滤列表框值

    我在用户窗体上有一个文本框和一个列表框 我想根据我在文本框中输入的值过滤列表框中的值 名为 TMP 的工作表具有值 我根据文本框更改事件对其进行过滤 但在将该值添加到列表框中时它 会自动退出 Private Sub Textbox1 Cha
  • 以独立于区域设置的方式读取 Excel 文件

    我使用以下代码从各种 Excel 文件读取数据 IMEX 1 to force strings on mixed data HDR NO to process all the available data Locale 1033 is en
  • VBA 写入文件时对数值进行四舍五入 - 如何防止?

    在下面的代码中 我在确保文件编写器不会将我的数字四舍五入到一定的小数位数时遇到问题 我需要使用变体 因为有时该值是字符串 有时它是数字 我怎样才能强制它准确地写出变量是什么 例如 下面的代码可能显示 0 00038 我想显示确切的值 Dim
  • 使用 Excel 2010 通过存储过程读取/写入 SQL Server 2008 数据库

    我们有一个 SQL Server 2008 数据库 它有存储过程来处理读 写等 这些过程由各种应用程序内部使用 需要一个人直接更新数据库中名为 Employee 的表 更新非常简单 更新 VARCHAR 和 INT 外键 字段 问题是 Sh
  • VBA删除列中的单元格并根据单元格的值左移?

    如果单元格为空 如何删除 B 列 和左移 中的单元格 下面是我所拥有的 但它给出了 应用程序定义或对象定义的错误 Sub DeleteCellShiftLeft For i 1000 To 1 Step 1 If Cells i B Val
  • 在 ASP.Net Core 2.0 中导出到 Excel

    我曾经使用下面的代码在 ASP NET MVC 中将数据导出到 Excel Response AppendHeader content disposition attachment filename ExportedHtml xls Res

随机推荐