首页 > 解决方案 > 保存时excel vba阻止消息“引用未保存的文档”

问题描述

我有一个 Excel (2016) 工作簿,用户手动将值从外部链接添加到其他工作簿。

保存工作簿时,我通过 Workbook_BeforeSave 子中的嵌入宏自动删除链接并仅存储值。

但是,每当保存工作簿时,我都会收到提示:

保存“{filename.xlsm}”并引用未保存的文档?

此消息是多余的,因为我在保存时删除了物理链接。

如果有的话,我怎样才能抑制这个消息?

标签: excelvbahyperlinkexternal

解决方案


如果发现任何链接,我不得不求助于额外的 Activex 按钮可见/隐藏。我正在检查 Worksheet_Change 子中是否存在外部链接,并相应地设置 Activex 按钮的 Hidden 属性。

我已将 Activex 链接到一个子节点,该子节点会删除所有链接。

这个模块也是从 Excel [Save] 选项调用的,我已经设置了对 Workbook_BeforeSave 中的新子的调用。

在大多数情况下,用户将引用 Activex 按钮,这意味着保存工作簿时将没有链接,因此不会弹出消息。

啰嗦但有效。


推荐阅读