Note: The other languages of the website are Google-translated. Back to English

Bagaimana cara menyimpan dan menutup file Excel secara otomatis setelah waktu idle tertentu?

Dalam beberapa kasus, seperti meninggalkan file Excel di disk bersama, saat file masih dibuka oleh pengguna, orang lain tidak bisa mengedit buku kerja. Jadi bagaimana cara menutup file secara otomatis setelah waktu idle tertentu untuk memudahkan pekerjaan orang lain? Artikel ini akan membantu Anda dengan metode VBA.

Simpan dan tutup file Excel secara otomatis setelah waktu idle tertentu dengan kode VBA


Simpan dan tutup file Excel secara otomatis setelah waktu idle tertentu dengan kode VBA

Untuk menyimpan dan menutup file Excel secara otomatis setelah waktu idle tertentu, lakukan hal berikut.

1. Buka workbook yang Anda perlukan agar otomatis disimpan dan ditutup setelah waktu idle tertentu. Kemudian tekan lain + F11 kunci bersama untuk membuka Microsoft Visual Basic untuk Aplikasi jendela.

2. Dalam Microsoft Visual Basic untuk Aplikasi jendela, harap klik dua kali Buku Kerja Ini di panel kanan untuk membuka jendela Kode. Kemudian salin dan tempel kode VBA di bawah ini ke jendela Kode. Lihat tangkapan layar:

Kode VBA 1: Simpan dan tutup file Excel secara otomatis setelah waktu idle tertentu

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. Kemudian lanjutkan dengan mengklik Menyisipkan > modul, dan salin dan tempel kode di bawah ini ke jendela Modul. Lihat tangkapan layar:

Kode VBA 2: Simpan dan tutup file Excel secara otomatis setelah waktu idle tertentu

Sub SaveWork1()
'Updated by Extendoffice 2019/1/20
    Application.DisplayAlerts = False
    ActiveWorkbook.Save
    ActiveWorkbook.Close
    
    Application.DisplayAlerts = True
End Sub

4. tekan lain + Q tombol secara bersamaan untuk menutup Microsoft Visual Basic untuk Aplikasi jendela.

5. klik File > Save As > Browse. Lihat tangkapan layar:

6. Dalam Save As kotak dialog, pilih folder untuk menyimpan file, beri nama sesuai kebutuhan di kotak Nama file, pilih Buku Kerja Excel dengan Makro Aktif dari Simpan sebagai mengetik daftar drop-down, dan terakhir klik Save tombol. Lihat tangkapan layar:

Mulai sekarang, setiap kali membuka workbook ini, a Kutools untuk Excel kotak dialog akan muncul. Harap masukkan waktu Anda akan menyimpan dan menutup buku kerja berdasarkan, lalu klik OK .

Dan buku kerja akan disimpan dan ditutup secara otomatis setelah waktu idle yang ditentukan. Lihat tangkapan layar:


Alat Produktivitas Kantor Terbaik

Kutools for Excel Memecahkan Sebagian Besar Masalah Anda, dan Meningkatkan Produktivitas Anda hingga 80%

  • Reuse: Masukkan dengan cepat rumus, bagan yang kompleks dan apa pun yang pernah Anda gunakan sebelumnya; Enkripsi Sel dengan kata sandi; Buat Milis dan mengirim email ...
  • Bilah Formula Super (dengan mudah mengedit beberapa baris teks dan rumus); Membaca Tata Letak (membaca dan mengedit sel dalam jumlah besar dengan mudah); Tempel ke Rentang yang Difilter...
  • Gabungkan Sel / Baris / Kolom tanpa kehilangan Data; Pisahkan Konten Sel; Gabungkan Baris / Kolom Duplikat... Mencegah Sel Duplikat; Bandingkan Rentang...
  • Pilih Duplikat atau Unik Baris; Pilih Baris Kosong (semua sel kosong); Temukan Super dan Temukan Fuzzy di Banyak Buku Kerja; Pilih Acak ...
  • Salinan Tepat Beberapa Sel tanpa mengubah referensi rumus; Buat Referensi Otomatis ke Beberapa Lembar; Sisipkan Poin, Kotak Centang, dan lainnya ...
  • Ekstrak Teks, Tambahkan Teks, Hapus berdasarkan Posisi, Hapus Space; Membuat dan Mencetak Subtotal Paging; Konversi Konten Antar Sel dan Komentar...
  • Filter Super (simpan dan terapkan skema filter ke sheet lain); Penyortiran Lanjutan menurut bulan / minggu / hari, frekuensi dan lainnya; Filter Khusus dengan huruf tebal, miring ...
  • Gabungkan Workbooks dan WorkSheets; Gabungkan Tabel berdasarkan kolom kunci; Pisahkan Data menjadi Beberapa Lembar; Konversi Batch xls, xlsx dan PDF...
  • Lebih dari 300 fitur canggih. Mendukung Office / Excel 2007-2021 dan 365. Mendukung semua bahasa. Penerapan yang mudah di perusahaan atau organisasi Anda. Fitur lengkap Uji coba gratis 30 hari. Jaminan uang kembali 60 hari.
