excel中图片url转为jpg

news2024/10/6 10:31:54

步骤

  1. 打开Excel,并按下 Alt + F11 打开VBA编辑器。
  2. 在VBA编辑器中,插入一个新的模块(右键点击项目资源管理器中的模块 -> 插入 -> 模块)。
  3. 在新模块的代码窗口中,复制并粘贴以下示例代码。
  4. 根据需要修改代码中的变量和参数。
  5. 回到Excel,你可以通过按 Alt + F8 来运行这个宏,或者将宏与一个按钮或快捷键关联起来。
Sub ImportPicturesFromURLs()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim urlCell As Range
    Dim imgPath As String
    Dim img As Picture
    Dim targetCell As Range
    Dim xmlhttp As Object
    Dim adodbStream As Object
  
    ' 初始化工作表、URL路径和图片目标位置
    Set ws = ThisWorkbook.Sheets("Sheet1") ' 修改为你的工作表名称
   
  
    ' 初始化XMLHTTP和ADODB.Stream对象
    Set xmlhttp = CreateObject("MSXML2.XMLHTTP")
    Set adodbStream = CreateObject("ADODB.Stream")
  
    ' 获取最后一行
    lastRow = ws.Cells(ws.Rows.Count, "G").End(xlUp).Row
    ' 初始化随机数生成器(只需在程序开始时调用一次)
    Randomize Now() ' 使用当前时间作为种子
    Dim randomNumber As Integer
  
    ' 遍历列A中的每个URL
    For Each urlCell In ws.Range("G2:G" & lastRow) ' 假设数据从第2行开始
        If Not IsEmpty(urlCell.Value) Then ' 检查单元格是否为空
        randomNumber = Int((100000 * Rnd) + 1)
         imgPath = "d:\zzf\upload\" & randomNumber & ".jpg"   ' 修改为你的临时图片保存路径
            ' 下载图片
            xmlhttp.Open "GET", urlCell.Value, False
            xmlhttp.send
              
            ' 将图片保存到临时位置
            With adodbStream
                .Open
                .Type = 1 ' 二进制数据
                .write (xmlhttp.responseBody)
                .SaveToFile imgPath, 2 ' 覆盖已存在的文件
                .Close
            End With
              
            ' 在旁边的单元格(例如B列)插入图片
            Set targetCell = urlCell.Offset(0, 11) ' 假设图片插入到B列
            
              
            ' 插入新图片
            Set img = ws.Pictures.Insert(imgPath)
            With img
                .ShapeRange.LockAspectRatio = msoFalse
                .Top = targetCell.Top
                .Left = targetCell.Left
                ' 根据需要设置图片大小和其他属性
                  .ShapeRange.Width = 20
                 .ShapeRange.Height = 20
            End With
        End If
    Next urlCell
  
    ' 清理对象
    Set xmlhttp = Nothing
    Set adodbStream = Nothing
    Set img = Nothing
End Sub

运行情况:

小伙伴有运行问题可留言或私信。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1653352.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Twitch赠送暗区突围测试资格 超简单暗区突围测试资格领取教程

作为直播界的领航者,Twitch平台不仅是全球游戏文化直播的中心舞台,更是频繁联袂各路游戏大作,为粉丝们奉上别具匠心的互动盛宴,让观赛的同时解锁诱人的游戏内惊喜。正值《暗区突围》PC版测试的热潮涌动,Twitch乘势加强…

uniapp + vue3 使用axios

场景 uniapp自带的uni.request不太好用,也有可能是自己用axios用的太熟悉了,所以还是用axios趁手点,所以尝试在uniapp中使用axios。 操作 因为uniapp项目没有package.json,所以先在项目根目录下执行 npm init, 执行完毕后直接…

案例|200多套设备实时监测,守护江西彰湖水库安全

中型水库作为水利建设的重要组成部分,在防洪、供水、农业灌溉、改善民生和生态效益等方面都具有重要意义。国务院发布《关于切实加强水库除险加固和运行管护工作的通知》,重点提出要提升信息化管理能力,要加快建设水库雨水情测报、大坝安全监…

【RAG 论文】Dense X 检索:将“命题”作为检索粒度

论文:Dense X Retrieval: What Retrieval Granularity Should We Use? ⭐⭐⭐⭐ Code: github.com/ct123098/factoid-wiki 文章目录 一、论文速读二、命题(Proposition)三、FactoidWiki四、实验及分析4.1 Passage Retrieval 任务4.2 Open-Do…

C++ | Leetcode C++题解之第69题x的平方根

题目&#xff1a; 题解&#xff1a; class Solution { public:int mySqrt(int x) {if (x 0) {return 0;}double C x, x0 x;while (true) {double xi 0.5 * (x0 C / x0);if (fabs(x0 - xi) < 1e-7) {break;}x0 xi;}return int(x0);} };

前端高频面试题 5.08

事件委托 事件委托是前端开发中常用的一种优化性能和代码可维护性的方法&#xff0c;它基于DOM的事件冒泡机制。当一个元素触发事件时&#xff0c;这个事件会按照从顶层到底层的顺序传播&#xff0c;直到最底层的元素&#xff08;通常是文档的根节点&#xff09;。事件委托利用…

如何将pdf文件换成3d模型?---模大狮模型网

PDF文件是一种广泛用于文档传输和共享的格式&#xff0c;但在某些情况下&#xff0c;我们可能希望将其中的内容转换为更具交互性和视觉效果的3D模型。本文将介绍如何将PDF文件转换为3D模型&#xff0c;为您展示实现这一想象的步骤。 选择合适的PDF文件&#xff1a; 首先&#…

