在 Excel 2010 中重新加载电子表格

在 Excel 2010 中重新加载电子表格

我们在共享驱动器上有一个电子表格,一个人更新,其他人只读取。我很确定,当我们使用 Excel 2003 时,如果作者更新了电子表格,Excel 会通知用户并重新加载。Excel 2010 似乎没有这样做,至少不是自动这样做,因此作者会发送电子邮件告诉我有关更改的信息,然后我必须关闭文件并重新打开它。是否有一个按钮可以单击一下重新加载文件,或者更好的是,自动检测更改并显示它们(文件已锁定给我,我只能读取它,所以我不担心丢失更改)?

答案1

我认为这可能取决于您使用的共享文件存储。

当然,2010 确实实现了您所建议的 2003 版本所发​​生的情况。如果一个人打开了文件,第二个人会被告知文件已打开,并且只能以只读方式访问。还应告知他们,当原始用户关闭文件时会收到通知。发生这种情况时,Excel 会建议以读写模式重新加载文件。

但是,它可能并不总是有效。我经常看到它无法执行任何或部分操作,而且是在 Windows 网络共享上。使用旧版本的 Windows 服务器或 Linux SAMBA 服务器可能会产生更大的影响。网络速度慢或不稳定肯定会影响它。您可能还会发现锁永远不会被释放,我们也经常看到这种情况。

恐怕我不知道如何简单回答您的问题。除了进行一些巧妙的编程来监控文件日期更改并弹出警告对话框。我认为可以使用 PERSONAL.XLSM 文件和适当的宏来实现。

更新:

来自 Stack Overflow 的问题:excel vba 重新打开 excel 文件而不保存

Sub ReOpen()
    Application.DisplayAlerts = False
    Workbooks.Open ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
    Application.DisplayAlerts = True
End Sub

您可以将其放入个人宏工作簿,将其分配给快捷方式和/或自定义功能区条目。至少这样可以让您手动重新加载。

Application.OnTime

可让您在设定的时间段后运行一些代码。请参阅VBA 宏定时器样式每隔设定的秒数运行代码,即 120 秒了解更多详情。加载工作簿时设置一个计时器,它将每隔 x 秒重新加载一次。

相关内容