• 최초 작성일: 2000-09-26
  • 최종 수정일: 2026-09-30
  • 조회수: 10 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 차트를 그림파일로 만들기

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

자연은 참으로 정직하고 정확합니다. 자연의 일부인 우리의 몸도 마찬가지입니다. 한 일주일만 안 뛰다가 뛰면 그 사실을 절실히 느낍니다. 자의반 타의반(정확히 말하자면 자의 40% 타의 60%)으로 꼭 일주일을 쉬다가 어제 다시 뛰었더니 몸 이곳저곳이 삐그덕 거립니다. ^^

희말라야 산맥에 있는 해발 8,000미터 이상의 14개 산을 세계에서 여덟번째로 모두 오른 자랑스런 한국인(엄홍길)의 이야기를 TV에서 보았습니다. 인간승리라는 말이 이런 경우를 두고 하는 것이 아닌가 생각해 봅니다. 인터뷰 도중에 리포트가 이런 우문을 했습니다. "왜 죽을 고비를 감수해가며 그렇게 산에 오르느냐"고.

그 분의 대답이 이랬습니다. "정상에 올라보지 않은 사람은 그 이유를 모를 것이다!!!"

올해 초 였던 것으로 기억되는데... TV에서(MBC의 성공시대였던 것 같습니다) 어느 성공한 벤처 재미교포 사업가의 인생역정에 대해 소개를 하고 있었습니다. 이 분은 아침에 눈을 뜨면 제일 먼저 하는 일이 달리기였습니다. Reporter가 물었습니다. 왜 달리느냐고…

그러자 이분 曰, "내가 제일 싫어하는 것이 달리기다. 제일 싫어하는 이것을 잘 하게 된다면 다른 나머지 것들은 자연히 잘 할 수 있을 것 같아서 달린다."

누가 Exceller에게 "당신은 그럼 왜 달리느냐?"고 묻는다면 이렇게 대답할 것입니다. "지옥에 가보지 않은 사람은 천당이 어떤 곳인지 알지 못한다." (햐~ 하고 보니까 아주 그럴듯 하군요. 하지만 Exceller는 죽기를 각오하고 뛰면 10km 정도 뛰는 수준입니다. 그렇지만 처음 달릴 때에는 10분 이상을 뛰지 못했습니다. 그러던 것이 이제는 한 시간은 쉬지않고 뛸 수 있을 정도가 되었습니다).

Exceller가 오늘 유난히 말이 많군요. 하하하!!! 말이 더 길어지면 다들 채널을 돌리실 테니까 이쯤에서 접겠습니다. ^^;

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 대표 직강 1강 무료

🎁 파워툴스 마스터클래스 · 엑셀 바이브 코딩

AI에게 말로 지시해서 '나만의 엑셀 도구'를 만들고 리본에 장착합니다.

  • 코딩 지식 없이 시작 · 코드는 AI가 작성
  • 엑셀 리본에 내 탭과 버튼을 만들고 XLAM으로 공유
  • 1강 무료 수강 가능
수강 신청하기 강의 소개 보기

차트를 그림파일로 만들기

핵심 요약: 차트를 그림 파일로 저장

Chart 개체의 Export 메서드를 사용하면 차트만 그림 파일로 저장할 수 있습니다.

  • 1단계: GetSaveAsFilename으로 저장할 파일 이름을 받습니다.
  • 2단계: Dir로 같은 이름의 파일이 있는지 확인합니다.
  • 3단계: cht.Export로 GIF 파일을 만듭니다.

독자 질문

Visual FoxPro라는 랭귀지를 사용하는데, 이것에서 엑셀로 데이터를 보내서
편리하고 다양한 그래프를 그리려고 하는데 그래프까지는 그려지는데 엑셀의
sheet까지 같이 나오는군요. 그래프만 나오게 할 수는 없는지요.

Visual Basic에서 이렇게 사용하는 예제가 있으면 참고가 되겠는데요…
가능하다면 예제 프로그램이 있으면 좀 가르쳐 주세요~

Exceller는 Visual FoxPro는 한번도 써보지 않았습니다만(아주 오래 전에 DOS에서 실행되는 그냥 FoxPro를 한번 구경한 적은 있습니다. ^^) Excel에서 그래프를 작성 하셨다면 이 그래프를 그림파일로 저장하신 다음, 이것을 폭스프로에서 불러와서 다른 작업을 하시면 될 것입니다.

