- 최초 작성일: 2007-05-21
- 최종 수정일: 2026-09-30
- 조회수: 17 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 초간단 웹사이트 탐색기 만들기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
알프레드 디 수자(Alfred D'Souza)의 유명한 글귀가 있습니다. 한 번도 상처받지 않은 것처럼 사랑하고, 아무도 바라보고 있지 않은 것처럼 춤추라는 내용입니다.
우리는 과거나 미래가 아닌 '현재' 속에 집중할 때 행복함을 느낄 수 있습니다. 과거를 바꾸거나 미래를 통제할 수 있는 사람은 없습니다. 현재, 지금 하고 있는 일에 집중해야 겠습니다.
초간단 웹사이트 탐색기 만들기
핵심 요약: VBA로 만드는 웹사이트 탐색기
사용자 정의 폼에서 사이트를 선택하거나 주소를 입력하고 이동 버튼을 누르면 Internet Explorer가 열려 해당 사이트로 이동하는 예제입니다. 다만 IE는 지원이 종료되었으므로 최신 환경에서는 대체 방법이 필요합니다.
- 1단계: VB Editor의 참조 대화상자에서 Microsoft Internet Controls를 선택합니다.
- 2단계: 사용자 정의 폼에 옵션 버튼, 텍스트 상자, 이동 버튼을 배치합니다.
- 3단계: 이동 버튼에서 IE 개체를 만들고 Navigate로 주소를 엽니다.
Step 1: 완성 예 살펴보기
다음 버튼을 클릭하면 대화상자가 나타납니다. 적당한 사이트를 선택하거나 사이트 주소를 입력한 다음 '이동' 버튼을 클릭하면 해당 사이트가 나타납니다. 이번 시간에는 이것을 만들어 보겠습니다.
Step 2: 참조 설정하기
VB Editor 상태에서 '도구-참조' 메뉴를 선택합니다. '참조' 대화상자에서 'Microsoft Internet Controls' 항목을 선택하고 '확인' 버튼을 클릭합니다.
Step 3: 사용자 정의 폼과 옵션 버튼 코드
'삽입-사용자 정의 폼' 메뉴를 이용하여 사용자 정의 폼을 삽입한 다음, 앞의 '완성 예'와 같은 형태로 필요한 컨트롤을 추가합니다. <Alt+F11> 키를 눌러 VB Editor 상태로 들어가시면 어떤 컨트롤들이 사용되었는지 쉽게 파악할 수 있습니다.
각각의 옵션 버튼을 클릭하고 다음과 같은 코드를 작성합니다.
Private Sub optExceller_Click()
txtURL.SpecialEffect = fmSpecialEffectFlat
txtURL = "http://www.iExceller.com"
End Sub
Private Sub optKADO_Click()
txtURL.SpecialEffect = fmSpecialEffectFlat
txtURL = "http://www.estudy.or.kr/"
End Sub
Private Sub optOT_Click()
txtURL.SpecialEffect = fmSpecialEffectFlat
txtURL = "http://www.officetutor.com"
End Sub
Private Sub optSDS_Click()
txtURL.SpecialEffect = fmSpecialEffectFlat
txtURL = "http://www.e-campus.co.kr/index.jsp"
End Sub
Step 4: 이동 버튼 코드
다음은 '이동' 버튼을 클릭한 경우에 대한 처리 코드입니다. 이 코드가 오늘 강좌의 핵심입니다.
Private Sub btnOK_Click()
Dim IE As InternetExplorer
On Error GoTo ET
Set IE = CreateObject("InternetExplorer.application")
IE.Navigate txtURL
' 인터넷 익스플로러 개체를 생성한 다음, 텍스트 상자에 표시된 주소로 이동합니다.
With IE
' 익스플로러를 화면 좌측 상단에 나타나도록 합니다.
.Visible = True
.Left = 0
.Top = 0
End With
ET:
' 오류가 발생한 경우, 에러 내용과 에러 번호를 MsgBox에 표시합니다.
If Err.Number <> 0 Then
MsgBox Err.Description, , "오류 번호 : " & Err.Number
Err.Clear
End If
End Sub
최신 환경에서의 주의사항: 이 강좌는 Internet Explorer(IE)를 자동화하는 방식입니다. IE는 2022년 6월에 지원이 종료되어 최신 Windows에서는 CreateObject("InternetExplorer.application")이 동작하지 않을 수 있습니다. 또한 예제에 나온 일부 사이트 주소는 현재 유효하지 않을 수 있으니 여러분이 원하는 주소로 바꾸어 사용하세요.
IE 없이 웹사이트를 여는 방법: 기본 브라우저로 주소를 열기만 하면 된다면, 참조 설정 없이 아래 한 줄로 충분합니다.
ThisWorkbook.FollowHyperlink Address:=txtURL.Value
이 방법은 IE 개체처럼 창 위치를 제어할 수는 없지만, 사용자의 기본 브라우저(Edge, Chrome 등)에서 사이트가 열립니다.
오늘은 짧게 여기까지…
정리 — 웹사이트 탐색기 코드 핵심
| 구분 | 사용한 코드 | 역할 |
|---|---|---|
| 참조 설정 | 도구 - 참조 - Microsoft Internet Controls | InternetExplorer 개체 형식 사용 |
| 옵션 버튼 | txtURL = "주소" | 선택한 사이트 주소를 텍스트 상자에 표시 |
| 개체 생성 | CreateObject("InternetExplorer.application") | IE 개체 만들기 |
| 페이지 이동 | IE.Navigate txtURL | 텍스트 상자의 주소로 이동 |
| 창 표시 | .Visible = True | IE 창을 화면에 표시 |
자주 묻는 질문 (FAQ)
Q1. Internet Explorer가 없는 최신 Windows에서도 동작하나요?
IE는 2022년 6월에 지원이 종료되어 최신 환경에서는 이 예제의 IE 자동화 방식이 동작하지 않을 수 있습니다. 단순히 사이트를 열려면 ThisWorkbook.FollowHyperlink 메서드로 기본 브라우저에서 열 수 있습니다.
Q2. 참조 설정을 하지 않고도 IE 개체를 사용할 수 있나요?
네, 가능합니다. Dim IE As Object로 선언하는 후기 바인딩(Late Binding)을 사용하면 참조 설정 없이 CreateObject로 개체를 만들 수 있습니다. 다만 코드 입력 시 자동 완성 기능은 사용할 수 없습니다.
Q3. 옵션 버튼을 클릭하면 왜 텍스트 상자에 주소가 채워지나요?
각 옵션 버튼의 Click 이벤트 프로시저에 텍스트 상자(txtURL)의 값을 지정하는 코드가 들어 있기 때문입니다. 옵션 버튼을 추가하려면 같은 형태의 프로시저를 하나 더 만들면 됩니다.
마치며
사용자 정의 폼과 IE 개체만으로 간단한 웹사이트 탐색기를 만들 수 있었습니다. 최신 환경에서는 FollowHyperlink 같은 대체 방법도 함께 알아 두시면 좋겠습니다.