Applies ToMicrosoft 365용 Access Access 2024 Access 2021 Access 2019 Access 2016

참고: 이 항목에 설명된 함수, 메서드, 개체 또는 속성은 Microsoft Jet Expression Service가 샌드박스 모드에서 실행 중이면 사용할 수 없으므로 안전하지 않은 식이 평가되지 않습니다. 샌드박스 모드에 대한 자세한 내용은 도움말에서 "샌드박스 모드"를 검색하세요.

운영 체제가 다른 이벤트를 처리할 수 있도록 실행을 생성합니다.

구문

DoEvents ( )

주의

DoEvents 함수는 Visual Basic, Professional Edition과 같은 독립 실행형 버전의 Microsoft Visual Basic에서 열린 양식의 수를 나타내는 정수를 반환합니다. DoEvents는 다른 모든 애플리케이션에서 0을 반환합니다.

DoEvents는 운영 체제에 제어를 전달합니다. 컨트롤은 운영 체제가 해당 큐의 이벤트 처리를 완료하고 SendKeys 큐의 모든 키를 보낸 후에 반환됩니다.

DoEvents 는 사용자가 시작한 후 프로세스를 취소하도록 허용하는 것과 같은 간단한 작업(예: 파일 검색)에 가장 유용합니다. 장기 실행 프로세스의 경우 타이머를 사용하거나 작업을 ActiveX EXE 구성 요소에 위임하여 프로세서에 양보하는 것이 더 좋습니다. 후자의 경우 작업은 애플리케이션과 완전히 독립적으로 계속될 수 있으며 운영 체제는 멀티태스킹 및 시간 조각화 작업을 처리합니다.

이벤트 프로시저 내에서 프로세서에 일시적으로 양보할 때마다 첫 번째 호출이 반환되기 전에 코드의 다른 부분에서 절차 다시 실행되지 않았는지 확인합니다. 이로 인해 예측할 수 없는 결과가 발생할 수 있습니다. 또한 컨트롤을 생성한 시간 동안 다른 애플리케이션이 예기치 않은 방식으로 프로시저와 상호 작용할 수 있는 경우 DoEvents 를 사용하지 마세요.

예제

참고: VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.

이 예제에서는 DoEvents 함수를 사용하여 루프를 1000회 반복할 때마다 실행이 운영 체제에 생성되도록 합니다. DoEvents는 열려 있는 Visual Basic 양식의 수를 반환하지만 호스트 애플리케이션이 Visual Basic인 경우에만 반환합니다.

' Create a variable to hold number of ' Visual Basic forms loaded and visible.Dim I, OpenFormsFor 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 IfNext I    ' Increment loop counter.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.