Excel背景通过VBA保存

马丁·KS

Workbook.Save宏中行将所有内容都保留了下来,尽管重要的是在宏末尾有一个保存步骤,但我不介意它是否只是开始保存然后将控制权交还给用户。

有没有这样的事情Workbook.Save BackGround还是Workbook.Save vbModeLess

戴维·泽门斯

有没有这样的事情Workbook.Save BackGround还是Workbook.Save vbModeLess

绝对没有。可用于工作簿对象的方法的完整列表:

http://msdn.microsoft.com/zh-cn/library/office/ff847316(v=office.14).aspx

.Save方法没有任何可选参数:

http://msdn.microsoft.com/zh-cn/library/office/ff197585(v=office.14).aspx

正如我在上面的评论中所解释的那样,看来您的代码正在感知“问题”,这实际上不是问题,而是正常的和预期的功能:

  • 当用户手动保存文件时,该应用程序不是交互式的。除了等待保存完成之外,用户无法执行任何其他操作。

  • 当您调用.Save工作簿对象方法或时Application.CommandBars.ExecuteMso "FileSave"也会发生相同的情况

这是必要的,因为(显然)保存时所做的更改不会保存,但工作簿的.Saved属性会显示True

此属性用于确定是否显示“使用未保存的更改关闭此工作簿?”。用户关闭文件时出现对话框。如果该属性为True,则用户可以关闭而无需任何提示。但是,当然,如果您让他们进行更改,这将不可避免地导致不必要的数据丢失,因为用户随后可能会关闭状态为已保存的文件True以及对工作簿的未保存的更改(尚未反映在Saved属性中)。

(注意:可能还有更多的技术原因,但这只是常识性的解释)

如果保存文件的时间很麻烦,那么我至少可以考虑几个选择,首先,您需要考虑通知用户要保存文件,这可能需要多达45个时间秒。这样,他们不会认为程序没有响应或挂起。您可以使用MsgBoxUserForm相当容易地执行此操作

或者,您可以使用上述两种方法中的任何一种来提示用户,即“您要保存文件吗?”。

等等。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章