블로그 이미지
이비그치면

태그목록

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

calendar

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

단어장 웹사전(네이버 사전) 이용하여 만들기

2011. 12. 23. 18:01 | Posted by 이비그치면
단어장을  HTML 파일로  작성하는 엑셀 VBA 프로그램이다


앞서 만든 오프라인 단어장도 나름대로 괜찮긴 하지만 네이버사전을 이용한 단어장도
한단어에 대한 자세한 설명과 용례를 살필수있어서 유용한것 같다

HTML 파일의 읽기를 지원하는
아이패드의 굿리더(GoodReader)나 안드로이드 모바일 디바이스의 문리더(MoonReader)등을 이용하면 이동중이라도 자기가 작성하여 공부한/공부할 단어장을 볼수있어서 편리하다

네이버 사전 웹페이지를 가져오기 위하여
WinHttp를 사용했다
가져온  데이타(WinHttp.responseBody)의 한글 처리에 약간의 어려움이 있었다

웹페이지를 긁어오거나 가져와서 처리하실 분이나
웹사이트의 특정 게시물들을 스크랩해둘분들은 참조하시기 바란다

다음의 style 파일을 열어 C:\에 압축해제한다.
4개의 Style Sheet Document (CSS 파일이다)
HTML에 스타일을 적용하는 style sheet 문서이다


위의 엑셀파일을 열어 그림과 같이 단어를 입력한후 단어들을 반드시 영역선택한다 
단어장만들기 버튼을 클릭한다



단어장 만들기 버튼을 눌러서 실행이 안되고 에러가 나면  ALT+F11 혹은
엑셀 2007에서 리본메뉴의 개발도구 탭을 클릭하여 제일 좌측의 Visual Basic 클릭
VBA창을 열어  창이 열리면 도구-->참조 하여 아래처럼 된후
다음 참조를 찾아 체크하여 참조추가를 해주어야 한다

Microsoft HTML Object Library
Microsoft WinHTTP Services, version 5.1
Microsoft ActiveX Data Objects 2.5 Library
Microsoft VBScript Regular Expression 5.5



정상적으로 실행되면 C:\  에 다음파일이 생성된다
단어장_YYYYMMDD_HHMMSS.htm(예:단어장_20111228_140010.htm)
파일을 클릭하여 열면



  단어들을 표에 보관해서 나중에 참조하려면  표로 옮겨두기 버튼을 누른다


 

단어장 자동 작성
범위 지정 가능
사지선다 문제 출제(단어로, 뜻으로, 문제 랜덤순출제)가능
정답확인 및 오답 표시 기능
문제 프린트 가능
개인 DB 학습내용 기록
 
아래에 만든 단어장 프로그램에 테스트기능(사지선다형 문제출제)을 추가한 프로그램이다


파일을 다운받아 열면 



단어들을 입력후 위그림과같이 선택한 후 단어풀이 클릭



문제출제유형을 선택(단어 혹은 설명)---> 문제작성 클릭
Sheet2로 이동해서 보면 



다음과 같이 체크 후 


다시 Sheet1으로 가서 정답확인 클릭 


정답은 노란색으로  오답은 체크하는 칸에 빨간색으로 하이라이트된다

학습기록은 SQLite DB에 학습내용(단어,단어출처, 의미, 테스트일자, 정오답구분)을 기록한다







 

혹시 방문하는 분들중에 교회 방송실에서 섬기시는 분들이 있는지 모르겠다

요즘은 목사님의 설교중 인용하시는 성경말씀을 바로 PPT로 띄워주는 교회가 많이 있다
또 찾아보니 상용으로 만들어져 있는것도 같다

내가 다니는 교회 목사님은 설교중에 성경말씀을 많이 인용하시는 편이다
그래서 방송실에서 이 PPT를 사전에 미리 만들어 준비하는게 상당한 일이다

그래서 수고하시는 분들을 위해 작은 도움이나마 될까해서
엑셀을 활용해서 성경구절을 자동으로 찾고 이를 PPT로 만들어주는 엑셀 VBA 프로그램을
제작해보았다

프로그램은 공개하니 도움이 되었으면 한다

 

excel_bible.xlsm



프로그램 실행후에 파워포인트 출력은 아래그림과 같다


여러가지로 활용할수 있는 프로그램이니 VBA를 공부하시는 분들도 참조하시기 바란다
 프로그램에서 사용하는 성경DB는 

요즘 안드로이드 모바일기기에서 많이 사용되는 SQLite이다

성경 DB에는 현재 개역개정, NIV버젼이 들어가 있다

성경DB는 개인적으로 필요해 온라인성경등을 참조해 DB로 만들었지만 저작권문제때문에
블로그에 올리지 못함을 양해해주기 바란다

