ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 批量给WORD文档添加身份证号后6位为打开文件密码?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-6-2 11:15 | 显示全部楼层 |阅读模式
本帖最后由 lxy090 于 2023-6-3 00:49 编辑

有一批以个人姓名命名评价表格文件,需放在公共网盘让人下载,表格中含有个人信息,因此,需要给WORD文件添加打开密码,拟以个人身份证号后6位为打开文件密码。因文档较多,能否用代码一次性完成。谢谢!

补充:文件名以姓名命名,密码放在同一路径文件夹的电子表中,A列姓名,B列要加密的密码。 新建文件夹 (2).zip (28.1 KB, 下载次数: 15)

若有同名同姓,同名者姓名为:名,名1……



TA的精华主题

TA的得分主题

发表于 2023-6-2 11:49 | 显示全部楼层
个人姓名和身份证信息存放在什么地方?
如果姓名重名,你的文件命名规则又是怎么样的?

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-6-2 13:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
batmanbbs 发表于 2023-6-2 11:49
个人姓名和身份证信息存放在什么地方?
如果姓名重名,你的文件命名规则又是怎么样的?

补充:文件名以姓名命名,密码放在同一路径文件夹的电子表中,A列姓名,B列要加密的密码。

TA的精华主题

TA的得分主题

发表于 2023-6-2 19:35 | 显示全部楼层
本帖最后由 batmanbbs 于 2023-6-2 19:54 编辑

问楼主未回答关于重名的问题,因此没有考虑
PS:注意保存原始文件,建议复制一份进行操作,以防万一
image.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-6-2 19:44 | 显示全部楼层
本帖最后由 batmanbbs 于 2023-6-2 20:38 编辑
  1. Sub 批量设置WORD文档密码()
  2. '
  3. ' 批量设置WORD文档密码(本代码放在EXCEL人员信息表中)
  4. ' 1.人员信息表确保A列为姓名(WORD文档名),B列为密码
  5. ' 2.WORD文档和EXCEL信息表在同一目录下
  6. '
  7.     Dim arr() As Variant
  8.     Dim Count%, FilePath$
  9.     FilePath = ThisWorkbook.Path
  10.     If Len(FilePath) = 0 Then MsgBox "本信息表未保存!": End
  11.     With ThisWorkbook.Worksheets("Sheet1")        ' 根据实际修改工作表名称:Sheet1
  12.         Count = .Cells(.Rows.Count, 1).End(xlUp).Row
  13.         arr = .Range("A2:B" & Count).Value        ' 无标题行,A2修改成A1
  14.     End With

  15.     Dim wdApp, wdDoc As Object
  16.     Dim FileName$
  17.     Set wdApp = CreateObject("Word.application")
  18.     For i = LBound(arr) To UBound(arr)
  19.         If Len(Trim(arr(i, 1))) <> 0 Then
  20.             FileName = FilePath & "\" & arr(i, 1) & ".docx"        ' 修改成WORD文档的实际扩展名:doc/docx
  21.             If Len(Dir(FileName)) = 0 Then
  22.                 MsgBox FileName & "不存在!"
  23.             Else
  24.                 Set wdDoc = wdApp.Documents.Open(FileName)
  25.                 With wdDoc
  26.                     .ReadOnlyRecommended = False
  27.                     .Password = arr(i, 2)
  28.                     .Close True
  29.                 End With
  30.                 Set wdDoc = Nothing
  31.             End If
  32.         End If
  33.     Next i
  34.     wdApp.Quit
  35.     Set wdApp = Nothing
  36.     Erase arr
  37. End Sub
复制代码

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-6-2 23:46 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
batmanbbs 发表于 2023-6-2 19:35
问楼主未回答关于重名的问题,因此没有考虑
PS:注意保存原始文件,建议复制一份进行操作,以防万一

复制不了,输入后,显示”程序或对象定义错误“ 1004

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-6-3 00:07 | 显示全部楼层

不成功!提示文件夹内“姓名.doc"不存在!WORD文档就是以姓名命名的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-6-3 00:50 | 显示全部楼层

您好!尝试到深夜,都不能成功,不知错误在哪,我已在一楼添加了附件,麻烦您再看看。若同名者,姓名为:名,名1,代码又该如何修改?谢谢!

TA的精华主题

TA的得分主题

发表于 2023-6-3 10:52 | 显示全部楼层
本帖最后由 batmanbbs 于 2023-6-3 20:14 编辑
lxy090 发表于 2023-6-3 00:50
您好!尝试到深夜,都不能成功,不知错误在哪,我已在一楼添加了附件,麻烦您再看看。若同名者,姓名为: ...
审核也太慢了,已经在楼下截图说明

TA的精华主题

TA的得分主题

发表于 2023-6-3 10:53 | 显示全部楼层
本帖最后由 batmanbbs 于 2023-6-3 11:00 编辑
lxy090 发表于 2023-6-2 23:46
复制不了,输入后,显示”程序或对象定义错误“ 1004

审核太严格了,截图回答

image.png

你还可以转成DOCX格式试试

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-24 07:59 , Processed in 0.039120 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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