如何在一定的空闲时间后自动保存和关闭Excel文件?
当我们在共享内存中保存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("请指定空闲时间:" ,"请输入持续时间" ,"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
现在单击“插入”,选择“模块”,然后在下面的图像中的文本框中键入“Program 2”。
示例
Sub SaveWork1()
'Updated by Nirmal Application.DisplayAlerts = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
步骤 3
将工作表保存为宏启用的模板,关闭工作表,然后重新打开工作表。然后单击“启用代码”,然后输入您希望工作表打开的时间,然后单击“确定”。
结论
在本教程中,我们使用了一个简单的示例来演示如何在一定的空闲时间后自动保存和关闭Excel工作簿。