从 VBA 项目中删除密码

发布于 2024-07-08 17:19:54 字数 91 浏览 7 评论 0 原文

如何以编程方式从 Excel VBA 项目中删除(已知)密码?

需要明确的是:我想从 VBA 项目中删除密码,而不是从工作簿或任何工作表中删除密码。

How can I programmatically remove a (known) password from an Excel VBA project?

To be clear: I want to remove the password from the VBA Project, not the workbook or any worksheets.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

肤浅与狂妄 2024-07-15 17:19:54

删除 VBA 项目密码的另一种方法是;

  • 使用十六进制编辑器打开 xls 文件。
    (即十六进制编辑 http://www.hexedit.com/
  • 搜索 DPB
  • 将 DPB 替换为 DPx
  • 保存文件。
  • 在 Excel 中打开文件。
  • 如果出现任何消​​息框,请单击“是”。
  • 从 VBA 项目属性设置新密码。
  • 关闭并再次打开文件,然后输入新密码以取消保护。

更新:对于 Excel 2010(适用于 MS Office Pro Plus 2010 [14.0.6023.1000 64 位]),

  • 使用 7zip 打开 XLSX 文件

如果工作簿受保护:

  • 浏览文件夹< code>xl
  • 如果工作簿受保护,右键单击 workbook.xml 并选择编辑
  • 查找部分 XXXX是您的加密密码)
  • 删除XXXX部分。 (即
  • 保存文件。
  • 当 7zip 要求您更新存档时,请说
  • 关闭 7zip 并重新打开 XLSX。
  • 单击审阅选项卡上的保护工作簿
  • 可选:保存您的文件。

如果工作表受保护:

  • 浏览到 xl/worksheets/ 文件夹。
  • 右键单击 Sheet1.xmlsheet2.xml 等,然后选择编辑
  • 找到 部分
  • 删除加密密码(即 )
  • 保存文件。
  • 当 7zip 要求您更新存档时,请说
  • 关闭 7zip 并重新打开 XLSX。
  • 单击审阅选项卡上的取消保护工作表
  • 可选:保存您的文件。

Another way to remove VBA project password is;

  • Open xls file with a hex editor.
    (ie. Hex Edit http://www.hexedit.com/)
  • Search for DPB
  • Replace DPB to DPx
  • Save file.
  • Open file in Excel.
  • Click "Yes" if you get any message box.
  • Set new password from VBA Project Properties.
  • Close and open again file, then type your new password to unprotect.

UPDATE: For Excel 2010 (Works for MS Office Pro Plus 2010 [14.0.6023.1000 64bit]),

  • Open the XLSX file with 7zip

If workbook is protected:

  • Browse the folder xl
  • If the workbook is protected, right click workbook.xml and select Edit
  • Find the portion <workbookProtection workbookPassword="XXXX" lockStructure="1"/> (XXXX is your encrypted password)
  • Remove XXXX part. (ie. <workbookProtection workbookPassword="" lockStructure="1"/>)
  • Save the file.
  • When 7zip asks you to update the archive, say Yes.
  • Close 7zip and re-open your XLSX.
  • Click Protect Workbook on Review tab.
  • Optional: Save your file.

If worksheets are protected:

  • Browse to xl/worksheets/ folder.
  • Right click the Sheet1.xml, sheet2.xml, etc and select Edit.
  • Find the portion <sheetProtection password="XXXX" sheet="1" objects="1" scenarios="1" />
  • Remove the encrypted password (ie. <sheetProtection password="" sheet="1" objects="1" scenarios="1" />)
  • Save the file.
  • When 7zip asks you to update the archive, say Yes.
  • Close 7zip and re-open your XLSX.
  • Click Unprotect Sheet on Review tab.
  • Optional: Save your file.
溺孤伤于心 2024-07-15 17:19:54

我找到了另一种方法来解决这个问题,以避免 VBA 项目的密码,而不丢失密码。

如果文件类型是 XLSM 文件:

  1. .xlsm 重命名为 .zip(或者您可以使用 7zip/WinRAR 打开 .xlsm)并打开/解压它
  2. 编辑 <使用 Notepad++ 或 HexEdit 的 code>xl/vbaProject.bin 文件
  3. 搜索 DPB= 并将其替换为 DPx=

在此处输入图像描述

  1. 保存文件
  2. 将此文件复制回 .zip(或将文件压缩备份)
  3. 将存档重命名回 .xlsm
  4. 如果提示“继续加载项目”,请在 Excel 中打开文件”,单击“是”。 如果提示错误,请单击“确定”。 注意:代码可能仍为空白或已损坏,我们将在下一步中修复
  5. 将文件另存为新 .xlsm 文件
  6. 打开在 Excel 中新建文件(现在应该没有错误)
  7. 按 Alt+F11 打开 VBA 编辑器

也按照此步骤操作

我找到了另一种方法解决这个问题可以避免VBA项目的密码,而不丢失excel密码。
请使用十六进制编辑器 XVI32 进行处理

如果文件类型是 XLSM 文件,

  1. 使用 7-Zip 打开 XLSM 文件(右键单击 -> 7-Zip -> 打开存档)。 2.将xl/vbaProject.bin文件复制出文件(可以从7-Zip中拖放),不要关闭7-Zip

  2. 用HexEdit打开vbaProject.bin文件

  3. 搜索“DPB=”并将其替换为“DPx=”

  4. 保存文件

  5. 将此文件复制回 7-Zip(再次拖放即可)

  6. 在 Excel 中打开 XLSX 文件,如果提示“继续加载项目”,请单击“是”。 如果提示错误,请单击“确定”。 8. 按 Alt+F11 打开 VBA 编辑器。

  7. 按下时会显示错误“意外错误 (40230)”,只需单击“确定”(6 或 7 次)直至其消失。

  8. 然后它会自动打开

I found another way to solve this one to avoid password of VBA Project, without losing password.

If the file type is XLSM files:

  1. Rename the .xlsm as .zip (or you can open the .xlsm with 7zip/WinRAR) and open/extract it
  2. Edit the xl/vbaProject.bin file with Notepad++ or HexEdit
  3. Search for DPB= and replace it with DPx=

enter image description here

  1. Save the file
  2. Copy this file back into the .zip (or zip the files back up)
  3. Rename the archive back to .xlsm
  4. Open the file in Excel, if prompted to "Continue Loading Project", click Yes. If prompted with errors, click OK. Note: the code may still be blank or corrupted, which we fix in the next step
  5. Save the file as a new .xlsm file
  6. Open the new file in Excel (should be no errors now)
  7. Press Alt+ F11 to open the VBA editor

or

Follow this Step Also

I found another way to solve this one to avoid password of VBA Project, without losing excel password.
use Hex-editor XVI32 for the process

if the file type is XLSM files:

  1. Open the XLSM file with 7-Zip (right click -> 7-Zip -> Open archive). 2. Copy the xl/vbaProject.bin file out of the file (you can drag and drop from 7-Zip), don't close 7-Zip

  2. Open the vbaProject.bin file with HexEdit

  3. Search for "DPB=" and replace it with "DPx="

  4. Save the file

  5. Copy this file back into 7-Zip (again, drag and drop works)

  6. Open the XLSX file in Excel, if prompted to "Continue Loading Project", click Yes. If prompted with errors, click OK. 8. Press Alt+ F11 to open the VBA editor.

  7. While press it will show error “Unexpected error (40230)”, just click OK (6 or 7 times) until it goes away.

  8. Then it will open Automatically

很糊涂小朋友 2024-07-15 17:19:54

这是一个使用 SendKeys 取消 VBA 项目保护的简单方法。 这将使您进入该项目,因此您必须继续使用 SendKeys 来找出删除密码保护的方法:
http://www.pcreview.co.uk/forums/thread-989191.php

这里使用了一种更先进、更可靠的方法来解除保护。 同样,它只会为您解锁 VB 项目。
http://www.ozgrid.com/forum/showthread.php ?t=13006&page=2

我还没有尝试过这两种方法,但如果这是您需要做的,这可能会节省您一些时间......

This has a simple method using SendKeys to unprotect the VBA project. This would get you into the project, so you'd have to continue on using SendKeys to figure out a way to remove the password protection:
http://www.pcreview.co.uk/forums/thread-989191.php

And here's one that uses a more advanced, somewhat more reliable method for unprotecting. Again, it will only unlock the VB project for you.
http://www.ozgrid.com/forum/showthread.php?t=13006&page=2

I haven't tried either method, but this may save you some time if it's what you need to do...

做个ˇ局外人 2024-07-15 17:19:54

我对 Excel 2016 的 2 美分:

  1. 使用 Notepad++ 打开 xls 文件
  2. 搜索 DPB= 并将其替换为 DPx= >
  3. 保存文件
  4. 打开文件,打开VB编辑器,打开模块将无法工作(错误40230
  5. 将文件另存为xlsm
  6. 可以工作

My 2 cents on Excel 2016:

  1. open the xls file with Notepad++
  2. Search for DPB= and replace it with DPx=
  3. Save the file
  4. Open the file, open the VB Editor, open modules will not work (error 40230)
  5. Save the file as xlsm
  6. It works
惜醉颜 2024-07-15 17:19:54

使用 7 zip 打开 xlsm 文件,提取 vbaproject.bin 并在 Notepad ++ 中用 DPx 替换 DpB 并重新保存后,出现很多 vbaproject 错误,并且 vba 项目密码消失了,但没有代码/表单。

我右键单击导出并能够重新导入到新项目。

After opening xlsm file with 7 zip, extracting vbaproject.bin and in Notepad ++ replacing DpB with DPx and re-saving I got a Lot of vbaproject errors and vba project password was gone but no code/forms.

I right clicked to export and was able to re-import to a new project.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文