- 최초 작성일: 2002-05-15
- 최종 수정일: 2026-09-30
- 조회수: 8 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 오피스 길잡이 사용 예제
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
이번 질문은 매크로로 "지수평활법"이라는 버튼을 만들어 마우스를 가져다 대면 버튼 이름이 "이동평균법"으로 바뀌고, 그 버튼을 클릭하면 이동평균법에 대한 설명이 오피스 길잡이 풍선 도움말로 나오도록 코딩했는데, 이동평균법 설명만 나오고 지수평활법 설명은 나오지 않는다는 내용입니다. 특정 셀에 메모 형식으로 나오게 하든 어떤 방식으로든 두 가지 설명을 모두 보여 주고 싶다며 동시에 두 가지 설명을 나오게 하는 것이 불가능한지 물어보셨습니다.
오피스 길잡이 사용 예제
핵심 요약: 오피스 길잡이 선택형 풍선
풍선에 선택 항목(Labels)을 만들고 Show가 돌려주는 번호로 분기하면 하나의 오피스 길잡이 풍선에서 여러 설명을 골라 볼 수 있습니다.
- 1단계: Assistant.On으로 오피스 길잡이 사용 가능 여부를 확인합니다.
- 2단계: NewBalloon의 Labels로 선택 항목을 만들고 Show로 선택 번호를 받습니다.
- 3단계: Select Case로 항목별 제목과 설명을 다르게 표시합니다.
Step 1: 질문의 코드 실행해 보기
질문에 나온 코드는 버튼 캡션을 바꾸는 부분과 Assistant.NewBalloon으로 풍선을 만드는 부분으로 이루어져 있습니다. 실행해 보면 오피스 길잡이가 나타나기는 하지만 한 가지 설명밖에 나타나지 않습니다. 이번에는 아래 코드로 만든 버튼을 눌러 보면 두 가지 설명을 골라서 볼 수 있습니다.
Step 2: AssistantSample 프로시저
Sub AssistantSample()
Dim i As Integer
With Application.Assistant
If .On Then
' 오피스 길잡이를 사용할 수 있는 환경이라면 아래 구문을 실행합니다.
i = ChooseItem()
' ChooseItem이라는 사용자 정의 함수를 실행한 다음 그 결과값을 넘겨받아 i라는
' 변수에 담아둡니다.
With .NewBalloon
' 넘겨받은 I 값이 어떤 값이냐에 따라 조건 분기문을 실행합니다.
Select Case i
Case 1
.Heading = "이동평균법"
.Text = "이동평균법은 이러이러한 것입니다!"
.Show
.Parent.Animation = msoAnimationGetAttentionMajor
Case 2
.Heading = "지수평활법"
.Text = "지수평활법은 저러저러한 것입니다!"
.Show
.Parent.Animation = msoAnimationGetWizardy
Case Else
' Doing Nothing
End Select
End With
Else
' 만약 오피스 길잡이를 사용할 수 없는 환경이라면...
MsgBox "길잡이를 사용할 수 없습니다."
End If
End With
End Sub
먼저 Application.Assistant.On으로 오피스 길잡이를 사용할 수 있는 환경인지 확인합니다. 사용할 수 있다면 ChooseItem이라는 사용자 정의 함수를 실행해 사용자가 고른 항목 번호를 받고, Select Case 문으로 항목마다 다른 제목과 설명이 나오도록 분기합니다. 사용할 수 없는 환경이면 메시지 상자로 알립니다.
Step 3: ChooseItem 함수
아래의 사용자 정의 함수는 오피스 길잡이를 사용할 수 있는가 없는가를 파악하는 역할을 담당합니다.
Function ChooseItem() As Integer
With Application.Assistant
.Visible = True
With .NewBalloon
.Heading = "어떤 항목을 알고 싶으신가요?"
' 오피스 길잡이 풍선을 만들고 제목을 설정합니다.
.Text = "아래 항목 중에서 골라주세요:"
.Labels(1).Text = "이동평균법"
.Labels(2).Text = "지수평활법"
ChooseItem = .Show
End With
End With
End Function
풍선에 레이블 두 개(이동평균법, 지수평활법)를 만들고 .Show의 결과, 즉 사용자가 선택한 항목 번호를 함수의 결과값으로 되돌립니다. 이 방식이면 하나의 풍선에서 원하는 설명을 골라 볼 수 있습니다.
참고: 오피스 길잡이(Office Assistant, Application.Assistant)는 엑셀 2007 이후 버전에서는 제거되어 위 코드는 최신 엑셀에서는 실행되지 않습니다. 같은 용도로는 유저폼이나 셀 메모(Comment), 메시지 상자(MsgBox)를 이용해 설명을 보여 주는 방식을 사용하시기 바랍니다.
아주 간단하지요? 하지만 활용 여하에 따라서 많은 응용이 가능할 것입니다.
오늘은 여기까지…
정리 — 오피스 길잡이 핵심
| 구분 | 사용한 코드 | 역할 |
|---|---|---|
| 사용 여부 | Application.Assistant.On | 길잡이 사용 가능 확인 |
| 풍선 만들기 | .NewBalloon | 새 풍선 생성 |
| 선택 항목 | .Labels(n).Text | 풍선 안의 선택 항목 |
| 선택 결과 | ChooseItem = .Show | 선택된 번호 반환 |
| 동작 | .Parent.Animation | 길잡이 애니메이션 |
자주 묻는 질문 (FAQ)
Q1. 한 풍선에서 두 가지 설명을 동시에 보여 줄 수 있나요?
동시에 두 설명을 보여 주는 대신 Labels로 항목을 만들어 사용자가 고른 항목의 설명을 보여 주는 방식으로 해결할 수 있습니다.
Q2. Show 메서드는 무엇을 돌려주나요?
사용자가 선택한 항목(레이블)의 번호를 반환하므로 Select Case 문으로 분기할 수 있습니다.
Q3. 최신 엑셀에서도 오피스 길잡이를 쓸 수 있나요?
오피스 길잡이는 엑셀 2007 이후 버전에서 제거되었으므로 유저폼이나 메모, 메시지 상자로 대체해야 합니다.
마치며
간단해 보이는 오피스 길잡이도 활용하기에 따라 다양한 응용이 가능했습니다.