그러나 프로그램구동을 위해서는 반드시 필요한 부분이라서
요청을해주시면 보내드리려고 한다

 SQLite는 iphone 이나 android 같은 모바일 환경 뿐 아니라 데스크탑 운영체제의 응용프로그램에서도 많이 사용되는 파일기반 RDB다. 2000년에 Richard Hipp 박사에 의해 개발된 무료 DB엔진이다. 복수의 사용자를 지원하지 않는 대신 C언어로 작성되어서 속도가 빠르다. 
 

그래서 프로그램실행을 위해서 먼저 SQLite를 설치하여야 한다
 
설치는 별도의 설치과정이 없이 다운받은 파일들을 적당한 폴더로 압축해제만 해놓으면 된다 

--- 먼저 아래의 주소에서 다운로드 

www.sqlite.org

Download로 들어가  
 Precompiled Binaries For Windows 에 있는 3개의 zip 파일을
다운받아 c:\sqlite3 폴더에 압축해제한다 

  --- PATH 설정
Windows 7 에서
    시작 -> 제어판 -> 시스템및보안 -> 시스템 -> 고급시스템설정 -> 환경변수
     
 

XP에서
     시작 -> 제어판 -> 시스템 -> 고급 -> 환경변수 

     시스템변수의 Path 항목을 선택후 편집버튼을 누르고  오른쪽끝에
      ;c:\sqlite3  추가 

 -- 엑셀에서 ODBC 로 DB 접속하기 위해 sqlite odbc 드라이버 설치
      http://www.ch-werner.de/sqliteodbc/  
     위 사이트에 접속하여 sqliteodbc.exe 다운로드후 실행하여 설치

-- 사용할 DB 와의 연결을 위한 설정
 Windows 7 : 시작->제어판->시스템및보안->관리도구->데이타원본(ODBC)
 
XP              : 시작->제어판->관리도구->데이터 원본(ODBC)


추가 버튼을 누르면 아래의 화면


**
SQLite3 ODBC Driver 선택,  마침 버튼 누르면


위와 같이 입력하고 OK 버튼 누르면


녹색으로 보이면 정상적으로 ODBC 연결이 된것이다

이제 엑셀 VBA 프로그램을 돌리기위한 준비는 다됐다

첨부한 엑셀파일을 더블클릭하면 아래의 그림으로 나온다


 



각자 원하는 성경, 장, 절을 입력하고 아래그림과 같이 범위를 지정한다




  
그리고 원하는 버튼을 선택해 실행하면 된다

엑셀의 경우 Sheet2에 찾은 성경구절이 있고
PPT의 경우 바로 파워포인트로 결과가 디스플레이되고
워드의 경우  C:\MyNewWordDoc이란 파일에 성경구절이 있다


엑셀 영어 단어장 자동으로 만들기

2011. 12. 20. 15:53 | Posted by 이비그치면
영어단어만 list해놓고 실행하면 사전 데이타를 읽어서

단어장을 자동으로 완성해주는 프로그램이다

사전 데이타가 좀 허접(?)하긴 하지만 맘에 안들면 직접 수정해 고칠 수도 있고

단어를 추가할수도 있어 나름 편리한 사전 데이타이다



압축을 풀어
c:\dictdata 폴더밑에 a에서 z까지의 파일이 있음을 확인한다

아래의 엑셀파일을 다운로드하여 열면(보안경고가 나오면 이콘텐츠사용 표시후 확인)




아래처럼 단어를 반드시 지정후 단어뜻가져오기 버튼을 누른다


버튼을 누른후의 결과이다


위의 실행에서 에러가 나는 경우 추가로 해야 할 작업이 있다

 
개발도구의 제일좌측의 Visual Basic 클릭

창이 열리면 도구--> 참조 하여 아래처럼 된후
녹색으로 된 두개의 참조를 찾아 체크해주고 확인
다시 원화면으로 가서 단어지정후 단어뜻가져오기 버튼을 누른다



간단한 숫자 채우기지만 그렇게 간단하지만은 않은 프로그램입니다


위와 같이 임의의 사각형에 숫자를 채우는 것입니다
주어진 폭과 높이의 사각형이 주어지면 숫자를 증가시켜가며 셀에 숫자를 채우고
끝에 도달하면 방향을 바꾸어 숫자를 채우면 됩니다

사람이 하면 너무나 쉬운데 코딩을 해보면 쉽지만은 않습니다 

사람이 문제를 해결하듯 프로그램을 해나가는 거를 보여주는 아주 간단한 프로그램 사례입니다

각자 한번 해를 생각해보시고 저의 답을 봐주세요



위의 프로그램에 약간 살을 더한 프로그램이다

소스를 첨부하니 각자에게 맞추어 변경하여 사용하시기 바란다


