※ 버전 0.7 업데이트
- 인쇄시에 나타나는 오류를 해결하였습니다. (2010. 4. 19)

※ 버전 0.6 업데이트
- 인쇄시에 나타나는 오류를 해결하였습니다. (2010. 4. 12, v0.6)

학기 초에 학급 임원과 학생회 임원을 선출하고 나면 학생부 선생님들은 수많은 임명장을 인쇄하셔야 합니다. 임명장 대장을 등록하고, 임명장 양식 파일에 한글의 메일머지 기능을 사용해서 인쇄하는 번거로움을 덜고자 이렇게 임명장자동화 v0.5를 제작하게 되었습니다. 나중에 상장자동화도 공개하도록 하겠습니다.

사용법은 간단합니다. 엑셀 통합문서(.xls)를 열어서 "시작" 시트에 있는 간단한 내용(교명과 교장 선생님 성함)을 수정하시고 "대장" 시트를 관리하시면 됩니다. 자세한 내용은 파일 내부에 설명해 두었습니다.

이용 중 문의사항은 이 게시물에 댓글로 남겨주시면 빠른 시일 내에 답변을 드리도록 하겠습니다.


 

 

,

학생들의 체계적인 생활지도를 위해 저희 학교에서는 제가 개발한 생활지도 프로그램을 사용하고 있습니다. 사실 프로그램이라고 이름 붙이기에는 엑셀 VBA 코드 몇 줄 쓴 것 뿐이지만 그래도 선생님들이 검색을 통해 들어오실 확률을 높이고자 프로그램이라 이름 붙였습니다.

아무튼 그 프로그램을 다른 학교에서 사용을 원한다는 소식을 접하고 이번 기회에 범용으로 사용할 수 있도록 제작을 해보았습니다. 아직 오류에 대한 검증이 완전하지 않아 오늘 당장은 배포할 수 없지만, 우선 그 프로그램의 일부인 '명렬합치기'를 소개드리고자 합니다. 명렬합치기는 각 학급의 명렬을 하나의 엑셀시트에 담아주는 간단한 프로그램입니다.

명렬합치기 v0.1의 시작화면

프로그램의 설치와 실행은 매우 간단합니다. 단지 이 기사에 첨부된 엑셀 파일을 열기만 하면 되지요. 하지만 VBA 코드가 포함되어 있으므로 사전에 매크로 보안을 설정하신 후 사용하셔야 합니다. 매크로를 포함해서 열어야 제대로 작동합니다.

매크로 보안 설정

이 엑셀 파일에는 VBA 코드가 포함되어 있습니다. 엑셀 메뉴의 도구(T) - 옵션(O)에서 '보안'탭으로 가셔서 매크로 보안 수준을 '보통' 또는 '낮음'으로 변경하신 후 파일을 열어주셔야 합니다. 파일을 열 때 보안 경고 메세지가 뜨면 '매크로 포함'을 선택하셔야 정상적으로 작동합니다.

실행시 주의사항

  1. 각 학급의 명렬은 이름의 형식이 같아야 합니다. 예를 들어 1학년 1반의 명렬이 '1-1.xls'라면 1학년 2반의 명렬은 '1-2.xls'이어야 합니다. 지원하는 형식은 '1-1.xls' 스타일, '1-01.xls' 스타일, 그리고 '1학년1반'스타일입니다.
  2. 각 학급의 명렬은 같은 폴더에 있어야 하며, 그 폴더의 경로를 프로그램 설정 부분에 써주셔야 합니다.
  3. 각 학급의 명렬은 세로로 작성되어 있어야 하며, 반드시 '번호'라는 내용을 가진 셀이 있어야 합니다.

내려받기

프로그램을 내려받고자 하시면 다음의 연결고리를 따라가십시오.

 

사용 중에 문제가 생기면 이 기사의 댓글로 남겨주시기 바랍니다.

 

,

웹에서 자료를 긁어 와서 작업하는 경우, 아래아한글과 같은 문서 작성용 프로그램을 사용하는 일이 많습니다. 엑셀에서 편집하는 경우는 드물죠. 하지만 저는 엑셀에서 편집하는 일이 종종 있습니다. 이유는 VBA 때문이지요.

처음으로 쓰게 되는 VBA 강좌입니다. 엑셀로 만든 테트리스를 소개하면서 VBA의 무한한 가능성을 살짝 언급해 드렸었는데, 이번에는 직접 VBA 프로그래밍을 보여드리겠습니다. 물론 처음이니까 아주 간단한 코드를 작성할 것입니다. 이 연습은 CNN 6월 16일자 기사인 7 killed in attack in Tehran; Moussavi vows to 'pay any cost'로 하겠습니다.

클릭하시면 기사 원문으로 이동합니다.

텍스트만 필요한 경우에도 웹에서 자료를 긁어 오면 자연스레 그림까지 딸려 옵니다.

크고 작은 이미지들이 워크시트 위의 개체로 존재합니다.

여기까지 작업한 파일은 다음의 연결고리를 통해 내려받기가 가능합니다.

 

작업 절차

