Excel 2016 VBA에서 OnTime 이벤트 및 키 누르기 이벤트를 사용하는 방법

Excel 2016 VBA에서 OnTime 이벤트 및 키 누르기 이벤트를 사용하는 방법

개체와 연결되지 않은 Excel 2016용 VBA 프로그래밍에서 사용할 수 있는 이벤트에는 시간 및 키 누르기의 두 가지 유형이 있습니다. 시간 및 키 누름은 통합 문서나 워크시트와 같은 특정 개체와 연결되지 않기 때문에 이러한 이벤트를 일반 VBA 모듈에서 프로그래밍합니다.

온타임 이벤트

OnTime 이벤트는 하루 중 특정 시간이 발생할 때 발생합니다. 다음 예는 오후 3시 이벤트가 발생할 때 Excel에서 프로시저를 실행하도록 하는 방법을 보여줍니다. 이 경우 로봇 음성이 메시지 상자와 함께 일어나라고 알려줍니다.

하위 SetAlarm()
  Application.OnTime 0.625, "디스플레이 알람"
엔드 서브
하위 디스플레이 알람()
  Application.Speech.Speak ("이봐, 일어나")
  MsgBox “오후 휴식 시간입니다!”
엔드 서브

이 예에서는 Application 개체의 OnTime 메서드가 사용됩니다. 이 메서드는 시간(0.625 또는 3:00 pm)과 시간 이벤트가 발생할 때 실행할 Sub 프로시저의 이름(DisplayAlarm)의 두 인수를 사용합니다.

이 절차는 업무에 너무 몰두하여 회의와 약속을 잊어버리는 경향이 있는 경우에 매우 유용합니다. OnTime 이벤트를 설정하여 스스로에게 상기시키십시오.

대부분의 사람들은 Excel 번호 매기기 시스템의 관점에서 시간을 생각하는 것을 어려워합니다. 따라서 VBA TimeValue 함수를 사용하여 시간을 나타낼 수 있습니다. TimeValue는 시간처럼 보이는 문자열을 Excel에서 처리할 수 있는 값으로 변환합니다. 다음 명령문은 오후 3시에 이벤트를 프로그래밍하는 더 쉬운 방법을 보여줍니다.

Application.OnTime TimeValue(“오후 3:00:00”), “DisplayAlarm”

현재 시간을 기준으로 이벤트를 예약하려면(예: 지금부터 20분) 다음과 같은 명령문을 사용할 수 있습니다.

Application.OnTime Now + TimeValue("00:20:00"), "DisplayAlarm"

OnTime 메서드를 사용하여 특정 날짜에 VBA 프로시저를 실행할 수도 있습니다. 컴퓨터가 계속 실행되고 절차가 포함된 통합 문서가 열려 있는지 확인해야 합니다. 다음 문은 2016년 12월 31일 오후 5시에 DisplayAlarm 프로시저를 실행합니다.

Application.OnTime DateValue("12/31/2016 5:00 pm"), "DisplayAlarm"

이 특정 코드 라인은 집에 돌아가 새해 전야 축제를 준비해야 한다고 경고하는 데 유용할 수 있습니다.

다음은 OnTime 이벤트를 사용하는 또 다른 예입니다. UpdateClock 프로시저를 실행하면 A1 셀에 시간이 기록되고 5초 후에 다른 이벤트도 프로그래밍됩니다. 이 이벤트는 UpdateClock 프로시저를 다시 실행합니다. 결과적으로 셀 A1이 5초마다 현재 시간으로 업데이트됩니다. 이벤트를 중지하려면 StopClock 프로시저(이벤트를 취소함)를 실행하십시오. NextTick은 다음 이벤트의 시간을 저장하는 모듈 수준 변수입니다.

Dim NextTick As Date
하위 UpdateClock()
' A1 셀을 현재 시간으로 업데이트
  ThisWorkbook.Sheets(1).Range("A1") = 시간
