You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过VBA代码绕过并移除VB Project密码

解决VBProject加密后导出副本修改模块报错的问题

当原工作簿的VBProject设置密码后,导出的副本会继承该保护机制,导致原代码无法修改VB组件(报错“无法执行此操作,因为项目受保护”)。以下是修改后的代码,可实现解锁副本VBProject、完成原有清理操作后移除密码保护,最终输出无VB保护的xlsm格式文件:

修改后的完整代码

Dim FileName, FilePath As String
Dim wb_other As Workbook
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim originalPassword As String

' 替换为你的VBProject实际密码
originalPassword = "YourVBProjectPassword"

FileName = "My Spreadsheet " & Format(Now(), "yyyy.mm.dd") & ".xlsm"
FilePath = "C:\Users\Downloads\"

' 导出原工作簿副本
ActiveWorkbook.SaveCopyAs FilePath & FileName

' 打开副本工作簿
Set wb_other = Workbooks.Open(FilePath & FileName)

' 执行原有清理:删除指定工作表和查询
wb_other.Sheets("View 1").Delete
wb_other.Sheets("View 2").Delete
wb_other.Queries("Query1").Delete

' --- VBProject解锁与密码移除逻辑 ---
Set VBProj = wb_other.VBProject
' 解锁受保护的VBProject
VBProj.Unprotect originalPassword

' 执行原有VB组件清理:删除指定模块、清空ThisWorkbook代码、删除窗体
Set VBComp = VBProj.VBComponents("Main")
VBProj.VBComponents.Remove VBComp

Set VBComp = VBProj.VBComponents("Export")
VBProj.VBComponents.Remove VBComp

' 清空ThisWorkbook模块所有代码
With VBProj.VBComponents("ThisWorkbook").CodeModule
    .DeleteLines 1, .CountOfLines
End With

Set VBComp = VBProj.VBComponents("UserForm")
VBProj.VBComponents.Remove VBComp

' 移除副本的VBProject密码保护(设为无保护状态)
VBProj.Protect Password:="", Locked:=False
' --- 结束新增逻辑 ---

' 保存并关闭副本
wb_other.Save
wb_other.Close

' 释放对象
Set VBComp = Nothing
Set VBProj = Nothing
Set wb_other = Nothing

关键注意事项

  • 引用库要求:必须在VBA编辑器的「工具」→「引用」中勾选Microsoft Visual Basic for Applications Extensibility 5.3
  • Excel信任设置:需在Excel选项→信任中心→信任中心设置→宏设置中,勾选「信任对VBA工程对象模型的访问」,否则代码无法操作VBProject
  • 密码替换:务必将代码中的"YourVBProjectPassword"替换为你实际使用的VBProject密码

代码逻辑说明

  1. 先导出原工作簿的副本并打开,执行原有工作表和查询的删除操作
  2. 使用原密码解锁副本的VBProject,获得组件修改权限
  3. 完成原有VB组件的清理任务(删除指定模块、清空ThisWorkbook代码、删除窗体)
  4. 最后将副本的VBProject设置为无密码保护状态,确保后续打开副本时无需输入密码
  5. 保存并关闭副本,完成整个导出流程

内容的提问来源于stack exchange,提问作者seaside_escape

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 09:43:27