如何在空闲一定时间后自动保存并关闭 Excel 文件?

ms excelmicrosoft technologiescomputers更新于 2024/10/6 6:36:17

当我们将 Excel 工作簿保存在共享内存中时,如果一个人访问了该工作表,其他人将无法保存该工作表;这个问题可以通过在一定时间后自动关闭工作表来解决。本教程将帮助您了解如何在空闲一定时间后自动保存并关闭 Excel 文件。

在空闲一定时间后自动保存并关闭 Excel 文件

在这里,我们将首先为工作表插入 VBA 代码,然后创建一个 VBA 模块,并运行它来完成我们的任务。让我们通过一个简单的过程来了解如何在一定时间后自动保存并关闭 Excel 工作簿。我们将借助 VBA 应用程序来完成我们的过程。

步骤 1

让我们考虑任意一个 Excel 工作簿,右键单击工作表名称,然后选择"查看代码"以打开 VBA 应用程序。然后,双击该工作簿并在文本框中输入"Program1",如下图所示。

示例

Dim xTime As String Dim xWB As Workbook Private Sub Workbook_Open() 'Updated by Nirmal On Error Resume Next xTime = Application.InputBox("Please specify the idle time:", "Plese enter the duration", "00:00:30", , , , , 2) Set xWB = ActiveWorkbook If xTime = "" Then Exit Sub Reset End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) On Error Resume Next If xTime = "" Then Exit Sub Reset End Sub Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) On Error Resume Next If xTime = "" Then Exit Sub Reset End Sub Sub Reset() Static xCloseTime If xCloseTime <> 0 Then ActiveWorkbook.Application.OnTime xCloseTime, "SaveWork1", , False End If xCloseTime = Now + TimeValue(xTime) ActiveWorkbook.Application.OnTime xCloseTime, "SaveWork1", , True End Sub

步骤 2

现在单击"插入",选择"模块",然后在文本框中输入"程序 2",如下图所示。

示例

Sub SaveWork1() 'Updated by Nirmal Application.DisplayAlerts = False ActiveWorkbook.Save ActiveWorkbook.Close Application.DisplayAlerts = True End Sub

步骤 2

将工作表保存为启用宏的模板,关闭工作表,然后重新打开它。然后点击"启用代码",输入您希望工作表打开的时间,然后点击"确定"。

总结

在本教程中,我们用一个简单的示例演示了如何在一定空闲时间后自动保存并关闭 Excel 工作簿。


相关文章


有用资源