如何才能做好源代码防泄密

目前很多企业都拥有自己的研发机构&#xff0c;其研发成果往往体现在源代码和技术文档方面&#xff0c;这些核心机密&#xff0c;如何防止研发参与人员泄密&#xff0c;如何防止核心成员把研究成果带走另立山头&#xff0c;或者提供给竞争对手&#xff0c;是一个很现实的一个问…

软件可靠度计算

软件的整体可靠度依据&#xff1a;若是单个就是当前部件的可靠度。若是多个部件&#xff0c;就需要多个部件的可靠度相乘。若是多个部件且有相同备份&#xff0c;那么计算公式更加不一样。 计算公式&#xff1a; 部件数&#xff1a;N 部件可靠度均为&#xff1a;R 单个部件的可…

Mac 解决外接移动硬盘(NTFS格式)无法写入的问题

文章目录 1. 问题描述2. 解决步骤 1. 问题描述 MacOS 可以识别 NTFS 格式的磁盘&#xff0c;但是默认情况下是只读模式&#xff0c;即无法向 NTFS 格式的磁盘写入数据。这是因为 NTFS 是 Windows 系统默认的文件系统格式&#xff0c;而 MacOS 对 NTFS 的写入支持是有限的。 如…

目标检测CNN 目标检测发展历程 应用场景 智慧交通 自动驾驶 工业生产 智慧医疗

目标检测 目标检测是计算机视觉领域中的一个重要任务,其主要目的是让计算机能够自动识别图像或视频帧中所有目标的类别,并在目标周围绘制边界框以标示出每个目标的位置。 目标检测的过程通常包括两个主要步骤:目标定位和目标分类。目标定位是确定图像中是否存在感兴趣的目…

树莓派4b红外检测

1.红外检测连接图 2.红外检测工作原理 红外传感器的工作原理类似于物体检测传感器。该传感器包括一个红外LED和一个红外光电二极管&#xff0c;因此通过将这两者结合起来&#xff0c;可以形成一个光耦合器。 红外LED是一种发射红外辐射的发射器。该LED看起来与标准LED相似&a…

Python爬虫基础知识学习(以爬取某二手房数据、某博数据与某红薯(书)评论数据为例)

一、爬虫基础流程 爬虫的过程模块化&#xff0c;基本上可以归纳为以下几个步骤&#xff1a; 1、分析网页URL&#xff1a;打开你想要爬取数据的网站&#xff0c;然后寻找真实的页面数据URL地址&#xff1b; 2、请求网页数据&#xff1a;模拟请求网页数据&#xff0c;这里我们介…

C++:菱形继承与菱形虚拟继承

一、菱形继承 单继承&#xff1a;一个子类只有一个直接父类时称这个继承关系为单继承 多继承&#xff1a;一个子类有两个或以上直接父类时称这个继承关系为多继承 菱形继承&#xff1a;菱形继承是多继承的一种特殊情况&#xff0c;派生类继承自两个间接基类&#xff0c;而这…

Java中的Mysql数据库备份与定时任务快速实现(详细代码示例)

引言 在现代软件系统中&#xff0c;数据库备份是确保数据安全的关键措施之一。通过定期备份&#xff0c;可以在数据丢失或损坏时迅速恢复&#xff0c;从而减少潜在的业务风险。Java作为一种广泛使用的编程语言&#xff0c;提供了多种实现数据库备份的方法。本文将介绍如何使用…

「网络流 24 题」太空飞行计划 【最大权值闭合图】

「网络流 24 题」太空飞行计划 题意 有 n n n 个实验 和 m m m 个器械&#xff0c;每个实验都需要若干个指定的器械才能进行 实验 i i i 的盈利为 p i p_i pi​&#xff0c; 器械 j j j 的花销为 c j c_j cj​ 找出纯利润最大的实验计划 思路 这是非常典型的最大权值…

独家专访辉羲智能章健勇:数据闭环定义芯片,帮车厂造中国版FSD

‍采访、编辑 |德新 撰文 |苗岭 辉羲智能&#xff0c;智能驾驶芯片行业最新的进入者。 这家公司成立于2022年&#xff0c;今年辉羲即将发布它的首款高阶智驾芯片。而另外两家智驾计算平台的头部公司地平线和黑芝麻已经在前不久分别向港交所提交了IPO申请。 国内的自动驾驶行…

【北京迅为】《iTOP-3588开发板快速烧写手册》-第8章 TF启动

RK3588是一款低功耗、高性能的处理器&#xff0c;适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用&#xff0c;RK3588支持8K视频编解码&#xff0c;内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

论文笔记模版

1. 摘要 1.1 背景 1.2 挑战 1.3 提出新方法 1.4 贡献 2. 引言 2.1 背景&#xff08;引出问题&#xff09; ①介绍大背景&#xff1a; ② 应用场景&#xff1a; ③ 介绍主题&#xff1a; 2.2 引出挑战 一般用图表来展现出我们的挑战&#xff08;直观&#xff0c;解决什…

速卖通揭秘:aliexpress.item_get API商品详情返回值全解析

速卖通&#xff08;AliExpress&#xff09;是阿里巴巴旗下的一个面向全球市场的B2C电商平台&#xff0c;为卖家提供了一个向全球消费者销售商品的平台。对于开发者来说&#xff0c;速卖通提供了API接口来方便地进行数据交互和集成。其中&#xff0c;item_get API是用于获取商品…