# 콘다를 사용하는 경우
# 아나콘다 프롬프트에서 애드인 설치하기
!xlwings addin install
xlwings version: 0.24.9 Successfully installed the xlwings add-in! Please restart Excel. Successfully enabled RunPython!
# 설치
# 애드인의 상태 보기
# 버전, xlwings.xlam 파일이 있는 위치 (XLSTART 디렉터리), 애드인의 설치 여부
!xlwings addin status
10.1.3 Run main¶
xw.Book.caller()
- 엑셀에서 Run main 버튼을 눌렀을 때 활성화된 엑셀 워크북을 참조하는 엑셀윙스 book 객체
10.1.4 RunPython 함수¶
VBA의 RunPython 함수로 파이썬 스크립트를 매크로로 불러서 실행할 수 있다.
option + F11
- VBA 에디터를 열기
option + F8
- 매크로 메뉴를 열기
스크립트 파일의 이름과 함수를 바꾸면, VBA 에디터에서 적절한 함수 이름으로 바꾸면 실행할 수 있다.
같은 경로에 없으면 xlwings addin의 PYTHONPATH
에 스크립트 파일이 위치한 경로로 작성해 넣어주면 실행할 수 있다.
quickstart 명령어를 쓰지 않는 RunPython¶
기존 워크북에서 RunPython 함수를 사용하려면?
1) 일단 xlsm, xlsb 확장자로 저장 2) VBA 모듈을 추가 - VBAProject - 삽입 - 모듈 3) 엑셀윙스 참조를 추가
10.2 배포¶
10.2.1 파이썬¶
반드시 파이썬이 설치되어 있어야 한다.
- 특정 버전의 아나콘다를 깔도록 안내
- 공유 드라이브에 파이썬을 설치
- 고정된 실행 파일 - PyInstaller https://oreil.ly/AnYlV: 프로그램에 필요한 패키지만 골라서 파일 하나로 묶기 때문에 배포가 쉽다.
10.2.2 독립 워크북: 엑셀윙스 애드인 제거¶
엑셀윙스의 실행에 애드인이 필수는 아니다.
애드인의 VBA 코드를 포함한 워크북 (독립 워크북)으로 만들어 배포하자.
xlwings quickstart second_project --standalone
이 때, 독립 워크북에서는 엑셀윙스를 참조하게 만들면 안된다.
VBA 에디터에서 엑셀윙스 참조를 제거하는 것을 잊지 말자.
10.2.3 설정 계층 구조¶
워크북 설정¶
가장 먼저 xlwings.conf 시트를 찾는다.
quickstart 명령어를 사용하면 _xlwings.conf
시트가 만들어지는데, 이 시트를 사용해 워크북 설정을 저장하려면 앞에 밑줄을 지우고 저장하자.
디렉터리 설정¶
엑셀 워크북과 같은 디렉터리에서 xlwings.conf 파일을 찾음
사용자 설정¶
앞에서 못 찾으면 사용자 홈 디렉터리에서 찾음
못 찾으면 기본값을 사용
Refer: 설정을 바꾸고 싶으면 설정 목록 참조 https://oreil.ly/U9JTY
10.2.4 세팅¶
파이썬 인터프리터¶
아나콘다의 기본 설치 경로라고 생각하자
PYTHONPATH¶
파이썬 소스 파일을 전용 폴더에 저장하고 이 폴더를 세팅에 추가할 수 있다.
혹은 패키지를 만들어 배포하자 https://oreil.ly/_kJoj
RunPython: UDF 서버 사용 (윈도우 전용)¶
엑셀윙스가 코드 실행을 위해 파이썬 인터프리터를 시작하고, 코드를 실행, 인터프리터를 다시 닫음으로 느려지게 된다.
안정화되면 Use UDF Server
체크 박스를 활성화해 보자 (윈도우 전용)
10.3 요약¶
애드인을 설치하고 첫 프로젝트를 간단히 만들어 보았다.
배포는 어떻게 할 지도 고민해 보았다.
'Prev Contents > Automation tools' 카테고리의 다른 글
[엑셀이 편해지는 파이썬] 12장. 사용자 정의 함수 (327~359p) (0) | 2022.08.22 |
---|---|
[엑셀이 편해지는 파이썬] 11장. 파이썬 패키지 추적기 (293~326p) (0) | 2022.08.21 |
[엑셀이 편해지는 파이썬] 9장. 엑셀 자동화 (245~275p) (0) | 2022.08.20 |
[엑셀이 편해지는 파이썬] 8장. 판다스를 사용한 엑셀 파일 조작 (211~242p) (0) | 2022.08.20 |
[엑셀이 편해지는 파이썬] 7장. 판다스를 사용한 엑셀 파일 조작 (197~210p) (0) | 2022.08.19 |