ES+VBA 实现批量添加网络图片
2024-09-06 21:45:52
需求:通过自动读取相对应列的图片网址,自动添加到图片列,从而完成添加图片
案例:需要将备注列的图片网址添加到图片列的内容
关键代码
'引入API
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
'Public Declare Function DeleteUrlCacheEntry Lib "wininet" Alias "DeleteUrlCacheEntryA" (ByVal lpszUrlName As String) As Long
'下载函数
Function getImg(url As String, Optional fn As String = "") As String
Dim localFilename As String, lngRetVal As Long
If fn = "" Then fn = Rnd() * & ".jpg"
localFilename = ThisWorkbook.Path & Application.PathSeparator & fn
lngRetVal = URLDownloadToFile(, url, localFilename, , )
' Debug.Print lngRetVal
If lngRetVal = Then
' DeleteUrlCacheEntry url '清除缓存
getImg = localFilename
Else
getImg = ""
End If
End Function
'按钮宏
Sub getImg2()
Dim cel
With Application.COMAddIns("esclient10.connect").Object
For Each cel In Range("_picLink")
If cel.Value <> "" Then
Cells(cel.Row, ).Select
.AddPicture getImg(cel.Value), , cel.Row, '插入图片到sheet1,链接行,第13列
End If
Next
End With
End Sub
其他说明
addpicture 的用法是 addpicture 图片路径,sheet,row,col 图片路径用 getImg(url)去下载
如果要是单一的图片的话, 直接 addpicture 不用 for 循环
最新文章
- SpringMVC执行流程
- IO多路复用,实现多线程监听
- PowerMockito 同时mock多个对象
- dede的安装和配置
- Linux ubuntu 10.10安装OpenCv
- Array原型链添加“遍历”方法
- 大话C#之属性
- [置顶] EASYUI+MVC4+VS2010通用权限管理系统开发
- Newtonsoft.Json工具类
- Google研究员Ilya Sutskever:成功训练LDNN的13点建议
- 具体解说Android的图片下载框架UniversialImageLoader之磁盘缓存的扩展(二)
- Less基础教程
- Python 3.5.1 Syntax &; APIs(Continue Updating..
- JavaScript在div后添加删除div
- Web Driver 8中定位方法 ——基于python语言
- OSPF Sham-Link配置示例
- adb 常用命令-转载
- unity 动态更新模型透明度
- 健康,home? [java的内存浅析]
- WebService . Schema约束