Excel 在一定的闲置时间后自动保存和关闭文件

  • Post category:云计算

在Excel中,您可以设置在一定的闲置时间后自动保存和关闭文件。以下是在Excel中设置此功能的完整攻略:

  1. 打开要设置自动保存和关闭的Excel工作簿。

  2. 在“开发人员”选项卡中,选择“Visual Basic”。

  3. 在“Microsoft Visual Basic for Applications”窗口中,选择“这个工作簿”。

  4. 在“这个工作簿”窗口中,选择“ThisWorkbook”对象。

  5. 在“ThisWorkbook”对象中,选择“Workbook_Open”事件。

  6. 输入以下宏代码:

Private Sub Workbook_Open()
    Application.OnTime Now + TimeValue("00:05:00"), "AutoSaveAndClose"
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Application.OnTime Now + TimeValue("00:05:00"), "AutoSaveAndClose"
End Sub

Private Sub AutoSaveAndClose()
    ThisWorkbook.Save
    ThisWorkbook.Close
End Sub
  1. 保存宏代码并关闭“Microsoft Visual Basic for Applications”窗口。

现在,当Excel工作簿处于闲置状态5分钟后,Excel将自动保存并关闭文件。

以下是两个示例:

示例1:在Excel中设置在一定的闲置时间后自动保存和关闭文件

假设您有一个名为“销售报告”的Excel工作簿,其中包含每个销售人员的销售数据。您想要设置在Excel工作簿处于闲置状态5分钟后自动保存并关闭文件。以下是如何完成此操作的完整攻略:

  1. 打开要设置自动保存和关闭的Excel工作簿。

  2. 在“开发人员”选项卡中,选择“Visual Basic”。

  3. 在“Microsoft Visual Basic for Applications”窗口中,选择“这个工作簿”。

  4. 在“这个工作簿”窗口中,选择“ThisWorkbook”对象。

  5. 在“ThisWorkbook”对象中,选择“Workbook_Open”事件。

  6. 输入以下宏代码:

Private Sub Workbook_Open()
    Application.OnTime Now + TimeValue("00:05:00"), "AutoSaveAndClose"
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Application.OnTime Now + TimeValue("00:05:00"), "AutoSaveAndClose"
End Sub

Private Sub AutoSaveAndClose()
    ThisWorkbook.Save
    ThisWorkbook.Close
End Sub
  1. 保存宏代码并关闭“Microsoft Visual Basic for Applications”窗口。

现在,当Excel工作簿处于闲置状态5分钟后,Excel将自动保存并关闭文件。

示例2:在Excel中设置在一定的闲置时间后自动保存和关闭文件,并发送电子邮件

假设您有一个名为“订单记录”的Excel工作簿,其中包含每个订单的订单号和客户名称。您想要设置在Excel工作簿处于闲置状态5分钟后自动保存并关闭文件,并发送电子邮件给客户。以下是如何完成此操作的完整攻略:

  1. 打开要设置自动保存和关闭的Excel工作簿。

  2. 在“开发人员”选项卡中,选择“Visual Basic”。

  3. 在“Microsoft Visual Basic for Applications”窗口中,选择“这个工作簿”。

  4. 在“这个工作簿”窗口中,选择“ThisWorkbook”对象。

  5. 在“ThisWorkbook”对象中,选择“Workbook_Open”事件。

  6. 输入以下宏代码:

Private Sub Workbook_Open()
    Application.OnTime Now + TimeValue("00:05:00"), "AutoSaveAndClose"
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Application.OnTime Now + TimeValue("00:05:00"), "AutoSaveAndClose"
End Sub

Private Sub AutoSaveAndClose()
    ThisWorkbook.Save
    ThisWorkbook.Close
    Dim OutApp As Object
    Dim OutMail As Object
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
        .To = Range("B2").Value
        .Subject = "订单状态更新"
        .Body = "尊敬的客户,您的订单状态已更新。"
        .Send
    End With
    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub
  1. 保存宏代码并关闭“Microsoft Visual Basic for Applications”窗口。

现在,当Excel工作簿处于闲置状态5分钟后,Excel将自动保存并关闭文件,并发送电子邮件给客户。