' 지금부터 5초 후 다음 이벤트 설정
  NextTick = Now + TimeValue("00:00:05")
  Application.OnTime NextTick, "UpdateClock"
엔드 서브
하위 StopClock()
' OnTime 이벤트 취소(시계 정지)
  오류 시 다음 재개
  Application.OnTime NextTick, "UpdateClock", , False
엔드 서브

OnTime 이벤트는 통합 문서가 닫힌 후에도 지속됩니다. 즉, StopClock 프로시저를 실행하지 않고 통합 문서를 닫으면 통합 문서가 5초 후에 다시 열립니다(Excel이 여전히 실행 중이라고 가정). 이를 방지하려면 다음 명령문이 포함된 Workbook_BeforeClose 이벤트 프로시저를 사용하십시오.

StopClock 호출

OnTime 메서드에는 두 개의 추가 인수가 있습니다. 이 방법을 사용하려는 경우 자세한 내용은 도움말 시스템을 참조해야 합니다.

다소 복잡한 응용 프로그램을 보고 싶다면 이 아날로그 시계 응용 프로그램을 확인하십시오. 시계 페이스는 실제로 차트이며 차트는 시간을 표시하기 위해 1초마다 업데이트됩니다. 쓸모는 없지만 재미있습니다.

Excel 2016 VBA에서 OnTime 이벤트 및 키 누르기 이벤트를 사용하는 방법

아날로그 시계 응용 프로그램입니다.

키 누르기 이벤트

작업하는 동안 Excel은 사용자가 입력하는 내용을 지속적으로 모니터링합니다. 이 때문에 키 입력이나 키 조합이 프로시저를 실행하도록 설정할 수 있습니다.

다음은 PgDn 및 PgUp 키를 재할당하는 예입니다.

하위 설정_OnKey()
  Application.OnKey "{PgDn}", "PgDn_Sub"
  Application.OnKey "{PgUp}", "PgUp_Sub"
엔드 서브
하위 PgDn_Sub()
  오류 시 다음 재개
  ActiveCell.Offset(1, 0).활성화
엔드 서브
하위 PgUp_Sub()
  오류 시 다음 재개
  ActiveCell.Offset(-1, 0).활성화
엔드 서브

Setup_OnKey 프로시저를 실행하여 OnKey 이벤트를 설정한 후 PgDn을 누르면 한 행 아래로 이동합니다. PgUp을 누르면 한 행 위로 이동합니다.

키 코드는 괄호가 아닌 중괄호로 묶여 있습니다. 전체 키보드 코드 목록은 도움말 시스템을 참조하십시오. 온키를 검색합니다 .

이 예에서 On Error Resume Next는 생성된 모든 오류를 무시하는 데 사용됩니다. 예를 들어 활성 셀이 첫 번째 행에 있는 경우 한 행 위로 이동하려고 하면 무시해도 되는 오류가 발생합니다. 차트 시트가 활성 상태이면 활성 셀이 없습니다.

다음 루틴을 실행하여 OnKey 이벤트를 취소합니다.

하위 취소_OnKey()
  Application.OnKey "{PgDn}"
  Application.OnKey "{PgUp}"
엔드 서브

OnKey 메서드의 두 번째 인수로 빈 문자열을 사용하면 OnKey 이벤트가 취소 되지 않습니다 . 오히려 Excel에서 키 입력을 무시합니다. 예를 들어 다음 문은 Excel에서 Alt+F4를 무시하도록 지시합니다. 퍼센트 기호는 Alt 키를 나타냅니다.

  Application.OnKey "%{F4}", ""

OnKey 메서드를 사용하여 매크로 실행을 위한 바로 가기 키를 할당할 수 있지만 이 작업에는 매크로 옵션 대화 상자를 사용해야 합니다.

코드가 포함된 통합 문서를 닫고 Excel을 열어 두면 OnKey 메서드가 재설정되지 않습니다. 결과적으로 바로 가기 키를 누르면 Excel에서 매크로가 포함된 파일을 자동으로 엽니다. 이러한 일이 발생하지 않도록 하려면 Workbook_BeforeClose 이벤트 코드에 코드를 포함하여 OnKey 이벤트를 재설정해야 합니다.


