我有一个带有宏的Excel电子表格,它将一些单元格值写入文本文件。当任何这些单元格值更改时,将触发宏并更新文本输出。
但是,如果用户随后决定关闭电子表格而不保存更改,则不会触发宏,并且文本输出不会更新到更改之前的状态。
澄清问题的一个简单例子:
- 说单元格B3持有字符串“Beer”
- 然后用户将此单元格编辑为“Wine”
- 宏检测到更改并将文本文件更新为“Wine”
- 如果用户然后关闭Excel而不保存更改,单元格B3显然会变回“啤酒”( 但是,由于Excel正在关闭,因此仅在下次打开电子表格时才可见 ) ...但文本文件继续显示“Wine”,因为关闭Excel而不保存显然不会导致任何可用于触发宏的更改事件。甚至从Workbook_BeforeClose或Workbook_Deactivate事件调用宏也不会将“Wine”的文本输出刷新回“Beer”
有什么建议我如何回滚文本输出?
如果文件在未保存的情况下关闭,则用户所做的更改也不会保存。你期望发生什么?
—
teylyn