【问题标题】:Cannot Delete VBA Projects无法删除 VBA 项目
【发布时间】:2016-03-01 23:38:03
【问题描述】:

我最初在一个新的工作簿中创建了两个新模块。我不小心使用了 Visual Basic 项目资源管理器中的“导出文件...”功能。这创建了两个新的 .bas 文件。

问题是现在我有了这两个对象,每次我尝试启动 excel 时它们都会打开。这些文件似乎保存在此目录中:C:\Users\f370830\AppData\Roaming\Microsoft\excel\XLSTART。当我尝试保存 VBA 对象或它们在其中启动的 Excel 书籍时,Excel 会指向此目录。

我没有看到此目录中的文件。我什至使用 Windows 资源管理器和命令行删除了该目录。但是,当我启动 excel 时,这些文件仍会显示我的 VBA 项目资源管理器并在新窗口中启动。

关于如何删除这些文件并防止它们在我每次启动 excel 时启动的任何建议?

【问题讨论】:

  • 那是personal.xlsb 我认为...惊讶的删除不起作用。您也可以直接进入该工作簿并删除所有代码,然后什么都不会触发。
  • 使用 SysInternals 的 Process Monitor 工具来帮助您调试文件访问以及模块的存储位置。
  • 嗯,好的。我实际上已经进去并删除了代码。但是,每次我启动 excel 时,我仍然会打开两个额外的工作簿。我尝试删除工作簿中的工作表,但收到有关删除隐藏项目的错误消息。
  • 我能够使用 Process Explorer 中的搜索找到包含这两个文件的实际文件夹。 C:\appsensevirtual\S-1-5-21-1781428526-1902518210-316617838-164488\{B0970185-A624-496C-BE3B-08CE8AAA200A}\_Microsoft Office 2016\Device\HarddiskVolume1\Users\f370830\AppData\Roaming\Microsoft\Excel\XLSTART。但是,删除这两个 .bas 文件后,当我启动 excel 时,它们只会重新出现在文件夹中。如何将文件全部杀掉?
  • 我也有预感这些文件是由这个启动的:C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX86\Microsoft Shared\VBA\VBA7.1\VBE7.DLL。有谁知道我是否可以删除这个文件看看会发生什么?

标签: vba excel


【解决方案1】:

我能够解决这个问题。就像我在上面的评论中提到的那样,我能够使用 SysInternals 程序 Process Explorer 找到存储两个流氓 .bas 文件的目录。文件保存在这里:

C:\appsensevirtual\S-1-5-21-1781428526-1902518210-316617838-164488\{B0970185-A6‌​24-496C-BE3B-08CE8AAA200A}\_Microsoft Office 2016\Device\HarddiskVolume1\Users\f370830\AppData\Roaming\Microsoft\Excel\XLSTAR‌​T

与普通的“用户”目录相反。当我打开 excel 时,仅删除 .bas 文件并不能阻止这两个工作簿的启动。出于某种原因,打开 excel 会在 XLSTART 文件夹中重新创建 .bas 文件。

我刚刚删除了整个 XLSTART 文件夹,解决了这个问题。在我下一次启动 excel 时创建了一个新的 XLSTART 文件夹。

一个小的副作用是,excel 现在打开一个灰色屏幕,而不是一个新的工作表。但这对我来说没什么大不了的,10 次中有 9 次我会打开现有的工作簿。

【讨论】:

    【解决方案2】:

    在 Windows 上,打开相关工作簿。打开后,按 ALT+F11 打开 VBA 编辑器。从那里,在左侧导航窗格中右键单击要删除的模块,然后选择 DELETE(可能称为 REMOVE)。 Excel 可能会在删除模块之前提示您再次导出模块;我建议在某处保存一份副本,但这完全取决于您。

    【讨论】:

    • 感谢您的回复。尝试删除一个模块,然后使用导出模块功能,这正是我首先遇到的问题。我已经将该模块复制到一个新的 VBA 项目中,所以我想删除它。在删除之前导出模块是创建这两个讨厌的 .bas 文件的原因。
    • 问题是如何删除一个项目,而不是一个模块。一个项目,在您打开和关闭辅助 wbk 后卡在您的主项目中。在这一点上,我能做到这一点的唯一方法是关闭所有 excel,然后重新打开主工作簿。
    • 导出模块非常简单——使用类似(调整变量)堆栈不允许我插入代码。试试 asachs@anton-sachs.com
    【解决方案3】:

    这对我有用:


    ***************如何删除personal.xlsb vba项目************************


    第 1 步: 在 Windows 资源管理器上 *单击顶部的查看选项卡,文件右侧的三个选项 * 点击选项 * 在下拉菜单中点击更改文件夹和搜索选项 * 转到查看然后单击显示隐藏的文件、文件夹和驱动器 * 点击申请 * 请注意,Personal.xlsb 是一个隐藏文件,这就是为什么要先完成上述操作

    第 2 步: 在 Windows 资源管理器中 * 转到 Windows-SSD(C:) 即 C: 文件夹 * 双击用户 * 双击有问题的用户,用户名 * 双击应用数据 * 双击漫游 * 双击微软 * 双击 Excel * 双击 XLSTART * 您应该找到“Personal.xlsb”Microsoft Excel 二进制工作表 * 选择和删除

    参考: https://www.youtube.com/watch?v=EXN-nKwfZ5o

    【讨论】:

    • 欢迎来到 Stack Overflow。在回答已接受答案的旧问题(寻找绿色✓)以及其他答案之前,请确保您的答案添加了新内容或对它们有帮助。这是How to Answer 的指南。
    • 不要使用个人
    猜你喜欢
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2022-01-03
    • 2020-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多