xlwings RuntimeError: Excel instance is already running 오류 해결하기
소개
xlwings를 사용하다가 'RuntimeError: Excel instance is already running' 오류가 발생하는 경우는 꽤 흔한 일입니다. 이 오류 메시지는 Excel 인스턴스가 이미 실행되고 있어서 xlwings가 새로운 인스턴스를 만들 수 없다는 것을 의미합니다. 이 블로그 글에서는 이 오류의 원인과 해결 방법에 대해 알아보겠습니다.
에러 발생 예시 코드
아래는 'RuntimeError: Excel instance is already running' 에러가 발생할 수 있는 간단한 예시 코드입니다.
import xlwings as xw
# 이미 실행 중인 Excel 인스턴스에 연결 시도
app = xw.App(visible=True)
wb = app.books.add()
에러 해결 방법
1. 이미 실행 중인 Excel 인스턴스 사용하기
Excel 인스턴스가 이미 실행 중이라면, 그 인스턴스를 활용하여 작업할 수 있습니다. 아래 코드는 현재 실행 중인 Excel 인스턴스를 가져오는 방법입니다.
import xlwings as xw
# 이미 실행 중인 Excel 인스턴스에 연결
app = xw.App(visible=True)
workbooks = app.books
if workbooks:
# 첫 번째 워크북을 사용
wb = workbooks[0]
else:
wb = app.books.add()
2. Excel 인스턴스 종료 후 재시작하기
때때로 Excel 인스턴스가 불필요하게 열려 있을 수 있습니다. 이럴 경우 Excel을 종료하고, 다시 코드를 실행하면 문제가 해결될 수 있습니다. 코드 실행 전에 모든 Excel 인스턴스가 종료되었는지 확인하세요.
3. 프로세스 모니터링 및 강제 종료하기
또는, 작업 관리자에서 Excel 프로세스를 수동으로 종료한 후 코드 실행을 시도할 수 있습니다. 작업 관리자에서 'Excel.exe' 프로세스를 찾아서 종료하세요.
마무리
이 블로그 글에서는 xlwings에서 발생하는 'RuntimeError: Excel instance is already running' 오류에 대한 해결 방법에 대해 알아보았습니다. 이미 실행 중인 Excel 인스턴스를 활용하거나, 필요 시 프로세스를 종료 후 재시작함으로써 이 문제를 피할 수 있습니다. 자동화 작업을 할 때 항상 Excel 인스턴스 관리에 유의하는 것이 중요합니다!