积极答复者
VC 操作EXCEL时会随机出现"另存为"窗口,阻断了程序的运行

问题
答案
-
你好,
如果你没有做什么保存操作而跳出另存为对话框的话,那可能的情况是这样的:Office有一个自动保存机制,每隔一段时间,Office会自动尝试保存你的文件,以防意外(比如断电等)导致文件丢失,当自动保存的时候,如果你的文件是新建的,之前没有保存过,这样就会弹出另存为窗口。
你有两个办法防止这种情况的出现:
1. 调整自动保存的时间,越长越好(虽然有文件丢失的风险)
2. 使用Workbook.BeforeSave事件,当文件要被保存的时候,这个事件就会被触发。把这个事件中的Cancel设为True,就会自动取消保存动作,撤销对话框。http://msdn.microsoft.com/en-us/library/ff840057.aspx
另外如果你有更多相关Excel开发的问题,你可以发到专门的Excel论坛:
http://social.msdn.microsoft.com/Forums/en-US/exceldev/threads/
Calvin Gao[MSFT]
MSDN Community Support | Feedback to us
- 已建议为答案 Helen Zhao 2012年1月9日 3:15
- 已编辑 Calvin_Gao 2012年1月9日 3:15
- 已标记为答案 Helen Zhao 2012年1月16日 1:40
-
先多谢大家的积极帮助.
我说下这几天对这个问题的发现:
EXCEL好象在自动保存的时候会生成一个文件(假设是备份文件),它的文件名是随机生成的,如EF28763这种格式,不带扩展名的.正常情况下,这个文件会被EXCEL删除,可是好象有些时候也删除不掉,于是就保留下来了.这样的话就导致下次再自动生成备份文件的时候,就有可能随机到的文件名和上次没有删除掉的文件名是一样的,这样另存为窗口就弹出来了.
我针对这种情况做了些处理,在打开EXCEL之前先删除该目录下所有不带扩展名的文件.这几天观察下来的确没有出现类似问题了,但具体是否真的是这个原因造成的还需要更长的时间来验证.
再次感谢大家的帮助...
- 已建议为答案 Helen Zhao 2012年1月11日 9:05
- 已标记为答案 Helen Zhao 2012年1月16日 1:40
全部回复
-
-
你好,
如果你没有做什么保存操作而跳出另存为对话框的话,那可能的情况是这样的:Office有一个自动保存机制,每隔一段时间,Office会自动尝试保存你的文件,以防意外(比如断电等)导致文件丢失,当自动保存的时候,如果你的文件是新建的,之前没有保存过,这样就会弹出另存为窗口。
你有两个办法防止这种情况的出现:
1. 调整自动保存的时间,越长越好(虽然有文件丢失的风险)
2. 使用Workbook.BeforeSave事件,当文件要被保存的时候,这个事件就会被触发。把这个事件中的Cancel设为True,就会自动取消保存动作,撤销对话框。http://msdn.microsoft.com/en-us/library/ff840057.aspx
另外如果你有更多相关Excel开发的问题,你可以发到专门的Excel论坛:
http://social.msdn.microsoft.com/Forums/en-US/exceldev/threads/
Calvin Gao[MSFT]
MSDN Community Support | Feedback to us
- 已建议为答案 Helen Zhao 2012年1月9日 3:15
- 已编辑 Calvin_Gao 2012年1月9日 3:15
- 已标记为答案 Helen Zhao 2012年1月16日 1:40
-
先多谢大家的积极帮助.
我说下这几天对这个问题的发现:
EXCEL好象在自动保存的时候会生成一个文件(假设是备份文件),它的文件名是随机生成的,如EF28763这种格式,不带扩展名的.正常情况下,这个文件会被EXCEL删除,可是好象有些时候也删除不掉,于是就保留下来了.这样的话就导致下次再自动生成备份文件的时候,就有可能随机到的文件名和上次没有删除掉的文件名是一样的,这样另存为窗口就弹出来了.
我针对这种情况做了些处理,在打开EXCEL之前先删除该目录下所有不带扩展名的文件.这几天观察下来的确没有出现类似问题了,但具体是否真的是这个原因造成的还需要更长的时间来验证.
再次感谢大家的帮助...
- 已建议为答案 Helen Zhao 2012年1月11日 9:05
- 已标记为答案 Helen Zhao 2012年1月16日 1:40