让灵犀帮我创作
才思如泉涌
WPS表格技巧:自动插入图片与数据同步 点击使用AI助手 了解更多
发布于 2024-12-25 liusiyang 83 编辑
AI 智能搜索
⭐【案例描述】
如下图,当A列输入图片名称时,B列显示相应图片。图片文件存放在表格同目录下的“图片”文件夹中,当A列中输入的名称不在文件夹中时,显示“无图片”,当删除图片名称时,图片也会跟着被删除。
⭐【操作效果】
⭐【JSA代码】
按ALT+F11打开WPS宏编辑器,复制下方代码粘贴到编辑器中。
//JS宏自动插入图片,A单元格变动,自动在B列插入图片
function Workbook_SheetChange(Sh, rg)
{
//如果工作表名不是Sheet1,或者同时编辑了多个单元格,则退出程序
if(Sh.Name!=='Sheet1'||rg.Count > 1) return;
//如果变动的列为A列,且行数大于1,则往下执行
if(rg.Column == 1 && rg.Row > 1){
for(sp of Sh.Shapes){ //遍历表格中所有图片
//判断图片所在位置左侧单元格是否与变动单元格相同
if(sp.TopLeftCell.Offset(0, -1).Value2 == rg.Value2){
sp.Delete() //如果相同就删除单元格中原有图片
}
}
p = ThisWorkbook.Path + "\\图片\\" //图片所在文件夹
f = p + rg.Value2 + '.jpg' //图片名称
rg1 = rg.Offset(0, 1) //要插入图片的位置
if(Dir(f)){ //判断图片文件是否存在
rg1.Value2 = '' //图片单元格为空
//插入图片,设置图片的位置和宽高
sp=Sh.Shapes.AddPicture( f, 1, 1,
rg1.Left + 5, rg1.Top + 5,
rg1.Width - 10, rg1.Height - 10)
}else{
//图片名称为空时,图片位置为空,图片名称不存在时显示“无图片”
rg.Value2==null ? rg1.Value2='' : rg1.Value2 = "无图片"
}
}
}
⭐【往期内容】
⭐【素材下载】
https://kdocs.cn/l/cfFjOydgml10
原文链接:https://bbs.wps.cn/topic/10102