ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 469|回复: 5

[已解决] 根据名称批量导入图片制作表单

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-5-31 09:50 | 显示全部楼层 |阅读模式
本帖最后由 x1991mm 于 2023-5-31 15:02 编辑

各位大佬:

      大家好,由于工作内容比较繁琐,就想通过VBA批量制作表单,在论坛里查找批量制作表单的帖子,修改匹配自己的的模板,但是现在表单还缺最后一步,根据名称批量导入图片到表单里,一直没有找到对应的模板,找到的基本是在同一列里批量导入图片,肯请大佬们帮帮忙,非常感谢。
      希望取得的效果:点击生成普通表单按钮根据录入工作表的样品编号查找图片文件夹里的照片导入到普通委托模板的样品照片页R6单元格里,照片高度15cm,照片比例不变,居中放置。
    1.png
                              录入工作表
      2.png
                         普通委托模板工作表
        
      目前的代码如下
  1. Sub 普通委托表单生成()
  2. Dim i, irow As Long: Dim str, fp As String: Dim arr

  3. Application.DisplayAlerts = False
  4. Application.ScreenUpdating = False
  5. t = Timer
  6. With Application.FileDialog(msoFileDialogFolderPicker) '选择登记卡的保存位置
  7.         .AllowMultiSelect = False
  8.         If .Show Then
  9.             fp = .SelectedItems(1)
  10.         Else
  11.             Exit Sub
  12.         End If
  13. End With

  14. fp = fp & "\*.xls*"
  15. str = Dir(fp)


  16. With ThisWorkbook.Sheets("录入") '填写录入数据
  17.     irow = .Cells(Rows.Count, 1).End(xlUp).Row
  18.     arr = ThisWorkbook.Sheets("录入").Range("a4:ac" & irow)
  19.     For i = LBound(arr) To UBound(arr)
  20.         Sheets("普通委托模板").Copy
  21.         ActiveSheet.Range("c4") = arr(i, 16)
  22.         ActiveSheet.Range("g4") = arr(i, 1)
  23.         ActiveSheet.Range("f23") = arr(i, 3)
  24.         ActiveSheet.Range("l3") = arr(i, 1)
  25.         ActiveSheet.Range("l4") = arr(i, 2)
  26.         ActiveSheet.Range("n7") = arr(i, 3)
  27.         ActiveSheet.Range("n9") = arr(i, 3)
  28.         ActiveSheet.Range("n11") = arr(i, 3)
  29.         ActiveSheet.Range("n13") = arr(i, 3)
  30.         ActiveSheet.Range("n15") = arr(i, 3)
  31.         ActiveSheet.Range("o3") = arr(i, 4)
  32.         ActiveSheet.Range("o4") = arr(i, 4)
  33.         ActiveSheet.Range("s3") = arr(i, 2)
  34.         ActiveSheet.Range("s4") = arr(i, 7)
  35.         ActiveSheet.Range("s5") = arr(i, 13)
  36.         ActiveWorkbook.SaveAs Split(fp, "*")(0) & arr(i, 2) & "_" & arr(i, 7) & ".xls"
  37.         ActiveWorkbook.Close
  38.         k = k + 1
  39.     Next i
  40. End With

  41. MsgBox "处理完毕!本次登记卡共" & k & "份。" & "用时:" & Timer - t & "秒"

  42. Application.DisplayAlerts = True
  43. Application.ScreenUpdating = True
  44. End Sub
复制代码
批量导入图片制作表单.zip (1.34 MB, 下载次数: 7)
     

TA的精华主题

TA的得分主题

发表于 2023-5-31 13:47 | 显示全部楼层
x1991mm 发表于 2023-5-31 13:10
zpy2,您好,我看了您回复的帖子,发现不懂的如何修改成适用我模板的代码,不知道能不能麻烦您帮我修改一 ...

插入图片很简单,因为过于简单,所有可能大家觉的你应该会;
图片目录需要留意,注释里有说明;

批量导入图片制作表单.rar

33.25 KB, 下载次数: 14

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-5-31 10:44 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-31 13:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
zpy2 发表于 2023-5-31 10:44
https://club.excelhome.net/forum.php?mod=viewthread&tid=1664098&fromguid=hot&extra=&mobile=

zpy2,您好,我看了您回复的帖子,发现不懂的如何修改成适用我模板的代码,不知道能不能麻烦您帮我修改一下,添加批量导入图片的功能。非常感谢。

TA的精华主题

TA的得分主题

发表于 2023-5-31 13:53 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-31 14:58 | 显示全部楼层
本帖最后由 x1991mm 于 2023-5-31 15:53 编辑
fanyoulin 发表于 2023-5-31 13:47
插入图片很简单,因为过于简单,所有可能大家觉的你应该会;
图片目录需要留意,注释里有说明;

fanyoulin,您好,非常感谢,我测试后完全符合预期,因为工作需要才刚学习VBA知识,目前处于牙牙学语阶段,还无法进行片段修改,只懂的改一点参数,如您给的模板导入照片大小为单元格大小,我将它大小改成单元格大小前后左右各缩减一定像素的程度。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-31 15:02 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
liulang0808 发表于 2023-5-31 13:53
https://club.excelhome.net/thread-1441877-1-1.html?_dsign=15791c27
插入图片案例,可以参考下凹

liulang0808,您好,我有看到这个帖子,但研究了很久还是不会修改,fanyoulin刚帮我解决了问题,我也将继续学习,非常感谢您的回复。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 08:49 , Processed in 0.043595 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表