Excel에서 Python 스크립트 실행 (xlwings 사용)

소개



엑셀에 실행 버튼을 놓고 그것을 누르면 파이썬 코드를 실행하는 스크립트의 병아리 생성을 요약하고 싶습니다.
여기서는 xlwings quickstart를 사용합니다.

전제 환경



OS: macOS Catalina 10.15.3
python: Python 3.7.9 (Anaconda 4.8.3)
-> Anaconda를 공식 사이트

준비



1. 다음 명령을 실행하여 xlwings 추가 기능을 설치합니다.
*xlwings는 Excel에서 Python을 실행하는 모듈입니다.
$ xlwings addin install

성공하면 다음이 표시됩니다.
xlwings version: 0.20.7
Successfully installed the xlwings add-in! Please restart Excel.
Successfully enabled RunPython!

2. 추가 기능을 적응시키기 위해 도구 > Excel 추가 기능을 선택합니다.

나온 팝업에서 찾아보기를 누르고 xlwings.xlam을 찾아 선택 ->
파일 열기를 누릅니다. 유효한 추가 기능으로 Xlwings를 선택하면 OK입니다.



3. 모든 엑셀을 닫고 다시 대상 엑셀을 엽니다.
Excel 메뉴에서 xlwings가 증가하는지 확인합니다.


4. 프로젝트를 만들려는 디렉토리로 이동
5. 명령줄에서 다음을 수행합니다. 프로젝트 이름에는 만들려는 프로젝트의 이름을 지정해야 합니다.
$ xlwings quickstart {{プロジェクト名}}

6. 프로젝트가 생성되고 프로젝트 이름 .py와 프로젝트 이름 .xlsm이 생성되었는지 확인한다. 이번에는 알기 쉽게 "test_project"라는 프로젝트를 만들었습니다.
(여담입니다만, 프로젝트명을 "test"로 하면(자) 왠지 실행 버튼을 눌렀을 때에 잘 스크립트가 실행되지 않았습니다. 여기 에도 그러한 기재가 있었습니다.)



엑셀에 실행 버튼을 만들어 파이썬 스크립트 실행



1. VBE(Visual Basic Editor)를 엽니다. 단축키는 'Alt+F11'
다음과 같은 화면이 열리는 것을 확인한다.


2. Excel로 돌아가서 실행 버튼을 추가합니다.


그 때 팝업이 나오므로 그 팝업에서 연결하고 싶은 VBA 함수를 선택한다.
여기에서 SampleCall을 선택하고 매크로 이름 필드에도 반영되는지 확인한 다음 OK를 누릅니다.


이렇게 하면 버튼을 누르면 SampleCall이 실행됩니다.

3. 그런 다음 파이썬을 실행하기 위해 Anaconda 환경을 설정합니다.
엑셀 메뉴의 xlwings를 열고 Interpreter 열에

/Users/사용자 이름/opt/anaconda3/{Anaconda 환경 이름}/bin/python을 입력합니다.



PYTHONPATH는 실행할 때 자동으로 들어가므로 비어있는 상태에서 괜찮습니다.

4. 여기까지 준비가 완료됩니다. 버튼을 탭합니다.
A1에 Hello xlwings!라는 문자가 표시되면 파이썬 코드를 실행할 수 있었던 것입니다.


이제 엑셀에서 파이썬 코드를 실행하는 병아리가 만들어졌습니다!

좋은 웹페이지 즐겨찾기