각종기념일, 휴일, 음력날짜 표시(가족음력생일및 음력휴일 표시)가 되어있는 달력이다
일년 전체 그리고 낱장으로 된 월 달력이 포함되어 있다 

가족기념일은 이름과 월일을 바꿔서 입력하고
휴일같은게  변경되는 부분은  변경해넣어야 된다

아래가 2012년 캘린더이다
기념일은 녹색으로 칠해진 셀로 구분되어있다

 

 

달력과 관련한 로직(윤년 체크등등)이 없이  엑셀의 날짜관련 함수만을 이용해 만든
간단한 달력 만드는 프로그램이다

소스를 첨부하니 관심있으신 분은 참고하시기 바란다



실행버튼 좌측 셀에 연도를 입력하고 엔터후 실행버튼을 누른다

아래가 실행후의 그림이다


 

엑셀 VBA(EXCEL VBA)로 만든 사다리 타기

2011. 12. 16. 18:08 | Posted by 이비그치면
소스파일을 첨부한다 
VBA 프로그래밍에 관심있는 분은 참조하시길 바란다

 
  몇십라인밖에 되지 않는 간단한 소스이고 설명을 붙여놓아서

이해하기에는 그렇게 어렵지 않은 VBA 프로그램이다

사용방법 

다운받은 소스를 클릭하여 열면 보안경고가 뜨는데 옵션을 누르고

"이콘텐츠 사용"  선택하고 확인 버튼 누른후 Sheet2로 이동

참가요원옆의 셀에 참가인원수를 입력하고 엔터후

만들기 버튼을 누르면 인원수만큼 그려진다

사다리 상단에 옵션버튼이 있는데 선택을 하고

Go! 버튼을 누르면 된다

아래가 실행후의 그림이다



 

파일확장자가 chm인 파일이 있다
chm은 Microsoft Compiled HTML Help의 두문자인데
말그대로 HTML문서를 모아서(compile해서) 하나의 실행파일처럼 만든것이다
주로 MS의 도움말이나 레퍼런스문서에서 많이 사용되며
이를 이용한 문서들이 심심찮게 많이 보인다
윈도우에서 위의 확장자를 가진 파일을 클릭하면 아래와 같은 모양으로 실행된다


만드는 방법은 MS에서 제공하는 
Microsoft HTML Help Workshop을 이용하는 방법과
다른 유틸리티 프로그램들을 이용할수도 있다 


아이패드(iPad)에서 문서를 보는 앱으로  주로 굿리더(GoodReader)를 사용하는데 여러 문서포맷을 지원하기(PDF, DOC, TXT등) 때문이다
그런데 CHM문서는 지원을 하지않아 여기저기 찾아보고 시험해보니
CHMate란 앱이 그 중 나은거같아 소개한다 
아래는 제작사  홈페이지의 내용이다
 
  • Reflowing text for good reading experience
  • Customizable text formatting
    • Font family and size for heading, body and code
    • Line height
    • Hyphenation for latin languages
    • Adjustable brightness for page (iPad only)
    • Dark theme included
  • Reading by tapping (iPhone and iPod touch only), also can scrolling depending on your favor
  • Find text in page (hyphenation disabled required)
  • Bookmark, Google, Wikipedia or mail selected text
  • Built-in image browser, you can save image to your album, or send image via email
  • Built-in browser for visiting external links
  • Table of contents and indexes if available
  • Search in Library, table of contents and bookmarks
  • Customizable Text encoding if auto detecting failed
  • File management with WiFi connection and iTunes File Sharing (iOS 3.2+ Required) 

  • 위의 CHMate를 사용하여 내가 만든 몇개의 CHM문서들(신문연재칼럼)을 보니 참 좋다
    목차와 내용의 한글도 문제없이 잘 나온다



    아이패드가 책읽기나 이런 단편칼럼이나 기사들을 읽기엔 제격인거 같다
    글씨도 확대해서 볼 수 있고 문서추가방법도 어렵지 않다

    Excel2007 테이블(Table,표)에서 행(row) 추가

    2011. 11. 22. 18:40 | Posted by 이비그치면
    엑셀2007의 새롭게 향상된 표기능중 요약행, 계산된 열기능등을 이용하면 행이 추가되거나 할 때 별도로 수식행을 복사하거나 채우기 할 필요가 없다

    다음은 VBA를 이용하여 테이블에  행을 추가하고 추가된 row의 특정셀에 값을 넣는 방법이다

    Sub test()
    Dim oNewRow as ListRow
    Set  oNewRow =Activesheet.ListObjects("표1").ListRows.Add(AlwaysInsert:=True)
    oNewRow.Range.Cells(1,1).Value = "777" 
    End Sub