先来看看问题
我的同事遇到一个难题:他在钉钉上网课,通过表单收集学生作业,可数据导出后,得到的却是如图的一堆链接,没有图片。
可是真正需要的,却是这些链接对应的图片,并且希望将这些图片保存在某个文件夹中。
于是,只能逐个手动下载,然而,任两个班的课,每班50名学生,笔记+作业.....每人每天至少交5张图片,一星期的数据有多少?哈哈~~~~下载图片的过程真的很酸爽。
其实有简单的解决办法
对这类问题,如果换用VBA来解决,十秒钟就能搞定。
步骤1:按Alt+F11打开VBE窗口,插入一个模块。
步骤2:在插入的模块中写入代码:
<code>Sub 下载图片()
Dim Xml As Object, Irow As Long, PicName As String, Pic
Set Xml = CreateObject("msxml2.Xmlhttp")
Irow = 2
Do While Cells(Irow, "C").Value <> ""
Pic = Split(Cells(Irow, "C").Value, ".")
PicName = Cells(Irow, "A").Text & Cells(Irow, "B").Text & "." & Pic(UBound(Pic))
Xml.Open "GET", Cells(Irow, "C").Text, False
Xml.send
Do While Xml.readyState <> 4
DoEvents
Loop
Dim Arr() As Byte
Arr = Xml.responsebody
Open ThisWorkbook.Path & "\\图片\" & PicName For Binary As #1
Put #1, , Arr
Close #1
Irow = Irow + 1
Loop
MsgBox "下载完成,单击【确定】按钮查看结果。", vbInformation
Shell "explorer.exe " & ThisWorkbook.Path & "\\图片\", vbNormalFocus
End Sub/<code>
步骤3:返回工作表,执行代码就能将图片下载下来了。
这种方法是不是更简单和方便呢?有类似需求的可以收藏代码。
閱讀更多 Excel其實很簡單 的文章