Office 365(2025版)XLSM文件ActiveX控件自动恢复原名问题咨询
问题原因及解决方案
可能的原因
- 事件过程与控件名称不匹配:重命名控件后,若对应的VBA事件过程(如
Analysis1_FileAction_ComboBox_Change)未同步修改,Excel重启时会自动将控件名称改回旧值,以此维持控件与事件过程的绑定关联。 - 底层存储未同步更新:XLSM文件的底层XML结构中,控件的名称记录可能未被完全覆盖。Excel保存时仅更新了属性窗口显示的名称,但未修改工作表XML内的对应节点,导致重启时读取旧数据。
- Office 365 2025版本特定bug:由于问题在所有安装该版本的电脑上复现,且排除了早期版本的更新问题,这大概率是该版本ActiveX控件名称管理的原生bug。
解决方案
- 同步更新事件过程名称:打开VBA编辑器,找到所有关联旧控件名称的事件过程,将其名称修改为与新控件名匹配(例如把
Analysis1_FileAction_ComboBox_Change改为Analysis1_DataFileAction_ComboBox_Change),编译代码后保存文件。 - 重建控件:删除原有ActiveX控件,重新插入新控件并直接命名为
Analysis1_DataFileAction_ComboBox,再重新编写或绑定对应的事件过程,避免直接重命名带来的存储残留问题。 - 手动修正XML存储:
- 将XLSM文件重命名为ZIP格式,解压到本地文件夹。
- 打开
xl/worksheets/下对应工作表的XML文件,搜索旧控件名称Analysis1_FileAction_ComboBox,替换为新名称。 - 重新打包文件夹为ZIP,再改回XLSM格式(操作前务必备份原文件)。
- 反馈bug给微软:通过Office反馈中心提交该问题,等待官方修复补丁。
内容的提问来源于stack exchange,提问作者Tobias Knauss
相关产品推荐
相关产品推荐

