1. 엑셀 시트 이름 변경
엑셀 시트명 변경은 매우 간단하다.
아래와 같이 현재 선택되어 있는 워크시트를 변수로 할당하고, .Name 속성의 값을 변경해주면 된다.
# 현재 활성화된 워크시트 변수로 할당
ws = wb.ActiveSheet
# 시트 이름 변경
ws.Name = "심심해서바꿨어"
파이썬이 객체지향 프로그래밍을 지원하기 때문에 코드가 기억나지 않는다면 항상 클래스의 속성값을 바꿔준다고 기억해두면 좋다. 이게 무슨 뜻이냐면 아래와 같이 워크시트 객체 ws에 점을 찍고 탭을 누르면 ws 클래스 속성값들이 쭉 떠서 여기서 찾으면 된다.
속성값들은 전부 워크시트와 관련된 변수나 함수들이기 때문에 워크시트와 관련된 무언가를 바꾸고 싶을 때 코드가 잘 기억나지 않는다면 꼭 해보길 추천한다!
이름 Name이 기억나지 않는 경우는 잘 없겠지만 그래도 예시로 해보면, N을 입력하고 Tab을 누르면 아래와 같이 뜬다.
2. 시트 탭 색상 변경
그럼 위에서 배운 속성값 변경으로 시트 탭의 색상을 변경해보자.
일단 탭(Tab)과 관련된 것이니 Tab이 ws의 속성 변수로 지정되어 있는지 확인해본다.
아래와 같이 T를 누르고 Tab 키를 누르면 Tab 속성이 있는 것을 알 수 있다.
다음으로 Tab의 속성인 Tab 색상을 변경해야하니 Tab에 점을 찍고 Tab 키를 눌러 색상 관련된 속성값이 있는지 확인해보자. 아래 그림에서 3번째 Color 속성이 보인다.
거의 다 왔다. 이제 ws.Tab.Color 속성값에 내가 원하는 색상 값을 던져주기만 하면 된다.
그런데 RGB인지 HEX 인지 아니면 다른 어떤 형식으로 줄지 모르겠다. 엑셀에서는 색상 관련하여 하나만 기억하자.
엑셀에서 색상값을 부여할 때에는 RGB도 HEX도 아닌 "RGB를 정수형태로 바꾼 값"으로 주면 된다.
RGB(255,255,255) 값을 정수형(int)으로 변환할 때 int_color = R + G*256 + B*256**2 와 같은 공식을 따른다. 이 함수는 아래 코드의 중간부분에 정의해 두었으니 별도로 만들 필요 없이 복붙해서 이용하면 된다. 끝~!
from win32com.client import Dispatch
excel = Dispatch("Excel.Application")
# 엑셀 창 화면에 보이기
excel.Visible = True
# 워크북(*.xlsx) 새로 만들기
# 파일 -> 새로만들기와 동일
wb = excel.Workbooks.Add()
# 현재 활성화된 워크시트 변수로 할당
ws = wb.ActiveSheet
# 시트 이름 변경
ws.Name = "심심해서바꿨어"
# RGB 색상값을 Integer 형식으로 변환해주는 함수 정의
def RGB_TO_INT(r,g,b):
"""
r,g,b는 0~255 정수값만 입력
"""
int_color = r + (g * 256) + (b * 256 * 256)
return int_color
# 시트 탭 색상 변경
# 반드시 RGB 색상값을 Integer 형식의 값으로 변환하여 입력해주어야 함.
# 아래 예시는 노란색
ws.Tab.Color = RGB_TO_INT(255,255,0)
** 혹시 다양한 RGB 값을 참고하고 싶으면 아래 지난 포스팅 글을 참조하면 된다:
파이썬에서 자주 사용되는 148가지 색상 코드를 모두 모았다!
https://hexa-coding.tistory.com/34
'파이썬 > Pywin32' 카테고리의 다른 글
파이썬 엑셀 컨트롤, 워크시트의 유용한 속성들, 이것만 알자! (0) | 2024.01.19 |
---|---|
파이썬 엑셀 컨트롤, 워크북의 유용한 속성들, 이것만 알자! (0) | 2024.01.19 |
파이썬 엑셀 컨트롤, 워크시트란? (1) | 2024.01.14 |
파이썬 엑셀 컨트롤, 워크북이란? (0) | 2024.01.14 |
파이썬 엑셀 컨트롤, 엑셀 창 자동으로 띄우기 (0) | 2024.01.14 |