ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

如何批量打开文件夹里的word文件,然后添加(或去除)每个word的密码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-12-7 22:02 | 显示全部楼层 |阅读模式
如何批量打开某文件夹里的word文件,然后添加(或去除)每个word表的密码..??
工作上有一些文件需要加密和解密(密码都设置一样的),要是一个一个的加密或者解密的话,真是累死了,能不能写段代码,让word自动完成。。谢谢大家了。。

需加密的文件.rar

2.28 KB, 下载次数: 46

需加密

TA的精华主题

TA的得分主题

发表于 2009-12-7 22:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

有一个更快捷的办法

下载一个加密软件

可以将文件夹每个文件加密

TA的精华主题

TA的得分主题

发表于 2009-12-7 23:43 | 显示全部楼层
      参考如下代码:
  1. Sub kqbt_Jiami()
  2.   Application.ScreenUpdating = False
  3.   Dim MyPath As String, i As Integer, myDoc As Document
  4.   With Application.FileDialog(msoFileDialogFolderPicker)
  5.     .Title = "选择目标文件夹"
  6.     If .Show = -1 Then
  7.       MyPath = .SelectedItems(1)
  8.     Else
  9.       Exit Sub
  10.     End If
  11.   End With
  12.   With Application.FileSearch
  13.     .LookIn = MyPath
  14.     .FileType = msoFileTypeWordDocuments
  15.     If .Execute > 0 Then
  16.       For i = 1 To .FoundFiles.Count
  17.         Set myDoc = Documents.Open(FileName:=.FoundFiles(i))
  18.         myDoc.SaveAs FileName:=myDoc.Path & "" & myDoc.Name, Password:="123456" '设置密码为 123456
  19.         Selection.TypeText Chr(32): Selection.TypeBackspace
  20.         myDoc.Close True
  21.       Next
  22.     End If
  23.   End With
  24.   Application.ScreenUpdating = True
  25. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2009-12-8 00:15 | 显示全部楼层
谢谢kqbt兄的代码。
楼主也可以参考此帖中守版提供的代码
http://club.excelhome.net/viewth ... ngqingfu&page=1
  1. Sub 批量设置和解除指定文件夹下文档的打开文件时的密码()
  2.     Dim myDialog As FileDialog, oFile As Variant, oDoc As Document
  3.     Dim myPassWord As String
  4.     Dim OldPW As String
  5.     Dim myVar As Variable
  6.     Dim aVar As Variable
  7.     Dim Num As Integer
  8.     On Error Resume Next
  9.     '定义一个文件夹选取对话框
  10.     Set myDialog = Application.FileDialog(msoFileDialogFilePicker)
  11.     With myDialog
  12.         .Filters.Clear    '清除所有文件筛选器中的项目
  13.         .Filters.Add "所有 WORD 文件", "*.doc", 1    '增加筛选器的项目为所有WORD文件
  14.         .AllowMultiSelect = True    '允许多项选择
  15.         If .Show <> -1 Then Exit Sub
  16.         With ThisDocument
  17.             For Each aVar In .Variables
  18.                 If aVar.name = "PW" Then Set myVar = aVar: Exit For
  19.             Next
  20.             If myVar Is Nothing Then
  21.                 Set myVar = .Variables.Add(name:="PW", Value:="EMPTY")
  22.             End If
  23.             OldPW = myVar.Value
  24.             If OldPW = "EMPTY" Then OldPW = ""
  25.             myPassWord = VBA.InputBox("请输入需要设置的文档保护密码,如果什么也不输入或者按取消则视为解除打开密码!")
  26.             If myPassWord = "" Then
  27.                 .Variables("PW").Value = "EMPTY"
  28.             Else
  29.                 .Variables("PW").Value = myPassWord
  30.             End If
  31.             .Save
  32.         End With
  33.         For Each oFile In .SelectedItems    '在所有选取项目中循环
  34.             Set oDoc = Documents.Open(FileName:=oFile, Visible:=False, PasswordDocument:=OldPW)
  35.             With oDoc
  36.                 .ReadOnlyRecommended = False    '请勿省略
  37.                 .Password = myPassWord
  38.                 .Close True   '关闭文档
  39.             End With
  40.         Next oFile
  41.     End With
  42. End Sub
复制代码

[ 本帖最后由 tangqingfu 于 2009-12-8 00:21 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-12-8 10:26 | 显示全部楼层
      谢谢qingfu兄分享,学习老大的方法!

TA的精华主题

TA的得分主题

发表于 2009-12-8 11:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
好的方法都要学习啊

TA的精华主题

TA的得分主题

发表于 2011-1-6 16:55 | 显示全部楼层
先收藏下,再学习。 感谢分享!

TA的精华主题

TA的得分主题

发表于 2015-1-21 15:01 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
不错不错,学习学习!!

TA的精华主题

TA的得分主题

发表于 2022-1-28 09:51 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2022-1-28 10:24 | 显示全部楼层
tangqingfu 发表于 2009-12-8 00:15
谢谢kqbt兄的代码。
楼主也可以参考此帖中守版提供的代码
http://club.excelhome.net/viewthread.php?tid ...

貌似docx不能加密
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-27 03:49 , Processed in 0.051420 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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