更新VBAProject引用mscorlib.dll时提示无法添加指定文件引用求助
先清理旧引用再重新添加
打开VBA编辑器(按Alt+F11),点击「工具」→「引用」,先取消勾选旧版本的mscorlib.dll (v2.0.50727),确定关闭窗口。重新打开引用列表,不要直接浏览选v4的dll,先看看列表里有没有Microsoft .NET Framework 4.x相关的互操作组件,有的话直接勾选即可。手动注册.NET类型库
用管理员权限打开命令提示符,定位到.NET Framework 4.x的安装目录(32位系统找C:\Windows\Microsoft.NET\Framework\v4.0.30319,64位系统对应Framework64文件夹),运行以下命令:regasm.exe /codebase mscorlib.tlb注意是注册
.tlb类型库文件,不是直接加.dll,VBA需要的是类型库而非原生dll。添加Excel配置文件强制用.NET 4.0
如果你的Excel文件没有对应的.xlsm.config文件,就新建一个,和Excel文件同名(比如你的文件.xlsm对应你的文件.xlsm.config),放在同一目录,里面写入:<configuration> <startup> <supportedRuntime version="v4.0.30319"/> </startup> </configuration>这个配置会让Excel加载宏时优先使用.NET 4.0环境。
检查位数匹配
确认你的Excel是32位还是64位(打开Excel后点「文件」→「账户」→「关于Excel」查看),对应使用同位数的.NET Framework目录操作,跨位数注册组件会导致引用失败。修复Office安装
要是上面的方法都没用,试试修复Office:打开控制面板→「程序和功能」,找到Microsoft Office右键选「更改」→「快速修复」,完成后重启Excel再尝试添加引用。
内容的提问来源于stack exchange,提问作者perza123321

