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("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工作簿。