用VBA问题和解决scheme来节省开支

我有一个相对涉及的子,在Excel中的工作簿内传输一堆数据,并做了一些其他的事情,然后使用activeWorkbook.save保存在子的末尾的文件

然而,由于我不知道的原因,当文件已经打开了很长时间,我保存它给我一个消息,说该文件已被其他用户编辑,并提示我要么通知其他用户,而不是保存或覆盖任何更改由其他用户制作。 有没有一种方法来编写的子进行覆盖,无论如何,如果该对话框出现,它不会阻止子运行?

此外,没有其他人编辑文件,所以我不知道为什么它首先给我的信息,我只是想它绕过,如果碰巧出现。

谢谢您的帮助!

我想我们终于find了这个问题的解决scheme:

 ThisWorkbook.Saved = False Application.DisplayAlerts = False ThisWorkbook.SaveAs ThisWorkbook.FullName, FileFormat:=52 Application.DisplayAlerts = True If Not ThisWorkbook.Saved Then MsgBox "Saving the file failed." & Chr(10) & "Please try again later..." 

工作簿的.Saved属性是可读写的。 所以,第一行确保这个文件被标记为“未保存”。 这是很重要的,因为修改是禁用的,我们不知道文件是否真的被保存(没有这个属性)。

一旦文件已经被尝试保存(这里是.xlsm ,你可能想要/必须改变它)。读取.Saved属性以确保保存实际工作。