EXCEL VBA 가속화 클래스 생성
소개
마지막으로 Excel VBA 가속 기사를 썼습니다.
htps : // m / ぉ ch / ms / 3 어 9100034 에cf2d804
이번에는 기사에서 소개하는 화면 업데이트 설정의 클래스화를 작성합니다.
화면 갱신의 정지를 생성자에 쓰는 것으로, 클래스를 인스턴스화했을 때에 화면의 갱신을 정지해 고속화해, 갱신을 유효화를 소멸자에 써 오브젝트가 개방된 시점에서 자동적으로 갱신을 유효 화할 수 있습니다.
전회의 기사에서는 통상의 프로시저였지만 이번은 클래스라고 하는 것으로 인스턴스화하기 때문에 조금 처리 부하가 커집니다만, 정말로 사소한 차이이며 처리의 최초에 1회만 실행하는 것이기 때문에, 문제가되지 않을 것입니다.
또, 통상의 프로시저의 경우, 조기 리턴등으로 종료 조건이 복수 있는 경우, 그 때마다 갱신의 유효화를 명시적으로 쓸 필요가 있었습니다만 클래스의 소멸자의 경우는 그 필요가 없습니다.
※ 오류 등으로 처리가 멈추면 소멸자가 실행되지 않으므로주의하십시오.
가속화 클래스 작성
클래스 모듈을 작성하고 다음 코드를 작성하십시오.
이번에는 클래스명은
Accelerator
라고 하고 있습니다.Accelerator
Private Sub Class_Initialize()
'画面の更新を停止
With Application
.ScreenUpdating = False
.Calculation = xlCalclationManual
.EnableEvents = False
.Cursor = xlWait
End With
End Sub
Private Sub Class_Terminate()
'画面の更新を有効化
With Application
.ScreenUpdating = True
.Calculation = xlCalclationAutomatic
.EnableEvents = True
.Cursor = xlDefault
End With
End Sub
Public Sub Init()
' 宣言時にNewをした場合コンストラクタが走らないためこのプロシージャを使用する
End Sub
사용방법
처리의 시작 부분에서 인스턴스화하십시오.
Dim Ac As Accelerator
Set Ac = New Accelerator
선언시에
New
를 하는 경우는 다음과 같이 Init
Dim Ac As New Accelerator
Ac.Init
처리가 끝나고 객체가 열리면 화면 업데이트가 활성화됩니다.
끝에
이상이 Excel VBA 가속화 클래스를 만드는 방법입니다.
이 기사를 읽어 주셔서 감사합니다.
관련 기사
내 계정
Reference
이 문제에 관하여(EXCEL VBA 가속화 클래스 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/loach/items/3372066d7037143a92b4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)