如何从VBA项目中删除密码?

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

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

这有一个简单的方法使用SendKeys来解除VBA项目的保护。 这会让你进入项目,所以你不得不继续使用SendKeys找出一种方法来删除密码保护: http : //www.pcreview.co.uk/forums/thread-989191.php

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

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

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

  • 用hex编辑器打开xls文件。 (即hex编辑http://www.hexedit.com/
  • searchDPB
  • 将DPBreplace为DPx
  • 保存存档。
  • 在Excel中打开文件。
  • 如果您收到任何消息框,请点击“是”。
  • 从VBA项目属性中设置新密码。
  • closures并重新打开文件,然后键入您的新密码解除保护。

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

  • 用7zip打开XLSX文件

如果工作簿受到保护:

  • 浏览文件夹xl
  • 如果工作簿受保护,请右键单击workbook.xml并select编辑
  • find部分<workbookProtection workbookPassword="XXXX" lockStructure="1"/>XXXX是您的encryption密码)
  • 删除XXXX部分。 (即<workbookProtection workbookPassword="" lockStructure="1"/>
  • 保存文件。
  • 当7zip要求您更新档案时,请说Yes
  • closures7zip并重新打开您的XLSX。
  • 单击在审阅选项卡上保护工作簿
  • 可选:保存您的文件。

如果工作表受到保护:

  • 浏览xl/worksheets/文件夹。
  • 右键单击Sheet1.xmlsheet2.xml等,然后select编辑
  • find部分<sheetProtection password="XXXX" sheet="1" objects="1" scenarios="1" />
  • 删除encryption的密码(即<sheetProtection password="" sheet="1" objects="1" scenarios="1" />
  • 保存文件。
  • 当7zip要求您更新档案时,请说Yes
  • closures7zip并重新打开您的XLSX。
  • 单击审阅选项卡上的取消保护表
  • 可选:保存您的文件。

我在这里find了这个介绍如何设置VBA项目密码。 您应该可以修改它以取消设置VBA项目密码。

这一个不使用SendKeys。

让我知道这是否有帮助! JFV