본문 바로가기
Office/VBA

멀티 모니터에서 VBA 문자열 찾기 다이얼로그 위치 문제 해결

by belitino 2017. 8. 2.

출처: https://social.msdn.microsoft.com/Forums/office/en-US/b9cd93ee-4673-41bf-9383-a7546b677279/vba-find-dialog-appears-off-screen?forum=accessdev

 

멀티 모니터 환경에서 주 모니터가 아닌 2번째나 3번째 모니터에  VBA 에디터를 띄워놓고 프로그램을 하다보면 CTRL-F로 찾기를 호출했을 때 문제가 발생합니다.

 

문제는 찾기 다이얼로그의 위치가 모니터 밖에 생성되거나 모니터 경계에 생성되서 제대로 된 문자열 검색이 되지 않는 것인데요.

 

해결 방법이 없을까 해서 검색을 해보니, 출처에서는 이런 문제의 원인은 VBA editor가 멀티 모니터 환경을 대비하지 못하고 찾기 다이얼로그의 위치를 주 모니터의 해상도에 맞춰서 계산해서 생성하기 때문이라고 하네요.

 

출처에서 해결 방법은 다중 모니터의 해상도를 동일하게 맞추고 모니터들의 상단을 동일한 위치로 정렬을 하면 된다고 나와 있습니다.

 

그런데, 저는 일반 모니터와 노트북 모니터라서 해상도를 맞출 수는 없고, 다른 해상도에서 상단을 정렬하니 하단 정렬시에는 그나마 반정도 보이던 찾기 다이얼로그가 아예 화면밖에 생성되어서 보이지 않게 되었습니다.

 

그래서 다른 해결 방법은 없을까 고민하다가 다이얼로그의 위치를 주 모니터의 해상도에 맞춰서 계산한다는 사실에 착안해서 해상도가 낮은 노트북 모니터를 주모니터로 변경해보았습니다.

 

그랬더니 모든 모니터에서 다이얼로그가 위치 문제가 해결되었습니다. 해상도가 높은 모니터에서 다이얼로그 위치가 중간이 아니고 조금 아래쪽에 생성되기는 하지만 사용하는데 큰 문제는 없습니다.