무료소프트웨어사용기

무료 엑셀 프로그램 에서 (vba) 매크로를 설정하는 방법 Feat. LibreOffice 본문

카테고리 없음

무료 엑셀 프로그램 에서 (vba) 매크로를 설정하는 방법 Feat. LibreOffice

프리개발자 2024. 1. 24. 09:00

안녕하세요~ 무료로 사용할 수 있는 대체 프로그램을 소개하는 블로거 프리개발자 입니다.

이번 글에서는 ms 오피스를 사용하지 못하시는 분 들을 위한 리브레 오피스 Calc 에서 엑셀 처럼 vba 매크로를 설정하는 방법에 대해 알려드리겠습니다.

 

 

리브레 오피스 설치하기 

이전 글에서 ms 오피스 엑셀을 대체할 무료 프로그램 리브레 오피스에 대해 소개해 드린적이 있습니다. 만약 이 글이 처음이시라면 설치와 관련해서 아래 링크를 참조해 주세요. 

 

2024.01.14 - [분류 전체보기] - 마이크로소프트 오피스 대신 호환 가능한 무료 리브레 오피스 추천

 

마이크로소프트 오피스 대신 호환 가능한 무료 리브레 오피스 추천

안녕하세요~ 컴퓨터 초보들이 잘 알지 못하는 무료 프로그램을 소개하는 블로그 입니다. 이번 글에서는 많은 사람들이 불법으로 사용하고 있는 마이크로 소프트 오피스 대신, 호환 가능하고 평

freesoftlicense.kr

 

 

vba 스크립트

VBA란 Visual Basic for Application의 약자로 마이크로소프트 에서 윈도우 응용 프로그램 안에서 사용하라고 개발된 프로그래밍 언어입니다. 웹 / 앱 개발자로서, 비주얼 베이직으로 만들어져 있는 프로그램을 유지보수 하는 것이 아니면 최근에는 잘 사용되지 않지만 여전히 회사에서 내용을 기록할 때 자주 쓰이는 것으로 알고 있습니다.

 

마이크로소프트 엑셀에서 vba 언어를 지원하듯이, 모든 사람들에게 무료로 오픈 되어 있는 리브레 오피스에도 똑같은 방식으로 프로그래밍이 가능합니다.

 

리브레 오피스에서 vba 스크립트를 사용하는 방법

1. 리브레 오피스 Calc 를 실행해 주세요. 이 프로그램에서는 엑셀이라는 이름을 쓰지 않고 Calc(칼크? 컬크?) 라는 이름으로 불리고 있습니다.

 

2. 우선 사용할 엑셀 파일을 .xlsx 로 다른 이름 저장해 주세요. 기본은 .ods 로 되어 있습니다.

 

 

3. 상단 메뉴에서 도구 -> 매크로 -> Edit Macros 를 클릭합니다. 

 

*최신버전의 리브레 오피스에서는 vba 코드 지원이 기본으로 나와 있다고 공식 홈페이지에 서술 되어 있습니다. 하지만 연전히 WorkSheets 나 Range 같은 몇몇 코드는 작동을 안하기 때문에 가능하면 Option VBASupport 1 를 추가하시는 것을 추천드립니다.

 

4. 그러면 ms 오피스의 엑셀과 굉장히 닮은 창이 등장합니다. 테스트 삼아 여기서 기본 코드를 입력해 보겠습니다.

 

5. 표시된 부분에 있는 ① 매크로 선택을 클릭하여 기본 매크로 창을 열어주신 뒤, 아직은 저장하지 않은 ② 제목 없음 1 을 선택하고 Standard 폴더를 선택한 뒤, ③ 새로 만들기를 눌러주세요.

 

6. 이름은 적당하게 "Module1" 이라고 설정합니다. 그런 다음 표시된 부분에 다음과 같은 명령어를 입력해 주세요.

Option VBASupport 1
Sub Main
  MsgBox "리브레 오피스에서 vba 테스트", vbInformation, "알림"
End Sub

 

7. 그런 다음 창을 닫고 (별도의 저장은 필요 없습니다.) 도구 -> 사용자 정의 에서 만든 매크로를 단축키로 설정합니다.

 

8. 사용자 정의 창에서 키보드 탭에 들어간 뒤, 우측에서 Calc 로 설정되어 있는 것을 확인하고 스크롤을 내린 뒤 비어 있는 Alt + 1 번에 매크로를 지정하기로 하였습니다.

 

9. 카테고리에서 LibreOffice 매크로안에 만들었던 함수를 선택하신 뒤, 다시 Alt + 1 글자 부분을 클릭하시면 우측의 수정버튼이 활성화 됩니다. 수정 버튼이 활성화가 안된다면 밑에 있는 것과 번갈아 가며 선택해 보세요. 

 10. 아래와 같이 설정 된 것을 확인하시고 OK 를 눌러 창을 빠져나오면 단축키 설정 까지 끝 입니다.

 

11. 이제 창에서 Alt + 1 키를 눌러보면 의도한 대로 알림창이 등장하는 모습을 보실 수 가 있게 됩니다.

 

비주얼 베이직에서  MsgBox 는 이렇게 알림창을 표시하는 코드 입니다. 기억해두시면 스크립트 작동 여부를 체크할 때 유용합니다.

 

조금 더 어려운 vba 매크로 샘플 코드

이번에는 반복문과 시트에 값을 입력하는 코드를 사용해 매크로를 실행해 보았습니다.

 

Sub Macro1()
    Dim i As Integer
    ' A1부터 A10까지의 셀에 각각 1부터 10까지의 숫자를 입력
    For i = 1 To 10
        Cells(i, 1).Value = "리브레오피스 셀" & i
    Next i
End Sub

 

1. i 를 숫자로 선언

2. 1 부터 10 까지 총 10번을 반복하며 i 에 1,2,3,4,5..... 를 하나씩 넣습니다.

3. 열 값 1 번, 행값 1번 에 리브레 오피스 셀 1 이라는 단어를 넣습니다.

4. i를 2로 만들어 열 값 2번 , 행값 1번에  리브레 오피스 셀 2 라는 단어를 넣습니다.

 

 

이렇게 반복문 또한 적용이 되는 모습을 보실 수 있습니다. 이 매크로도 위에서 알려 드린 것 처럼 단축키에 등록해 보세요. 결과물은 아래 이미지와 같습니다.

 

완료되셨으면 엑셀 파일을 2번에서 저장한 형식 그대로 저장해 주세요. 만약 ods -> xlsx 나 xlsx -> ods 와 같이 변환을 하게 되면 코드를 다시 옮겨야 하는 번거로움이 생깁니다!

 

 

결론

간단하게 리브레 오피스에서 엑셀 매크로를 사용해 보았습니다. 원래 리브레 오피스는 vba 코드가 아닌 Basic 이라는 비슷하면서도 어려운 코드를 지원했었는데 만약 리브레 오피스를 사내에서 주로 사용하고 새로 문서를 만들어야 한다면 Basic 이라는 코드를 배우시는 것이 좋을 것 같습니다. 

 

하지만 그런 경우는 소수 이므로 이 글에서 알려 드린 것 처럼 처음 부터 엑셀 확장자로 (.xlsx) 저장하고 vba 코드를 사용하시면 될 것 같습니다. 긴 글을 읽어 주셔서 감사하고 도움이 되셨으면 합니다!