반응형
이미 열려있는 익스플로러를 컨트롤하고 싶다.
그래서 구글링을 통해 배워봤다.
1. 준비
VB편집기에서 Microsoft Internet Controls를 참조 추가하면 준비 끝
2. 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Dim IE As SHDocVw.ShellWindows Dim wanna_IE As SHDocVw.InternetExplorer Set IE = New SHDocVw.ShellWindows For Each wanna_IE In IE If wanna_IE.LocationName = "Naver" Then MsgBox "네이벼 열려있음", vbInformation, "확인" Exit Sub End If Next wanna_IE End Sub | cs |
열려있는 익스플로러 중에 네이버라는 이름을 가진 창이 있으면 메세지 박스를 표시하고 함수를 종료하는 코드.
F8 키로 한 단계씩 전진하면서 실행 해보았다.
Set IE = NEW SHDocVw.ShellWindows 구문으로 IE 변수에 익스플로러와 관련된 데이터를 넣었다.
인터넷 익스플로러를 열지 않은 상태이지만 Item1로 데이터가 들어가 있음을 확인했다.
저 Item1을 열어보니 파일탐색기 정보가 들어있었다.
폴더와 인터넷 익스플로러 두 가지만 데이터를 끌고오지 일반 응용프로그램, 다른 브라우저 정보는 데리고 오지 않았다.
코드가 잘되는지 테스트하기 위해 인터넷 익스플로러에 구글과 네이버, 다음을 열어두었다.
LocationName에는 인터넷 익스플로러 창에 표시되는 이름
LocationURL은 접속된 URL 주소가 저장되어 있었다.
이 데이터를 바탕으로 내가 원하는 탭이나 창을 골라내어 인터넷을 컨트롤 할 수 있게 되었다.
여기서 쓰인 코드는 네이버 창이 있으면 메세지 팝업창을 띄우고 매크로를 종료하도록 만들었다.
실행 결과는 아주 만족스러웠다.
반응형
'컴퓨터 공부 > 엑셀 & VBA' 카테고리의 다른 글
[엑셀vba] private sub, sub 차이가 뭘까 (7) | 2020.11.16 |
---|---|
[엑셀vba] debug.print 사용하기 (0) | 2020.11.16 |
[엑셀vba] 시트를 완전히 숨겨보자(숨기기 취소에도 안보임) (0) | 2020.10.23 |
[엑셀] 엑셀 2016으로 저장된 xlsx 파일을 엑셀 2007 에서 열어보자 (0) | 2020.10.20 |
[엑셀vba] 셀에 엑셀 함수 입력해서 사용하기 (0) | 2020.09.13 |