tab kte 201905

Tab Office Membawa antarmuka Tab ke Office, dan Membuat Pekerjaan Anda Jauh Lebih Mudah

  • Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
  • Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
  • Meningkatkan produktivitas Anda sebesar 50%, dan mengurangi ratusan klik mouse untuk Anda setiap hari!
officetab bawah
Urutkan komentar berdasarkan
komentar (21)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
Hai Terima kasih banyak untuk kode ini. Hanya satu masalah. Tampaknya mencoba menutup semua buku kerja yang terbuka sehingga terhenti jika penutupan buku kerja lain dibatalkan atau tidak ditanggapi. apakah Anda memiliki sentuhan yang dapat memperbaiki ini?
Komentar ini diminimalkan oleh moderator di situs
Saya memiliki masalah yang sama ... Saya mencoba membuka buku kerja baru, dan memasukkan beberapa data .... ketika saatnya tiba, kedua buku kerja ditutup, tetapi yang baru tidak disimpan ... Apakah ada cara untuk Perbaiki ini?
Selain itu, ia bekerja dengan baik!! Terima kasih banyak!!
Komentar ini diminimalkan oleh moderator di situs
Hai Gaston,
Kode telah diperbarui dengan pemecahan masalah. Silakan coba. Mohon maaf atas ketidaknyamanannya dan terima kasih atas komentarnya.
Komentar ini diminimalkan oleh moderator di situs
Hi Henry,
Kode telah diperbarui dengan pemecahan masalah. Silakan coba. Mohon maaf atas ketidaknyamanannya dan terima kasih atas komentarnya.
Komentar ini diminimalkan oleh moderator di situs
Ini tidak berfungsi saat fokus pada sel tertentu dalam lembar. Use case adalah ketika pengguna mengetik di sel dan membiarkan excel terbuka dengan kursor di dalam sel.
Komentar ini diminimalkan oleh moderator di situs
Apakah Anda dapat menemukan perbaikan untuk ini secara kebetulan?
Komentar ini diminimalkan oleh moderator di situs
Saya akan merekomendasikan mengidentifikasi buku kerja dengan nama file buku kerja. Ini akan memungkinkan pengguna untuk membuka beberapa buku kerja dan menutup hanya buku kerja tertentu yang perlu memiliki kunci waktu.

Saran: Atur xwb = Workbooks(" ")
alih-alih: Setel xwb = ActiveWorkbook

Juga, ganti semua referensi ke "ActiveWorkbook" ke Xwb di modul

Kode bagus sebaliknya.
Komentar ini diminimalkan oleh moderator di situs
Hai Mark,
Terima kasih untuk berbagi.
Komentar ini diminimalkan oleh moderator di situs
Hai Mark,

Terima kasih telah memposting amandemen ini - menemukan begitu banyak kode untuk menutup buku kerja yang tidak aktif, tetapi semuanya tampaknya memengaruhi yang tidak ingin Anda tutup!

Saya sangat baru di VBA, jadi saya tidak yakin bagaimana kode akan bekerja untuk menggantikan kata-kata 'ActiveWorkbook' di dalam modul. Saya sudah mencoba mengganti kata-katanya dengan 'Xwb' tetapi itu tidak mengubah apa pun dan saya mungkin gila. Maukah Anda memposting salinan kodenya?

