엑셀 VBA 강좌(10): 엑셀 VBA로 개발하여 사용중인 도구

이번 글은 내가 직접 엑셀 VBA로 개발하여 사용중인 도구의 사례를 살펴본다.

이전 글에서 이어지는 내용이다.

엑셀 VBA 강좌(9): 엑셀 VBA How-To

5. 엑셀 VBA로 개발하여 사용중인 도구

5.1. 네이버 국어사전, 영어사전 검색 도구

네이버 국어사전과 영어사전을 검색하고 그 검색결과를 엑셀로 가져오는 자동화 도구이다. 데이터 표준화 작업 과정중 표준단어, 표준용어의 설명(정의)를 작성할 때 이 도구가 크게 도움이 될 수 있다. 

네이버 국어사전/영어사전 검색 도구 개요

네이버 국어사전, 영어사전 검색 도구 화면
네이버 국어사전, 영어사전 검색 도구 화면

5.2. 1차원 Bin Packing 알고리즘을 활용한 작업 배분 최적화 도구

1차원 Bin Packing 알고리즘인 Next Fit, First Fit, Worst Fit, Best Fit을 구현한 도구이다. 많은 작업 item을 최소의 작업그룹수와 최소의 실행시간을 목표로 최적화할 수 있는 방법을 제공한다. 데이터 전환(이행, Migration) 작업 실행, 배치 프로그램 스케줄링 등에 활용할 수 있다.

1차원 Bin Packing 알고리즘을 활용한 작업 배분 최적화 도구 설명글 전체 목차, 다운로드

1차원 Bin Packing 도구 화면
1차원 Bin Packing 도구 화면

5.3. 데이터 표준점검 도구

표준 단어, 표준 도메인, 표준 용어 사전을 구축하는 과정에 도움을 주는 도구이다. 표준 점검 -> 단어 추가 -> 표준 점검 -> 도메인 추가 -> 표준 점검 -> 용어 추가 -> 표준 점검 -> 단어 추가 … 과 같이 많은 양의 속성명에 대해 반복적으로 표준 점검을 실행할 때 생산성을 크게 높일 수 있다.

데이터 표준점검 도구 설명글 목차 , 다운로드

데이터 표준점검 도구 화면
데이터 표준점검 도구 화면

5.4. DA# Macro 도구

국산 데이터 모델링 도구인 DA# 활용도를 높여주는 Macro 도구이다. DA#은 ‘일괄편집’이라는 훌륭한 기능을 제공하고 있는데, 하나의 모델 단위로만 가능하다. 이 도구는 엔터티/속성 정보 가져오기(Get), 수정하기(Set), Reverse 기능을 한 번에 여러 모델에 대해 처리할 수 있도록 하였다.

DA# Macro 설명글 목차 , 다운로드

DA# Macro 도구 화면
DA# Macro 도구 화면

5.5. PowerDesigner Macro 도구

DA# Macro의 일부 기능을 가지고 있는 PowerDesigner Macro 도구이다. 이 도구를 만들 당시 사용했던 PowerDesigner v15.6에는 모델단위 ‘일괄편집’ 기능이 없었다.(지금은 사용하지 않아서 이 기능이 있는지는 확인할 수 없다)

‘일괄편집’ 기능을 엑셀 VBA로 만들어서 잘 사용했었고, 앞으로 또 필요한 경우 사용할 예정이다.

DA# Macro 공개 이후에 간략하게 포스팅할 생각이다.

5.6. 데이터 전환(이행, Migration) 도구

컬럼 매핑정의서로부터 전환/검증 프로그램(UNiX Shell)을 생성하는 도구이다. 데이터 전환 설계(매핑정의서)를 규칙에 맞게 작성하면 전환/검증 프로그램을 자동으로 생성하려는 목적으로 개발하였다.

2009년에 개발하여 그 당시 프로젝트를 포함한 이후 5개 고객사 프로젝트에서 직접 사용했다. 이 도구를 개발하는데 아이디어를 제공하거나, 필요한 기능을 직접 코딩하여 소스코드를 제공해 주는 참여자가 7명 정도였다. 그 참여자들중 일부는 이 도구를 각자의 용도에 맞게 변경하면서 지금까지도 계속 사용하고 있다고 들었다. 내가 직접 개발한 도구 중 이 도구가 만드는데 가장 많은 시간과 노력이 들었고, 만들면서 실시간으로 그 효과를 체감하여 스스로에게도 만족도가 높았던 도구이다.

이 도구는 문서화가 잘 되어 있지 않아서 소스코드를 다시 열어보고 개념 정리와 기능 설명등의 문서화 작업이 필요하다. 천천히 조금씩 작성하여 블로그에 포스팅하겠다.

5.7. Excel Data Downloader

데이터베이스에서 SQL Query를 실행하고 그 결과를 엑셀파일로 다운로드하는 도구이다. 여러 데이터베이스, 여러 SQL Query를 미리 정의해 두고 ‘Download’ 버튼을 클릭하면 차례로 데이터베이스에서 각 SQL Query를 실행하여 엑셀파일로 생성한다. 데이터베이스로부터 성능 정보를 수집할 때, 업무 데이터를 주기적으로 엑셀파일로 내려받고자 할 때 등의 용도로 활용한다.

이 도구도 조만간 블로그에 포스팅할 예정이다.

Excel Data Downloader
Excel Data Downloader

5.8. Excel Data Uploader

위의 ‘Excel Data Downloader’와 반대로, 엑셀파일을 데이터베이스에 업로드하는 도구이다. 초기 버전은 회사 후배가 만들었고, 내가 필요한 기능을 추가하여 사용하고 있다.

Excel Data Uploader
Excel Data Uploader

이번 글에서는 엑셀 VBA로 개발하여 사용중인 도구에 대해 살펴보았다. 모두 내가 프로젝트 현장에서 필요하여 직접 개발한 도구들이다. 데이터를 다루는 엔지니어, 데이터 아키텍트(Data Architect), DBA 등 여러 역할에게 조금이나마 도움이 되길 바란다.

이상으로 엑셀 VBA 강좌를 모두 마치고, 이후에는 VBA 코딩패턴 등에 대해 별도의 글로 포스팅하겠다.


<< 관련 글 목록 >>

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

ko_KR한국어