卸载Office 365后Excel 2010中TextRange2类未注册报错求助
问题原因及说明
- TextRange2的版本限制:TextRange2是Office 2013及后续版本才引入的对象模型,Excel 2010原生并不支持这个类。
- 录宏生成代码的特殊情况:你之前同时安装了Excel 2010和Office 365,Office的COM组件注册会被高版本覆盖,导致Excel 2010的宏录制功能实际调用的是Office 365的对象模型,所以生成了依赖TextRange2的代码。
- 卸载后报错的根源:卸载Office 365时,高版本的TextRange2组件被移除,但系统注册表可能残留了错误的组件注册信息,Excel 2010运行代码时会尝试调用这个已不存在的类,从而触发“TextRange2 class not registered”错误。
修复建议
- 修复Excel 2010安装:通过控制面板的程序和功能,选择Excel 2010进行修复操作,重置COM组件的注册信息。
- 修改代码适配Excel 2010:把代码中的
TextFrame2.TextRange替换为Excel 2010原生支持的TextFrame.TextRange,修改后的代码如下:chart.Legend.Format.TextFrame.TextRange.Font.Size = 12;
内容的提问来源于stack exchange,提问作者PinTxO
相关产品推荐
相关产品推荐