Terima kasih
Komentar ini diminimalkan oleh moderator di situs
Apakah ada cara untuk membuat ini berfungsi sehingga meskipun Anda tidak berada di lembar seperti mengklik ke jendela lain, pengatur waktu masih akan menutup lembar itu? Sepertinya saya harus tetap di file agar berfungsi
Komentar ini diminimalkan oleh moderator di situs
itu meminta waktu idle setiap kali saya membuka.

Saya ingin waktu tidak ditampilkan saat membuka buku kerja. (jika diperlukan, dapat diubah dalam VBA)
Komentar ini diminimalkan oleh moderator di situs
Ganti baris
xTime = Application.InputBox("Silakan tentukan waktu idle:", "KuTool For Excel", "00:00:20", , , , , 2)


untuk

xWaktu = "00:00:20"


itu tidak akan bertanya
Komentar ini diminimalkan oleh moderator di situs
Apakah ada cara untuk mengubah ini sehingga meminta pengguna untuk menyimpan/menutup file, alih-alih menyimpan dan menutup file secara otomatis?
Komentar ini diminimalkan oleh moderator di situs
Hai. Saya perlu mengatur spreadsheet bersama saya di jaringan kantor untuk menyimpan dan menutup secara otomatis ketika saya selesai menggunakannya untuk hari itu. Hanya bos saya dan saya yang seharusnya membuat dan menyimpan perubahan, tetapi beberapa manajer melihatnya setiap hari.
Saya harus dapat menyimpannya secara otomatis untuk kami berdua, sementara tidak menyimpannya untuk pengguna lain. Apakah ini mungkin? Bisakah saya mengatur makro agar berfungsi hanya untuk kita? Atau akan mempengaruhi semua orang?
Saya tahu cara melindungi sheet, tetapi saya tidak dapat melakukannya, karena mereka ingin dapat membuat beberapa perubahan sementara dari waktu ke waktu. Saya hanya perlu dapat membatasi penyimpanan otomatis untuk pengguna tertentu.
Komentar ini diminimalkan oleh moderator di situs
(Mendesah.)
Lihat kodenya.
Jika Anda memasukkan VBA ini ke dalam Excel001.xlsm, tetapi, ketika batas waktu terjadi, Anda memiliki Excel002.xlsm sebagai buku kerja "aktif", maka itu sebenarnya akan menutup file Excel ITU, bukan yang Anda masukkan ke VBA .
Komentar ini diminimalkan oleh moderator di situs
lihat di bawah, komentar Mark: "Saya akan merekomendasikan mengidentifikasi buku kerja dengan nama file buku kerja. Ini akan memungkinkan pengguna untuk membuka beberapa buku kerja dan menutup hanya buku kerja tertentu yang perlu memiliki kunci waktu.

Saran: Atur xwb = Workbooks(" ")
alih-alih: Setel xwb = ActiveWorkbook

Juga, ganti semua referensi ke "ActiveWorkbook" ke Xwb di modul

Kode bagus sebaliknya."
Komentar ini diminimalkan oleh moderator di situs
Hai mas, bagaimana cara melihat countdownnya?
Komentar ini diminimalkan oleh moderator di situs
Hai mas, bagaimana cara melihat countdownnya?
Komentar ini diminimalkan oleh moderator di situs
Mohon maaf, jika Anda dapat mengubah kode atau menyesuaikannya untuk yang bereaksi dengan formula (UserForm), hanya dengan bereaksi pada aktivasi di sel tetapi tidak di formula, terima kasih
Komentar ini diminimalkan oleh moderator di situs
Hai Moises Peraza,
UserForm tidak mempengaruhi penggunaan kode VBA. Bisakah Anda menggambarkan masalah yang Anda temui dengan lebih jelas.
Komentar ini diminimalkan oleh moderator di situs
Terima kasih kepada responden, jika tidak ada pertanyaan: le pongo de tiempo de inactividad 2 mnt. En el momento de trabajar con formularios (ingresar información del cliente), pasado ese tiempo me cierra o me tira el mensaje que se cerrara, espero darme a entender
Belum ada komentar yang diposting di sini
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan

Ikuti kami

Hak Cipta © 2009 - www.extendoffice.com. | Seluruh hak cipta. Dipersembahkan oleh ExtendOffice. | Peta Situs
Microsoft dan logo Office adalah merek dagang atau merek dagang terdaftar dari Microsoft Corporation di Amerika Serikat dan / atau negara lain.
Dilindungi oleh Sectigo SSL