파이썬 win32com 으로 시트 이름 바꾸기
본문 바로가기
파이썬(Python)/파이썬으로 엑셀 제어하기

파이썬 win32com 으로 시트 이름 바꾸기

by 만초손겸수익 2024. 1. 12.

 

파이썬의 win32com 라이브러리로 엑셀의 시트 이름을 바꿔 보도록 하겠습니다.

 

우선 엑셀 VBA에서는 아래와 같이 바꿀 수 있습니다.

 

Sub sbTest()

Sheets("Sheet1").Name = "바뀐시트이름"

End Sub

 

역시 VBA는 간단하죠? 참으로 제가 좋아하는 컴퓨터 언어입니다. 어떤 언어가 이보다 더 쉬울 수 있을까요?

 

이번에는 파이썬으로 바꿔 보도록 하겠습니다.

 

import win32com.client
xl = win32com.client.Dispatch("Excel.Application")
xl.Visible = True

file = 'C:\\Users\\fibt5\\Desktop\\test.xlsx'
wb = xl.Workbooks.Open(file)

wb.Worksheets('Sheet1').name = '바뀐시트이름'

 

1. win32com 모듈에서 client 파일을 가져옵니다.

2. Dispatch 함수를 이용해서 Excel의 Application을 xl로 바인딩 합니다.

3. 엑셀이 수정되는 모습을 보기 위해서 Visible을 True로 설정합니다.

4. 파일경로를 설정하고 open함수로 엑셀파일을 열어서 wb 변수에 바인딩합니다.

5. sheet이름을 변경합니다.

 

주요 코드는 VBA와 거의 비슷합니다.

 

혹시 Worksheets를 VBA처럼 Sheets로 사용해도 작동이 될까요?

 

 

제대로 작동이 되네요. win32com은 VBA  코드를 그대로 사용할 수 있나봅니다. 재미있네요.

 

728x90
반응형

댓글