欢迎光临散文网 会员登陆 & 注册

Excel VBA 批量下载钉钉导出表格中的图片并重命名

2022-10-28 10:06 作者:孙兴华zz  | 我要投稿

网友提问:

图片放大

题外话,我对Excel合并单元格、多行表头、使用图片这些事情并不感兴趣,也不推荐大家使用,曾经有很多小伙伴问我,在ExcelVBA第三季第2课上讲的批量保存图片到电脑怎么重命名成单元格中的名字。我都告诉他们 ,这个我没深入研究过,图片是通过位置定位的,没放在单元格中,让网友自己网上找找。

今天网友这件事,我不会,VBA我没学与网络相关的部分,我也没深究过Excel里插入图片。

有人说,不懂就别说话了。不行,不懂才要说,就叫探索,用某些人的话说这叫Discovery

我们按顺序来,先让我们回到ExcelVBA第3季第2节课,2020年的那个冬天

我们当时讲了从Excel工作表中批量下载图片的代码:

这是笔记部分截图

但是,我们保存的图片没有前面单元格的名字。我们需要一个属性TopLeftCell

很多小伙伴是不是有这样一个想法,你们会想,这不瞎扯吗?我们本身是初学者,你让我们在微软的帮助文档里大海捞针?No! 我没让你们这么做,我写出来的原因是告诉小雷他们,这个属性不是他们发明的,是微软发明的。你们学习时,不是这样找,问搜索引擎就可以

但是他的代码根本就运行不了,评论区很多人在说这件事。他代码肯定发布在我的ExcelVBA第三季之后(我对网页已经截图),不存在谁借鉴谁,如果真的借鉴我的代码,那也不至于不能运行。我的所有课程和分享的代码都是希望大家在任何场景使用,拿出来讲课我也是欢迎的。

当初就是这哥们儿向我提出,我的代码换表就不能用了,我说你写代码我换表试试,他说凭什么。

你们从网上找轮子修改成自己的代码时,就很容易出这样的问题,因为不懂其理贸然修改。

但是他代码虽然运行不了,不管他从谁那里找来的,有一个地方是可参考的,就是蓝色框地方使用了TopLeftCell属性配合offset就可以取单元格了。把这个属性放到我们的代码中测试一下

运行后,真的成功了!yeah!非常感谢这位网友的方法,虽然你没有让代码起飞,但是我们做到了。

现在第一个问题,保存图片上让他重命名解决完了。再说第二个问题

当我把鼠标放在图片上时,会显示这个图片所在的网址

要解决第二个问题,就要拿到图片的网址,我遍历所有的Shapes,打印他们的名字,就拿到网址了。

最后就是下载网址,例如 http://XXX.XXX.XXX/pic/123.png  我们有了它,把它下载到硬盘上就行了。不懂就问搜索引擎

人家的代码我们不能直接用,因为需求不一样,但是,我们可以找到我们需要的东西。例如这位网友的代码,打码的都是我们用不到的,没打码的就是我们能用到的。

我们将他下载url的代码写到我们的程序中,帮我们办事。


运行后:

那有些小伙伴会问,你怎么知道哪句代码是做什么工作的?那你得顺序学ExcelVBA呀

比如我的能力做不了腾讯的创始人,但是我知道谁是腾讯的创始人。

可能你一辈子也不会变成ExcelVBA高手,但是你其码要有读懂别人代码的能力。

本文章配套课件在评论区分享给大家了。如果你自己的表用不了这个代码,说明你的表和他不一样,要根据你表的情况写代码。如果对保存文件名有组合需求,例如姓名+性别+电话,可以在最后一列,新建列把前面的单元格组合起来。

孙兴华的VBA代码都是拼出来的 ,但是每一个函数、方法、属性都是微软发明的。

家里有孩子的小伙伴,可以把这个方法分享给老师,这个是目前学校统计工作的刚需。

ExcelVBA合集:https://www.bilibili.com/video/BV1rt4y1a72y

更多教程:https://www.bilibili.com/read/cv10222110

Excel VBA 批量下载钉钉导出表格中的图片并重命名的评论 (共 条)

分享到微博请遵守国家法律