Hoe automatisch een Excel-bestand opslaan en sluiten na een bepaalde inactiviteit?
In sommige gevallen, zoals het achterlaten van een Excel-bestand op een gedeelde schijf, terwijl het bestand nog wordt geopend door een gebruiker, kunnen anderen de werkmap niet bewerken. Dus hoe het bestand automatisch te sluiten na een bepaalde inactieve tijd om het werk van anderen te vergemakkelijken? Dit artikel helpt je met de VBA-methode.
Automatisch een Excel-bestand opslaan en sluiten na een bepaalde inactieve tijd met VBA-code
Automatisch een Excel-bestand opslaan en sluiten na een bepaalde inactieve tijd met VBA-code
Ga als volgt te werk om een Excel-bestand automatisch op te slaan en te sluiten na een bepaalde inactieve tijd.
1. Open de werkmap die u nodig hebt om deze automatisch te laten opslaan en sluiten na een bepaalde inactiviteit. Druk vervolgens op de anders + F11 sleutels samen om de te openen Microsoft Visual Basic voor toepassingen venster.
2. In de Microsoft Visual Basic voor toepassingen Dubbelklik op het Dit Werkboek in het rechterdeelvenster om het codevenster te openen. Kopieer en plak vervolgens onder VBA-code in het codevenster. Zie screenshot:
VBA-code 1: automatisch opslaan en een Excel-bestand sluiten na een bepaalde inactieve tijd
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. Blijf dan klikken Invoegen > module, en kopieer en plak onderstaande code in het modulevenster. Zie screenshot:
VBA-code 2: automatisch opslaan en een Excel-bestand sluiten na een bepaalde inactieve tijd
Sub SaveWork1()
'Updated by Extendoffice 2019/1/20
Application.DisplayAlerts = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
4. druk de anders + Q toetsen tegelijk om het Microsoft Visual Basic voor toepassingen venster.
5. klikken Dien in > Opslaan als > Blader. Zie screenshot:
6. In de Opslaan als dialoogvenster, selecteer een map om het bestand op te slaan, geef het een naam zoals u nodig hebt in het vak Bestandsnaam, selecteer Excel-werkmap met ingeschakelde macro's van het Opslaan als type dan: vervolgkeuzelijst en klik ten slotte op het Bespaar knop. Zie screenshot:
Vanaf nu, elke keer dat u deze werkmap opent, wordt een Kutools for Excel dialoogvenster zal verschijnen. Voer de tijd in die u wilt opslaan en sluit de werkmap op basis van, en klik vervolgens op OK knop.
En de werkmap wordt automatisch opgeslagen en gesloten na die opgegeven inactieve tijd. Zie screenshot:
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!