예제 데이터

지점명판매금액
강동2000
강남1600
강북1730
부산1800
대구1400
대전1200
광주1900

버튼을 누르면 파일이름을 지정하기 위한 대화상자가 하나 나타나고 여기에다가 파일이름을 입력하고 "확인" 버튼을 누르면 "나의차트.gif"라는 그림파일이 생성될 것입니다. 이렇게 해서 생성된 그림 파일을 다른 응용프로그램에서 불러다가 사용을 하면 됩니다.

코드를 보도록 하지요.

코드 작성하기

Sub ExportChartToGIF()
    Dim cht As Chart
    Dim strFile As String
    Dim strType As String
    Dim strDupe As String
    Dim intAns As Integer

    Set cht = ActiveSheet.ChartObjects(1).Chart
    strFile = Application.GetSaveAsFilename(initialfilename:="나의차트", _
        filefilter:="GIF Files(*.gif),*.gif", _
        Title:="차트 이름을 지정하세요")
    '//strFile이라는 문자열 변수에 파일 이름을 담습니다. 이 때 대화상자를 사용자가 직접
    '//제작하는 것이 아니고(만약 이것을 만들어야 한다고 생각해 보세요!) 이미 만들어져
    '//있는 것을 그저 불러와서 사용하면 됩니다.

    '//그 역할을 담당하는 것이 바로 GetSaveAsFilename 메서드(Method)인 것이지요.
    '//initialfilename은 바꿀 파일이름을 지정하는 인수입니다. 그리고 filefilter는 필터형식, 즉
    '//어떤 형식의 파일로 저장할 것인지를 지정하는 인수입니다.

    If strFile = "False" Then GoTo ET
    If Dir(strFile) <> "" Then
        strDupe = "같은 이름의 파일이 이미 존재합니다." & vbCr
        strDupe = strDupe & "덮어쓸까요?"
        intAns = MsgBox(strDupe, vbYesNo, "중복 확인//Exceller")
        If intAns = vbNo Then Exit Sub
    End If

    cht.Export Filename:=strFile, filtername:="GIF"
    '//여기서 Export는 차트를 그림으로 내보내는 메서드입니다.

    MsgBox strFile & " 파일이 생성되었습니다.", vbInformation, "저장 완료//Exceller"

ET:
    If Err <> 0 Then MsgBox Err.Description, vbInformation, "에러 발생//Exceller"
    Err.Clear
    '//만약 작업 도중 에러가 발생되면 메시지 박스에 그 발생사유를 뿌려줍니다.

End Sub

마무리

이번 강좌에서는 GetSaveAsFilename, Export 등과 같이 새로운 메서드가 몇 개 사용되었습니다. 이들 메서드에 대한 보다 자세한 사항은 도움말을 참고하여 한번씩 살펴보시기 바랍니다. 새로운 메서드나 속성, 오브젝트 등이 나오면 항상 도움말을 찾아보는 습관을 들이시기 바랍니다.

다음 시간에는 오늘 배우신 것을 응용하여 보다 재미있는 것을 하나 만들어 보도록 하겠습니다. 대신 오늘은 짧게 여기까지 합니다.

다음 시간에…

정리 — 차트 내보내기 핵심

구분 사용한 코드 역할
차트 지정 ActiveSheet.ChartObjects(1).Chart 대상 차트
이름 입력 Application.GetSaveAsFilename 저장 대화상자
중복 확인 Dir(strFile) 기존 파일 검사
내보내기 cht.Export Filename, filtername GIF로 저장
오류 처리 Err.Description 오류 메시지 표시

자주 묻는 질문 (FAQ)

Q1. 차트를 다른 프로그램에서 쓰려면 어떻게 하나요?

차트를 그림 파일로 저장한 뒤 해당 프로그램에서 그림 파일을 불러오면 됩니다.

Q2. 저장 대화상자에서 취소하면 어떻게 되나요?

GetSaveAsFilename이 "False"를 반환하므로 오류 처리 부분으로 이동해 작업을 마칩니다.

Q3. 새로운 메서드는 어떻게 익히면 좋을까요?

새로운 메서드나 속성이 나오면 항상 도움말을 찾아보는 습관을 들이는 것이 좋습니다.

마치며

도움말을 찾아보는 습관이 VBA 실력을 키우는 가장 빠른 길입니다.