300x250
import win32com
import win32com.client as win32
def doc2docx(file_path):
word = win32com.client.Dispatch('word.application')
word.DisplayAlerts = 0
word.visible = 0
doc = word.Documents.Open(file_path)
doc.SaveAs(file_path + "x", 12)
doc.Close()
word.Quit()
return
def ppt2pptx(file_path):
pptApp = win32com.client.Dispatch('PowerPoint.application')
pptApp.visible = True
# Application.DisplayAlerts = 0
ppt = pptApp.Presentations.Open(file_path)
ppt.SaveAs(file_path + "x", 24)
ppt.Close()
pptApp.Quit()
return
def xls2xlsx(file_path):
xlsApp = win32.gencache.EnsureDispatch('Excel.Application')
# xlsApp.visible= False
xls = xlsApp.Workbooks.Open(file_path)
xls.SaveAs(file_path + "x", FileFormat=51)
xls.Close()
xlsApp.Application.Quit()
return
1. doc파일을 docx로 변환
2. ppt파일을 pptx로 변환
3. xls파일을 xlsx로 변환
Windows환경에서 win32com 모듈을 사용해서 Office(Word/ 파워포인트 /엑셀) 제품군을 제어할 수 있으며, 파일 경로와 변환을 원하는 포맷 번호를 전달하면 포맷 변경이 가능합니다.
추가로 설치에 필요한 모듈은 직접 설치하시면 pip으로 설치하시면 됩니다.
300x250
'Python' 카테고리의 다른 글
python office automation으로 열려진 워드의 문서 민감도 레이블 설정 (set sensitivity label) (0) | 2023.05.02 |
---|---|
AttributeError: module 'win32com.gen_py.' has no attribute 'CLSIDToClassMap' (0) | 2023.05.02 |
python을 사용해서 Office에서 이미지 추출 (0) | 2023.04.06 |
ImportError: DLL load failed while importing win32api: 지정된 모듈을 찾을 수 없습니다. (0) | 2022.02.05 |
Python zip 함수 (0) | 2019.07.17 |