Visual Basic for Application


  • 동명의 약칭을 갖고 있는 GBA 에뮬레이터를 찾아왔다면 VisualBoyAdvance 항목을 참고.

1 개요

Microsoft Office에 내장되어 있는 프로그래밍 언어다. 주 용도는 매크로를 돌리고 사용자 정의함수를 사용하는 것. 약칭은 VBA이다. 마이크로소프트의 비주얼 베이직 6.0에서 시작된 언어로, 문법이 같다는 것을 보면 쉽게 알 수 있다. 6.0에서 만들어졌기 때문에 비주얼 베이직 .NET은 호환되지 않는다.

2 사용 프로그램

주로 MS 엑셀에서 많이 사용되기 때문에 엑셀 전용으로 오해를 많이 받는다. 하지만 액세스, 워드 등의 응용 프로그램에서도 사용할 수 있다. 이런 인식은 워드와 파워포인트는 애초에 매크로 등을 활용하기 위해서 VBA를 쓸 일이 별로 없고, 액세스는 기본적으로 DB를 위해서 태어난 만큼 그 기능이 강력하기 때문이다. 게다가 액세스를 쓰는 사람이 별로 없는 것도 한 몫을 한다. 그래도 파워포인트는 간혹 사용하기도 하는데, 그 용도는 바로 게임 제작용(...). 기본적으로는 매크로를 위해서 만들었지만, 그 기능이 워낙 강력하고 통합 개발을 할 수 있도록 하여 UI도 만들 정도로 강력하기 때문에 가능한 일이다.

2.1 Microsoft Excel

엑셀은 분명 문서작성용이지만, 한국에서는 다양한 일로 굴려지고 있다. 특히, 쓰라는 액세스는 안 쓰고 엑셀로 데이터베이스를 관리하는 경우가 왕왕 있는데 VBA는 이런 일을 가능하게 하도록 돕는 역할을 한다. 혹은 수식을 사용해서 해결하기 어려운 문제를 한 번에 해결해주는 해결사 역할을 맡기도 한다.

2.2 Microsoft PowerPoint

파워포인트로 게임을 만들때 사용된다. 자세한것은 파워포인트 아트 항목 참조.

3 문제점

앞서 말한 '매크로용이라고 보기 힘들 정도의 강력함'으로 인한 문제 또한 있다. 흔히 매크로 바이러스라고 부르는 존재가 바로 VBA로 만든 바이러스이다. VBA를 구동하기 위해서 윈도의 다양한 라이브러리를 참조할 수 있게 해놨기 때문에 역으로 보안성이 취약해진 것이다. 덕분에 최신 MS 오피스로 넘어올수록 점차 VBA가 자동으로 돌아가는 것을 막기 위해서 봉인하고 있다. 2003 버전은 기본 설정을 비활성화로 해두어 별도로 실행하게 하였고, 2007부터는 포맷을 대격변하면서 VBA를 별도의 파일로 분리시켜놓았다.