Access中对应Excel Personal.xlsb的通用VBA模块存储位置咨询
Access中通用VBA模块的存储方案与恢复建议
我完全懂你这种崩溃的心情——IT备份后所有Access VBA模块全丢,简直是开发者的噩梦!刚好我之前也踩过类似的坑,给你梳理下Access里对应Excel Personal.xlsb的通用模块方案,以及怎么避免再遇到这种情况:
一、Access的「通用模块存储」对应方案
和Excel的Personal.xlsb类似,Access也有两种主流的通用模块管理方式,不用再逐个数据库复制/导出模块:
- 全局模板数据库:这是最接近Personal.xlsb的方案。默认路径是
C:\Users\<你的用户名>\AppData\Roaming\Microsoft\Access\,你可以在这里创建一个专门的数据库(比如命名为GlobalAccessModules.accdb),把所有通用VBA模块、类模块都放进去。之后在Access选项里设置让这个模板全局加载,所有打开的Access数据库都能直接调用里面的代码。 - Access加载项(.accda):把通用模块打包成加载项文件,通过Access的加载项管理器启用。这种方式更灵活,你可以随时开启/关闭,还能分享给团队成员。创建方法是把存放通用模块的数据库另存为「Access加载项(.accda)」格式,然后在Access的「文件>选项>加载项」里添加并设置为全局加载。
二、针对你这次模块丢失的补救建议
如果IT的备份没覆盖到Access的模块文件,确实比较被动,但可以试试这几个方向:
- 检查Access自动备份:默认情况下,Access每次保存数据库时会生成一个后缀为
.accdb.backup的备份文件,和原数据库在同一目录下,看看里面有没有保留模块。 - 查找临时文件:去
C:\Users\<你的用户名>\AppData\Local\Microsoft\Office\UnsavedFiles目录看看,Access会在这里保存未保存的临时版本,说不定能找回部分模块。 - 联系IT确认备份范围:问问IT备份时是否包含了
C:\Users\<你的用户名>\AppData\Roaming\Microsoft\Access\或者数据库所在的目录,说不定备份里有遗漏的文件。
三、避免再丢模块的备份策略
吃一堑长一智,之后可以这么做:
- 把你的全局模板/加载项文件定期备份到网络驱动器,就像你备份Excel的Personal.xlsb一样,防止本地电脑损坏或重装。
- 定期导出所有模块为独立文件:右键VBA编辑器里的模块,选择「导出文件」,保存为
.bas(标准模块)、.cls(类模块)格式,存到网络存储里——就算全局模板出问题,也能快速导入到新数据库。 - 开启Access的自动备份:打开「文件>选项>保存」,勾选「创建备份副本」,让Access每次保存都自动生成备份文件。
内容的提问来源于stack exchange,提问作者mctldpro




