如何通过编程从Excel VBA项目中删除(已知)密码?
需要明确的是:我想从VBA项目中删除密码,而不是工作簿或任何工作表。
如何通过编程从Excel VBA项目中删除(已知)密码?
需要明确的是:我想从VBA项目中删除密码,而不是工作簿或任何工作表。
另一种去除VBA项目密码的方法是:
更新:适用于Excel 2010(适用于MS Office Pro Plus 2010 [14.0.6023.1000 64位]),
如果工作簿受保护:
xl
文件夹workbook.xml
并选择编辑<workbookProtection workbookPassword="XXXX" lockStructure="1"/>
(XXXX
是加密的密码)XXXX
部分。(例如<workbookProtection workbookPassword="" lockStructure="1"/>
)如果工作表受保护:
xl / worksheets /
文件夹。Sheet1.xml
,Sheet2.xml
等文件,并选择编辑。<sheetProtection password="XXXX" sheet="1" objects="1" scenarios="1" />
部分。<sheetProtection password="" sheet="1" objects="1" scenarios="1" />
)。.xlsx
文件,你也可以解压它,在 xl/vbaProject.bin
文件上进行查找/替换,然后重新压缩。 - Sander Steffann我找到了另一种方法来解决这个问题,避免丢失VBA项目密码。
如果文件类型是XLSM:
.xlsm
重命名为 .zip
(或者可以使用7zip/WinRAR打开.xlsm文件并打开/提取它)并打开/提取它xl/vbaProject.bin
文件DPB=
并替换为 DPx=
.zip
(或将文件重新压缩回去).xlsm
.xlsm
文件或者
也可以按照以下步骤操作
我找到了另一种方法来解决这个问题,避免丢失Excel密码。
使用Hex-editor XVI32 进行处理
如果文件类型是XLSM:
用 7-Zip 打开 XLSM 文件(右键单击 -> 7-Zip -> 打开归档文件)。2. 将 xl/vbaProject.bin 文件从文件中复制出来(可以从 7-Zip 拖放),不要关闭 7-Zip。
用 HexEdit 打开 vbaProject.bin 文件。
搜索“DPB =”并将其替换为“DPx =”。
保存文件。
将此文件复制回 7-Zip(拖放方式也可)。
在 Excel 中打开 XLSX 文件,如果提示“继续加载项目”,请点击是。如果提示错误,请点击确定。8.按下 Alt + F11 打开 VBA 编辑器。
当按下时,它会显示错误“意外错误(40230)”,只需点击确定(6 或 7 次),直到消失。
然后它会自动打开。
xls
文件和 Excel 2016。在 Mike 的帮助下,当我将文件从 xls
更改为 xlsm
时,它起作用了。我不需要使用 7-zip
来获取 bin 文件。 - Timo我对Excel 2016的看法:
Notepad++
打开xls
文件DPB=
并将其替换为DPx=
错误40230
)我在这里发现了一个链接,描述了如何设置VBA项目密码:http://www.standards.com/Office/SetVBAProjectPassword.html。您应该能够修改它来取消VBA项目密码。
这个方法不使用SendKeys。
如果这有帮助,请让我知道! JFV