Comment enregistrer et fermer automatiquement un fichier Excel après un certain temps d'inactivité?
Dans certains cas, par exemple en laissant un fichier Excel sur un disque partagé, lorsque le fichier est toujours ouvert par un utilisateur, d'autres ne peuvent pas modifier le classeur. Alors, comment fermer automatiquement le fichier après un certain temps d'inactivité afin de faciliter le travail des autres? Cet article vous aidera avec la méthode VBA.
Enregistrer et fermer automatiquement un fichier Excel après un certain temps d'inactivité avec le code VBA
Pour enregistrer et fermer automatiquement un fichier Excel après un certain temps d'inactivité, procédez comme suit.
1. Ouvrez le classeur dont vous avez besoin pour le sauvegarder automatiquement et le fermer après un certain temps d'inactivité. Appuyez ensuite sur le autre + F11 clés ensemble pour ouvrir le Microsoft Visual Basic pour applications fenêtre.
2. dans le Microsoft Visual Basic pour applications fenêtre, veuillez double-cliquer sur Ce classeur dans le volet droit pour ouvrir la fenêtre Code. Ensuite, copiez et collez ci-dessous le code VBA dans la fenêtre Code. Voir la capture d'écran:
Code VBA 1: enregistrement automatique et fermeture d'un fichier Excel après un certain temps d'inactivité
Dim xTime As String
Dim xWB As Workbook
Private Sub Workbook_Open()
'Updated by Extendoffice 2019/1/20
On Error Resume Next
xTime = Application.InputBox("Please specify the idle time:", "KuTool For Excel", "00:00:20", , , , , 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
3. Continuez ensuite à cliquer insérer > module, et copiez et collez le code ci-dessous dans la fenêtre Module. Voir la capture d'écran:
Code VBA 2: enregistrement automatique et fermeture d'un fichier Excel après un certain temps d'inactivité
Sub SaveWork1()
'Updated by Extendoffice 2019/1/20
Application.DisplayAlerts = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
4. appuie sur le autre + Q touches simultanément pour fermer le Microsoft Visual Basic pour applications fenêtre.
5. Cliquez Déposez votre dernière attestation > Enregistrer sous > Explorer. Voir la capture d'écran:
6. dans le Enregistrer sous boîte de dialogue, veuillez sélectionner un dossier pour enregistrer le fichier, nommez-le selon vos besoins dans la zone Nom du fichier, sélectionnez Cahier de travail Excel avec macro-activé du Enregistrer sous type liste déroulante, et enfin cliquez sur le Épargnez bouton. Voir la capture d'écran:
Désormais, à chaque ouverture de ce classeur, un Kutools for Excel la boîte de dialogue apparaîtra. Veuillez entrer l'heure à laquelle vous allez enregistrer et fermer le classeur en fonction de, puis cliquez sur le bouton OK .
Et le classeur sera enregistré et fermé automatiquement après ce temps d'inactivité spécifié. Voir la capture d'écran:
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!