우리의 이미지 개체 지우기 작업은 다음과 같은 절차를 따를 것입니다.

  1. VBA 실행
    엑셀에서 Alt+F11을 누르거나, 도구(T) - 매크로(M) - Visual Basic Editor(V)를 선택하여 VBA를 실행합니다.

  2. 새로운 모듈의 추가
    VBA 좌측의 프로젝트 탐색기에 오른쪽 클릭 후, 삽입(N) - 모듈(M)을 선택하여 새로운 모듈을 만듭니다.

  3. 코드 작성
    편집 공간에 다음과 같은 코드를 작성합니다.
    Sub DELETE_IMAGES()
    For Each MY_IMG In ActiveSheet.Shapes
        MY_IMG.Delete
    Next MY_IMG
    MsgBox "모든 이미지를 삭제하였습니다."
    End Sub


  4. 프로시저 실행
    엑셀로 돌아와서 Alt+F8을 누르거나, 도구(T) - 매크로(M) - 매크로(M)를 선택한 다음 방금 작성한 DELETE_IMAGES를 실행합니다.

완성된 파일 내려받기

다음의 연결고리에서 코딩이 완성된 파일을 내려받아 직접 실행해 보세요.


코드 분석

그러면 어째서 이런 작업이 가능한지 우리가 작성한 코드를 한 줄씩 분석합니다.

  • Sub DELETE_IMAGES()
    모든 프로시저(한 번에 실행되는 작업의 단위)는 'Sub 프로시저명()'의 형식으로 시작합니다. 여기에서 실행이 시작되면 'End Sub'까지 달려갑니다.

  • For Each MY_IMG In ActiveSheet.Shapes
    For Each 문은 'For Each 변수이름 In 영역'의 형식으로 사용하며, 'Next 변수이름'을 만날 때까지의 명령어들을 반복적으로 실행합니다. 이 때 MY_IMG라는 변수는 ActiveSheet(현재 시트)의 Shapes(모양 개체들)이라는 영역에 있는 모든 개체에 하나씩 대응됩니다. 현재 시트에 모양 개체가 10개라면, For ~ Next 사이의 명령들이 10회 실행됩니다. 물론 실행될 때마다 MY_IMG가 참조하는 대상 개체는 다릅니다.

  • MY_IMG.Delete
    현재 작업중인 이미지 개체(MY_IMG)를 삭제하는 명령입니다.

  • Next MY_IMG
    다음의 이미지 개체(MY_IMG)로 넘어 갑니다.

  • MsgBox "모든 이미지를 삭제하였습니다."
    모든 이미지 개체를 삭제한 후에 메세지를 띄웁니다. 메세지를 띄우려면 'MsgBox "메세지 내용"'의 형식으로 코딩합니다.

  • End Sub
    현재 프로시저는 여기에서 종료됩니다.

엑셀과 VBA를 사용하면 반복 작업을 간단하게 처리할 수 있습니다. 반복적인 일들은 엑셀과 VBA로 자동화해서 처리하면 여러분의 퇴근 시간이 앞당겨집니다.

,

엑셀과 VBA의 무한한 가능성에 관한 글을 쓴 바 있습니다. 그 글에서 제가 대부분의 단순 반복 업무를 엑셀을 통해 자동화해서 처리한다고 했는데요, 지금 소개하려는 이것이 그 중의 하나입니다.

"써야지, 써야지" 하면서 늘 "다음에, 다음에"가 되고 마는 상담기록부. 손으로 다 쓰려고 하니 엄두가 나지 않습니다. 게다가 저는 글씨를 꾹꾹 눌러서 쓰는 버릇이 있어서 글씨를 조금만 써도 손이 아픕니다. 이것도 일요일마다 하는 야구 탓인지도 모르겠습니다. 아무튼 오늘 동료 선생님 한 분께서 상담 내용을 아래아한글로 입력하고 계시는 모습을 보고 솔루션을 하나 제작해야겠다고 마음 먹고 오늘 이 놈을 만들게 되었습니다. 내일 출근해서는 이 놈으로 지금껏 밀린 상담기록부를 말끔하게 정리해야겠습니다.

클릭하면 이미지가 확대됩니다.

위의 스크린샷과 같은 모습을 한 이 자동화 솔루션의 특징은 다음과 같습니다.

1. 간단한 초기 설정

다운로드 받은 뒤 "초기화" 버튼을 누르고 "학생명렬"시트로 이동하여 학생의 이름만 번호대로 입력하면 즉시 사용할 수 있습니다.

 

2. 편리한 기록 입출력 및 수정

노란색 셀에 상담 일자와 상담 내용을 입력하고 저장하고 나면, 언제든지 누적된 기록을 쉽게 불러올 수 있고, 또 그 기록을 수정할 수 있습니다.

 

3. 간편한 인쇄

"기록 인쇄"버튼을 통해 상담 내용을 프린터로 출력할 수 있습니다.

내려받기를 원하시면 아래의 내용을 참고하십시오.

내려받기 전 주의사항
이 엑셀 파일에는 VBA 코드가 포함되어 있습니다. 엑셀 메뉴의 도구(T) - 옵션(O)에서 '보안'탭으로 가셔서 매크로 보안 수준을 '보통' 또는 '낮음'으로 변경하신 후 파일을 열어주셔야 합니다. 파일을 열 때 보안 경고 메세지가 뜨면 '매크로 포함'을 선택하셔야 정상적으로 작동합니다.

학생생활상담기록부 v1.0 내려받기

대단할 것 없는 자료이지만 혼자 쓰기에는 아까운 느낌이 들어 블로그에 올려둡니다. 프로그램이라 이름붙이기 부끄럽지만 이 프로그램은 누가 언제 어디에서 사용하건 아무런 대가를 필요로 하지 않는 프리웨어(freeware)입니다. 이용 중 문제가 발생하면 이 글 아래에 댓글로 남겨주십시오.

,