ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

分享:自动形成连续单个证件或表格:自定义版式、自选项目、可有相片、可并排

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-12-31 14:24 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖已被收录到知识树中,索引项:模板和开源系统
本帖最后由 lhdcxz 于 2013-12-31 14:34 编辑

你的 Call photo(Sheet3.Range(Cells(i + 10, 28 + j).Value), Sheet2.Cells(2, nn)) 是2个参数
而你改的 Sub photo(reg As Range, iRow As Single, pname As String) ''把pname相片放到reg 是3个参数
所以出现错误。
而且,既然iRow作为子程序入口参数(iRow As Single也不对,应该是 As Integer 或者As  Long)
那么就不能再子程序里面赋值 iRow = 2...
  With Sheet2
  For iRow = 2 To .Cells(65536, 1).End(xlUp).Row 错误:改变了原始参数的值(iRow只能引用)

TA的精华主题

TA的得分主题

发表于 2013-12-31 11:49 | 显示全部楼层
本帖最后由 yanny2 于 2013-12-31 12:10 编辑
lhdcxz 发表于 2013-12-30 17:53
你打开看看。还有“链接”?怎么一开始就出现错误?还无法到这个模块呢。我是2003版本,可能无法调试。

哦,我的是2010版的。不知道代码应用上,10版和03版语法是不是不一样呢?
我可以打开啊,然后其它都运行正常,就是运行到那个call photo处 就显示参数不可选。所以,感觉应该是那个路径的设置吧。但要怎么设置呢?是不是因为panme不是在sheet2的,而我的分类项在sheet2,而造成混乱了呢?那可不可以像pname一样做一个分类项的代名呢? 材料检索系统2003版.zip (180.96 KB, 下载次数: 60) 我加入了我的数据。其实应该就是我的那个代码路径修改有问题。附件我用你的表修改,保存了还是03版的。

TA的精华主题

TA的得分主题

发表于 2013-12-30 21:30 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-12-30 18:20 | 显示全部楼层
本帖最后由 lhdcxz 于 2014-1-2 10:08 编辑
悠哉游哉 发表于 2013-12-30 12:32
希望在每张证件里加入统一的背景,请问应该怎么设置?


看看168楼是不是这个效果。

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-12-30 17:53 | 显示全部楼层
本帖最后由 lhdcxz 于 2013-12-30 18:17 编辑
yanny2 发表于 2013-12-30 17:13
老师,附件在153楼,开头的链接那里。就是开头有下划线的那个


你打开看看。还有“链接”?怎么一开始就出现错误?还无法到这个模块呢。我是2003版本,可能无法调试。

TA的精华主题

TA的得分主题

发表于 2013-12-30 17:13 | 显示全部楼层
老师,附件在153楼,开头的链接那里。就是开头有下划线的那个

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-12-30 17:05 | 显示全部楼层
yanny2 发表于 2013-12-30 16:56
谢谢老师。是的,我那是路径。即使添加了“ . ” 和“\“,还是显示参数不可选。

把附件发上来看看。

TA的精华主题

TA的得分主题

发表于 2013-12-30 16:56 | 显示全部楼层
谢谢老师。是的,我那是路径。即使添加了“ . ” 和“\“,还是显示参数不可选。

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-12-30 14:41 | 显示全部楼层
本帖最后由 lhdcxz 于 2013-12-30 14:43 编辑
yanny2 发表于 2013-12-30 13:36
(修改的材料系统,多级文件夹)我改了。但显示参数错误。并且相关链接路径,也不起作用。看来,要加多一项 ...


注意:代码是在Sheet2循环的:
For iRow = 2 To .Cells(65536, 1).End(xlUp).Row
  FilPath = ThisWorkbook.Path & "\PIC\" & Cells(iRow, 10) & pname & ".jpg"  '查找此名称的相片
因此1、你在Sheet2的Cells(iRow, 10)单元格里面是不是一个路径?如果是,还要加个 “ . ” 和“\“
   即FilPath = ThisWorkbook.Path & "\PIC\" & .Cells(iRow, 10) & "\"  & pname & ".jpg"
2、如果不是,就要在Cells(iRow, 10)前面加上工作表名称

TA的精华主题

TA的得分主题

发表于 2013-12-30 13:36 | 显示全部楼层
(修改的材料系统,多级文件夹)我改了。但显示参数错误。并且相关链接路径,也不起作用。看来,要加多一项,也不是容易事啊。
  1. Sub photo(reg As Range, iRow As Single, pname As String) ''把pname相片放到reg
  2. With Sheet2
  3. For iRow = 2 To .Cells(65536, 1).End(xlUp).Row
  4.   FilPath = ThisWorkbook.Path & "\PIC" & Cells(iRow, 10) & pname & ".jpg"  '查找此名称的相片
  5.      If Dir(FilPath) <> "" Then '找到
  6.        ActiveSheet.Pictures.Insert(FilPath).Select '插入相片
  7.        Selection.Placement = xlMoveAndSize '设置图片可以随单元格的变动而改变大小和位置
  8.        Selection.ShapeRange.LockAspectRatio = msoFalse '取消图片纵横比锁定
  9.        Selection.Top = reg.Top
  10.        Selection.Left = reg.Left
  11.        Selection.Width = reg.Width
  12.        Selection.Height = reg.Height
  13.      Else
  14.       reg.Value = "本文件夹里" & Chr(10) & "找不到" & Chr(10) & "名字是" & Chr(10) & pname & Chr(10) & "的照片!"
  15.      End If
  16.      Next
  17. End Sub
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-9-27 20:24 , Processed in 0.040684 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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