הפונקציה DoEvents

הערה: אנו מעוניינים לספק לך את תוכן העזרה העדכני ביותר במהירות האפשרית, בשפה שלך. דף זה תורגם באמצעות אוטומציה והוא עשוי לכלול שגיאות דקדוק או אי-דיוקים. מטרתנו היא כי תוכן זה יהיה שימושי עבורך. האם תוכל לספר לנו אם המידע הועיל לך, בחלק התחתון של דף זה? לנוחותך, הנה המאמר באנגלית.

הערה: הפונקציה, שיטת, אובייקט או מאפיין המתוארים בנושא זה אינה זמינה אם שירות Microsoft Jet ביטוי פועל במצב ארגז חול, המונעת להערכה של ביטויים העשויים להיות לא בטוחים. לקבלת מידע נוסף אודות מצב ארגז חול, חפש "מצב sandbox" בעזרה.

הפקת ביצוע באופן שמערכת ההפעלה תוכל לעבד אירועים אחרים.

תחביר

הפונקציה DoEvents ( )

הערות

הפונקציה DoEvents מחזירה מספר שלם המייצג את מספר טפסים פתוחים בגירסאות עצמאי של Microsoft Visual Basic, כגון Visual Basic, Professional Edition. הפונקציה DoEvents מחזירה אפס בכל יישום אחר.

הפונקציה DoEvents מעביר שליטה שמערכת ההפעלה. הבקרה שבה לאחר שמערכת ההפעלה סיימה לעבד את האירועים בתור וכל המפתחות בתור SendKeys נשלחו.

הפונקציה DoEvents שימושית ביותר עבור פריטים פשוטים כמו מתן אפשרות למשתמש לבטל הליך לאחר הפעלתו, לדוגמה חיפוש קובץ. לתהליכי ארוכת טווח, עצירת המעבד תצליח טוב יותר מתבצעת באמצעות שעון עצר או הקצאת המשימה לרכיב ActiveX EXE. במקרה זה, הפעילות באפשרותך להמשיך לפעול באופן עצמאי לחלוטין ביישום ולאחר שמערכת ההפעלה מטפל ריבוי משימות וחלוקת זמן.

בכל פעם שאתה עוצר באופן זמני מעבד בתוך שגרת אירוע, ודא הליך אינה מבוצעת שוב מחלק אחר בקוד לפני החזרת הקריאה הראשונה; זה עלול לגרום לתוצאות בלתי צפויות. בנוסף, אין להשתמש בפונקציה DoEvents אם יישומים אחרים היתה שעלולות להיות אינטראקציה עם היישום שלך בדרכים שהבקרה בפרק הזמן שמושהית.

דוגמה

הערה: הדוגמאות הבאות מדגימות את השימוש של פונקציה זו במודול Visual Basic for Applications‏ (VBA). לקבלת מידע נוסף אודות עבודה עם VBA, בחר הפניית מפתח ברשימה הנפתחת שליד חיפוש והזן מונח אחד או יותר בתיבת החיפוש.

דוגמה זו משתמשת בפונקציה DoEvents כדי לגרום לעצירת למערכת ההפעלה אחת ל- 1000 חזרות של הלולאה. הפונקציה DoEvents מחזירה את מספר הטפסים הפתוחים של Visual Basic, אך רק כאשר היישום המארח 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.
שפר את הכישורים שלך ב- Office
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Office Insider

האם מידע זה היה שימושי?

תודה על המשוב!

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×