分享时间 | 12小时59分钟前 |
最后更新 | 2小时16分钟前 |
修订版本 | 5 |
用户许可 | -未设置- |
Quicker版本 | 1.44.13 |
动作大小 | 31.3 KB |
1.动作第一次运行需要运行两次,第一次运行会在桌面创建一个C:\Users\Administrator\Desktop\tp\文件夹,之后就可以正常运行,在此文件中查看重命名后导出的图片
2.动作会将当前活动工作表中全部浮动的图片,嵌入到单元格里,,可能会转换失败,最好提前手动转换一下
function 全选浮动图片(){ActiveSheet.Shapes.SelectAll()}
手动转换方式,先运行js宏代码全选浮动图片,再点击鼠标右键,选图片嵌入单元格
https://getquicker.net/Sharedaction?code=873e65a2-d7b1-4d36-19f5-08ddb95662d4
辅助动作嵌入图片,如果不成功,可以自己加点延时,测试
3.选择数据的格式:需要选择数据,第一行需要添加一个标题(如:tpm,tpid,),
要命名图片名称的那行标题要为:tpm (必须 图片名首字母)
要导出嵌入图片那行标题要为:tpid (必须 图片id首字母)
其他数据列随便就行,但必须要有标题
原理是将工作薄另存为zip文件,解压zip文件,从.\xl\cellimages.xml文件、.\xl\_rels\cellimages.xml.rels文件里提取相关信息,找到规则
name="ID_25A87EFEE18048FFA509A9989B61063E" embed="rId1" Id="rId1" Target="media/image1.png"
name="ID_6ACD9F8840B2438C8720604924A4B334" embed="rId2" Id="rId2" Target="media/image2.png"
以上是重要信息
规则为:
1name为图片嵌入单元格中的加载id信息, embed为图片名字的排列顺序
如 rId1表示解压文件夹里的media\image1.png rId2表示解压文件夹里的media\image2.png
2以此类推 这样就可以根据这两个相关信息,建立两个字典映射如下:{"ID_25A87EFEE18048FFA509A9989B61063E":"rId1","ID_6ACD9F8840B2438C8720604924A4B334":"rId2"},{"rId2":"media/image2.png","rId1":"media/image1.png"} 用来重命名
(自己琢磨的的规则,可能结果需要数据验证,我试的几种情况是可以成功的)
修订版本 | 更新时间 | 更新说明 |
---|---|---|
5 | 2小时16分钟前 | + |
4 | 2小时27分钟前 | + |
3 | 4小时7分钟前 | 优化1 |