Foxit 리더 12

Foxit 리더 12

Foxit Reader는 기본적으로 PDF 리더이며 PDF 파일을 생성하고, 서명하고, 편집하고, 주석을 추가할 수도 있습니다. 운영 체제에서 작동하며 Microsoft Office 패키지의 다양한 프로그램에 대한 플러그인이 있습니다.

마이크로소프트 파워포인트 2021

마이크로소프트 파워포인트 2021

Microsoft PowerPoint는 Microsoft의 비즈니스 및 생산성 프로그램 컬렉션의 일부입니다. 이 프레젠테이션 소프트웨어는 광범위한 기능을 통해 사용자가 자신의 아이디어를 생생하게 표현할 수 있도록 도와줍니다. 시청자의 관심을 끌기 위해 매우 인상적인 프레젠테이션을 만듭니다.

마이크로소프트 엑셀 2021

마이크로소프트 엑셀 2021

Microsoft Excel은 사용자가 스프레드시트 시스템을 사용하여 수식으로 데이터를 구성, 형식 지정 및 계산할 수 있도록 Microsoft에서 만든 소프트웨어 프로그램입니다.

마이크로소프트 오피스 2021

마이크로소프트 오피스 2021

Microsoft Office는 Microsoft에서 개발한 클라이언트 및 서버 소프트웨어 및 서비스 제품군입니다. Microsoft Office의 첫 번째 버전에는 Microsoft Word, Microsoft Excel 및 Microsoft PowerPoint가 포함되어 있습니다.

마이크로소프트 플래너 1.15.28/1.13.20

마이크로소프트 플래너 1.15.28/1.13.20

Microsoft Planner는 작업 관리를 위한 웹 기반 도구입니다.

무료 PDF 편집기

무료 PDF 편집기

Free PDF Editor는 오해의 소지가 있는 이름을 가진 무료 PDF 생성기입니다. 프로그램 이름에서 PDF 파일 편집을 제안하더라도 이 소프트웨어는 실제로 새 파일을 생성할 수만 있으며 다른 소스의 PDF 파일을 편집할 수는 없습니다.

어도비 포토샵 7.0.1 업데이트

어도비 포토샵 7.0.1 업데이트

Adobe Photoshop 업데이트 7.0.1은 오류를 수정하고, 일부 프로그램과의 호환성을 향상시키며, Adobe Photoshop의 작동 속도를 높이는 이상적인 방법입니다. 이전 버전의 프로그램을 사용하는 경우 다양한 이점을 활용하려면 Photoshop을 업데이트하는 것이 중요합니다.

무료 PDF 리더

무료 PDF 리더

무료 PDF 리더는 이 카테고리의 다양한 제품과 서비스를 지속적으로 소개하는 개발자인 Free PDF Solutions에서 제공됩니다. 무료 PDF 리더를 다운로드하면 모든 유형의 PDF를 몇 초 안에 보고 Microsoft Word 문서로 변환할 수 있습니다.

마이크로소프트 워드 2021

마이크로소프트 워드 2021

Microsoft Word는 Microsoft의 Office 소프트웨어입니다. 이 비즈니스 및 생산성 소프트웨어는 아름답고 매력적인 문서를 만들 수 있습니다. Microsoft Word에는 문서를 전문적으로 처리하는 데 필요한 모든 도구가 함께 제공됩니다.

어도비 리더 DC(애크로뱃 리더)

어도비 리더 DC(애크로뱃 리더)

Adobe Acrobat Reader DC는 언제 어디서나 PDF에 액세스할 수 있는 방법입니다. 이 프로그램은 이동이 잦은 바쁜 사람들을 위한 가상 오피스입니다. Windows 프로그램은 다양한 유형의 PDF와 기타 파일을 보고 편집할 수 있는 모든 권한을 제공합니다.