반응형
엑셀 작업을 하다보면 옛날 엑셀 파일들을 xlsx로 변경해야하는 상황이 필요할 때가 있습니다.
이러한 상황에서 한두개의 파일을 바꾸는 것은 직접하는 것에 어려움을 느끼지 않지만, 반복적으로 그리고 많은 파일들을 변환하는것은 여간 귀찮은 일이 아닐 수 없습니다.
(반대로 xlsx파일을 xls로 바꾸는 프로그램을 원하시는 분은 아래 링크를 참조해주세요)
2022.05.16 - [업무도움/자동화] - xlsx파일을 xls로 자동으로 변경하는 프로그램(xlsx 변환)
이를 해결하기 위한 코드와 프로그램을 만들었습니다.
프로그램을 원하시는 분은 코드를 건너뛰고 아래를 참조하시면 됩니다.
추가로 별도의 프로그램 작성자가 나오지않는 프로그램이나 사용방법을 작성한 pdf를 원하시는 분이 있다면 댓글로 남겨주시면 도와드리도록 하겠습니다.
코드는 아래의 더보기를 확인하시면 됩니다.
더보기
import os
import win32com.client as win32
file_list = list()
now_dir = os.path.abspath('./')
for f in os.listdir('./'):
if 'xls' in f and 'xlsx' not in f:
file_list.append(f)
print(f'다음 파일들을 변환하겠습니다\n{file_list}\n')
result = []
excel = win32.Dispatch('Excel.Application')
for f in file_list:
wb = excel.Workbooks.Open(f'{now_dir}\{f}')
wb.SaveAs(f'{now_dir}\{f}x', FileFormat = 51)
wb.Close()
result.append(f+'x')
print(f'\t\t {f} ------- 변환 완료')
excel.Application.Quit()
print('\n\tThis program was made by 광보기')
print('\tlink : https://independenceday.tistory.com/')
print('\n\n종료를 원하시면 아무키나 눌러주세요')
input()
프로그램
프로그램의 경우 사용방법은 다음과 같습니다.
해당 프로그램을 원하는 파일이 있는 위치에 놓는다.
현재 진행중이던 엑셀파일을 종료하고 프로그램을 실행하면 다음과 같은 화면이 뜨고 작업이 완료된다.
그리고 주의사항은 다음과 같습니다.
- 엑셀을 종료하지 않고 할시 렉이나, 작업중이던 파일이 닫힐 수 있음을 주의한다.
- 해당 파일이 이미 존재한다면, 다음과 같은 메세지가 발생할텐데 예를 눌러줘야 작업이 정상적으로 진행된다.
추가로 프로그램의 경우 간단하게 만들어 용량이 제법 존재하는(10MB) 단점과 환경에 따라 조금 느릴 수 있다는 점 말씀드립니다.
반응형
'업무도움 > 자동화' 카테고리의 다른 글
xlsx파일을 xls로 자동으로 변경하는 프로그램(xlsx 변환) (0) | 2022.05.16 |
---|