Fungsi DoEvents

Catatan: Fungsi, metode, objek, atau properti yang diuraikan dalam topik ini dinonaktifkan jika Layanan ekspresi Microsoft jet berjalan dalam mode Sandbox, yang mencegah evaluasi ekspresi yang berpotensi tidak aman. Untuk informasi selengkapnya tentang mode Sandbox, Cari "mode Sandbox" dalam bantuan.

Eksekusi hasil sehingga sistem operasi dapat memproses acara lainnya.

Sintaks

Doevents ()

Keterangan

Fungsi Doevents mengembalikan bilangan bulat yang mewakili jumlah formulir terbuka dalam versi mandiri Microsoft Visual Basic, seperti Visual Basic, Professional Edition. Doevents mengembalikan nol di semua aplikasi lainnya.

Doevents melewati kontrol ke sistem operasi. Kontrol dikembalikan setelah sistem operasi selesai memproses kejadian dalam antrian dan semua kuncinya dalam antrian Sendkeys telah dikirim.

Doevents adalah yang paling berguna untuk hal sederhana seperti memperbolehkan pengguna untuk membatalkan proses setelah proses dimulai, misalnya pencarian file. Untuk proses yang berjalan lama, menyerah pada prosesor lebih baik dilakukan dengan menggunakan timer atau mendelegasikan tugas ke komponen ActiveX EXE. Dalam kasus yang terakhir, tugas dapat terus benar-benar independen dari aplikasi Anda, dan sistem operasi mengurus multitasking dan waktu mengiris.

Setiap kali Anda Yield untuk sementara waktu ke prosesor dalam prosedur kejadian, pastikan prosedur tidak dieksekusi lagi dari bagian yang berbeda dari kode Anda sebelum panggilan pertama dikembalikan; Hal ini dapat menyebabkan hasil yang tidak terduga. Selain itu, jangan gunakan Doevents jika aplikasi lain mungkin bisa berinteraksi dengan prosedur Anda dalam cara yang tidak terduga selama waktu yang Anda miliki.

Contoh

Catatan: Contoh yang mengikuti demonstrasi penggunaan fungsi ini dalam modul Visual Basic for Applications (VBA). Untuk informasi selengkapnya tentang bekerja dengan VBA, pilih Referensi Pengembang di daftar turun bawah di samping Cari dan masukkan satu istilah atau lebih di kotak pencarian.

Contoh ini menggunakan fungsi Doevents untuk menyebabkan eksekusi Yield ke sistem operasi sekali setiap 1000 iterasi pengulangan. Doevents mengembalikan jumlah formulir Visual Basic yang terbuka, namun hanya ketika aplikasi host bersifat Visual Basic.

' Create a variable to hold number of 
' Visual Basic forms loaded and visible.
Dim I, OpenForms
For I = 1 To 150000 ' Start loop.
If I Mod 1000 = 0 Then ' If loop has repeated
' 1000 times.
OpenForms = DoEvents ' Yield to operating system.
End If
Next I ' Increment loop counter.

Perlu bantuan lainnya?

Kembangkan keterampilan Office Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung ke Office Insiders

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×