当前位置: 首页 > news >正文

VBA-Excel图片下载到本地文件夹

方法实现根据excel款号图片url下载图片款号保存本地

操作步骤

  1. 打开包含商品信息和图片url的excel
  2. Alt+F11进入vba

   3. 复制VBA代码并修改对应的:

        1.图片保存路径,要求路径不存在或者要清空(清空是因为如果已存在对应图片则不会更新)一定要在路径末尾添加“\”

            2. url所在列(建议使用默认形式,第第二列为图片URL列)

            3. 图片宽和高也可修改,默认宽为500,长为550

            4. vba代码

    Sub DownloadImages()Dim rng As Range, cell As RangeDim imgUrl As String, savePath As String, fileName As StringDim http As Object, stream As ObjectDim tempFilePath As StringDim img As ObjectDim FSO As Object Set http = CreateObject("MSXML2.XMLHTTP")Set stream = CreateObject("ADODB.Stream")Set img = CreateObject("WIA.ImageFile")Set FSO = CreateObject("Scripting.FileSystemObject")savePath = "C:\商品图片\" '修改为实际保存路径,路径末尾一定要加上\If Not FSO.FolderExists(savePath) Then FSO.CreateFolder(savePath) tempFilePath = Environ("Temp") & "\ExcelImages\"If Not FSO.FolderExists(tempFilePath) Then FSO.CreateFolder(tempFilePath)On Error Resume NextFor Each cell In Range("B2:B" & Cells(Rows.Count, 2).End(xlUp).Row) '图片URL所在列imgUrl = cell.ValuefileName = savePath & cell.Offset(0, -1).Value & ".jpg" '款号列为url列向左偏移一列Dim tempFile As StringtempFile = tempFilePath & "temp_" & cell.Offset(0, -1).Value & ".jpg"http.Open "GET", imgUrl, Falsehttp.SendIf http.Status = 200 Thenstream.Openstream.Type = 1stream.Write http.responseBodystream.SaveToFile tempFile, 2stream.CloseIf FSO.FileExists(fileName) ThenFSO.DeleteFile fileName, True End Ifimg.LoadFile tempFileDim ip As ObjectSet ip = CreateObject("WIA.ImageProcess")ip.Filters.Add ip.FilterInfos("Scale").FilterIDWith ip.Filters(1).Properties.Item("MaximumWidth") = 500 ' 设置最大宽度.Item("MaximumHeight") = 550 ' 设置最大高度.Item("PreserveAspectRatio") = FalseEnd WithDim processedImg As ObjectSet processedImg = ip.Apply(img)processedImg.SaveFile fileNameIf FSO.FileExists(tempFile) ThenFSO.DeleteFile tempFile, TrueEnd IfEnd IfNext cellIf FSO.FolderExists(tempFilePath) ThenFSO.DeleteFolder tempFilePath, TrueEnd IfMsgBox "图片下载完成!"
    End Sub

    1. 点击运行,完成状态显示如下:

    对应文件位置自动生成文件夹图片图片大小url实际图片大小

    http://www.dtcms.com/a/314991.html

    相关文章:

  1. 机器学习05——正则化与逻辑回归
  2. 大模型LLM介绍
  3. 《 java 随想录》| LeetCode二叉树高频算法题
  4. WPS2025(官方版)下载与安装教程
  5. 一命速通Docker安装+镜像源配置
  6. 【node】如何开发一个生成token的接口
  7. Disruptor核心:Sequencer解析
  8. 软件打包前进行文件去重
  9. 正则表达式全解析:从基础到实战(附 Python re 模块用法)
  10. 基于知识图谱增强的RAG系统阅读笔记(二)向量相似性搜索与混合搜索
  11. ESDocValues机制
  12. GEM_ 迈向通用LLM智能体训练新纪元
  13. Java 后端 + JavaScript 前端 实现按钮级别权限控制的解决方案
  14. HTTP、WebSocket、TCP、Kafka等通讯渠道对比详解
  15. JavaScript案例(乘法答题游戏)
  16. Claude Code六周回顾
  17. 关键字 - 第一讲
  18. 【Redis】安装Redis,通用命令
  19. dubbo——远程服务调用
  20. 华为OD机考2025C卷 - 分配土地 (Java Python JS C++ C )
  21. 解决MySQL删除/var/lib/mysql下的所有文件后无法启动的问题
  22. SpringBoot基础复习
  23. SwiftUI ios开发中的 MVVM 架构深度解析与最佳实践
  24. 为什么ping和dig(nslookup)返回地址不一样,两者的区别
  25. ElfBoard技术贴|如何在【RK3588】ELF 2开发板中安装openCV4以及第三方库contrib
  26. 腾讯混元3d模型360全景模式
  27. Python 桌面时钟屏保程序
  28. Dynamic Programming【DP】1
  29. 【Linux】gdb cgdb — 基操
  30. 广东省省考备考(第六十六天8.4)——判断推理(强化训练)