如何以编程方式从Excel VBA工程中删除(已知)密码?需要说明的是:我要从VBA项目中删除密码,而不是从工作簿或任何工作表中删除密码。
0mkxixxg1#
删除VBA工程密码的另一种方法是:
xl
workbook.xml
<workbookProtection workbookPassword="XXXX" lockStructure="1"/>
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" />
xlpyo6sf2#
我找到了另一种方法来解决这个问题,以避免VBA项目的密码,而不会丢失密码。如果文件类型是XLSM文件:1.将.xlsm重命名为.zip(或者您可以使用7zip/WinRAR打开.xlsm)并打开/解压缩它1.使用Notepad++或HexEdit编辑xl/vbaProject.bin文件1.搜索DPB=并替换为DPx=
.xlsm
.zip
xl/vbaProject.bin
DPB=
DPx=
1.保存档案1.将此文件复制回.zip(或将文件压缩备份)1.将归档文件重命名回.xlsm1.在Excel中打开文件,如果提示“继续加载项目,”请单击“是”。如果提示错误,请单击“确定”。* 注意:代码可能仍然为空或已损坏,我们将在下一步中修复 *1.将文件保存为新.xlsm文件1.在Excel中打开新文件(现在应该没有错误)1.按Alt+ F11打开VBA编辑器
或也执行此步骤
我找到了另一种方法来解决这个问题,以避免VBA项目的密码,而不会丢失Excel密码。使用十六进制编辑器XVI 32的过程如果文件类型为XLSM文件:1.用7-Zip打开XLSM文件(右键-〉7-Zip -〉打开归档文件)2.从文件中复制xl/vbaProject.bin文件(可以从7-Zip中拖放),不要关闭7-Zip1.使用HexEdit打开vbaProject.bin文件1.搜索“DPB=”并替换为“DPx=”1.保存档案1.将此文件复制回7-Zip(同样,拖放操作有效)1.在Excel中打开XLSX文件,如果提示“继续加载项目”,请单击“是”。如果提示错误,请单击“确定”。8.按Alt+ F11打开VBA编辑器。1.当按下它将显示错误“意外错误(40230)",只需点击确定(6或7次),直到它消失。1.然后自动打开
n6lpvg4x3#
这里有一个简单的方法,使用SendKeys来取消VBA项目的保护。这会让你进入项目,所以你必须继续使用SendKeys来找到一个方法来取消密码保护:http://www.pcreview.co.uk/forums/thread-989191.php这里有一个更高级、更可靠的解除保护方法。同样,它只会为您解锁VB项目。http://www.ozgrid.com/forum/showthread.php?t=13006&page=2这两种方法我都没有试过,但如果你需要的话,这可能会保存你一些时间...
zzoitvuj4#
我对Excel 2016的两点看法:1.用Notepad++打开xls文件1.搜索DPB=并替换为DPx=1.保存档案1.打开文件,打开VB编辑器,打开模块将不工作(error 40230)1.将文件保存为xlsm1.它的工作原理
Notepad++
xls
error 40230
42fyovps5#
我找到了这个here,它描述了如何设置VBA项目密码。您应该可以修改它来取消设置VBA项目密码。这个不使用SendKeys。如果这有帮助,请告诉我!JFV
jtoj6r0c6#
打开带有7 zip的xlsm文件后,提取vbaproject.bin并在记事本++中用DPx替换DpB并重新保存,我得到了很多vbaproject错误和vba项目密码,但没有代码/表单。我右键单击导出,并能够重新导入到一个新的项目。
6条答案
按热度按时间0mkxixxg1#
删除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" />
)xlpyo6sf2#
我找到了另一种方法来解决这个问题,以避免VBA项目的密码,而不会丢失密码。
如果文件类型是XLSM文件:
1.将
.xlsm
重命名为.zip
(或者您可以使用7zip/WinRAR打开.xlsm)并打开/解压缩它1.使用Notepad++或HexEdit编辑
xl/vbaProject.bin
文件1.搜索
DPB=
并替换为DPx=
1.保存档案
1.将此文件复制回
.zip
(或将文件压缩备份)1.将归档文件重命名回
.xlsm
1.在Excel中打开文件,如果提示“继续加载项目,”请单击“是”。如果提示错误,请单击“确定”。* 注意:代码可能仍然为空或已损坏,我们将在下一步中修复 *
1.将文件保存为新
.xlsm
文件1.在Excel中打开新文件(现在应该没有错误)
1.按Alt+ F11打开VBA编辑器
或
也执行此步骤
我找到了另一种方法来解决这个问题,以避免VBA项目的密码,而不会丢失Excel密码。使用十六进制编辑器XVI 32的过程
如果文件类型为XLSM文件:
1.用7-Zip打开XLSM文件(右键-〉7-Zip -〉打开归档文件)2.从文件中复制xl/vbaProject.bin文件(可以从7-Zip中拖放),不要关闭7-Zip
1.使用HexEdit打开vbaProject.bin文件
1.搜索“DPB=”并替换为“DPx=”
1.保存档案
1.将此文件复制回7-Zip(同样,拖放操作有效)
1.在Excel中打开XLSX文件,如果提示“继续加载项目”,请单击“是”。如果提示错误,请单击“确定”。8.按Alt+ F11打开VBA编辑器。
1.当按下它将显示错误“意外错误(40230)",只需点击确定(6或7次),直到它消失。
1.然后自动打开
n6lpvg4x3#
这里有一个简单的方法,使用SendKeys来取消VBA项目的保护。这会让你进入项目,所以你必须继续使用SendKeys来找到一个方法来取消密码保护:http://www.pcreview.co.uk/forums/thread-989191.php
这里有一个更高级、更可靠的解除保护方法。同样,它只会为您解锁VB项目。http://www.ozgrid.com/forum/showthread.php?t=13006&page=2
这两种方法我都没有试过,但如果你需要的话,这可能会保存你一些时间...
zzoitvuj4#
我对Excel 2016的两点看法:
1.用
Notepad++
打开xls
文件1.搜索
DPB=
并替换为DPx=
1.保存档案
1.打开文件,打开VB编辑器,打开模块将不工作(
error 40230
)1.将文件保存为xlsm
1.它的工作原理
42fyovps5#
我找到了这个here,它描述了如何设置VBA项目密码。您应该可以修改它来取消设置VBA项目密码。
这个不使用SendKeys。
如果这有帮助,请告诉我!JFV
jtoj6r0c6#
打开带有7 zip的xlsm文件后,提取vbaproject.bin并在记事本++中用DPx替换DpB并重新保存,我得到了很多vbaproject错误和vba项目密码,但没有代码/表单。
我右键单击导出,并能够重新导入到一个新的项目。