열려있는 Microsoft Excel 통합 문서가 있고 탭을 순환하여 원본 통합 문서의 각 탭에 대한 통합 문서를 만들고 저장합니다. 그래서 나는 파일 A를 열어 탭 1, 2, 3이 있고 파일 B, C, D를 만들고 고유 한 탭 하나를 가지고 저장합니다. 워크 시트의 단일 복사본을 만드는 VBA 코드가 있지만 파이썬에서이 작업을 시도 할 때 각 통합 문서의 모든 탭이 끝납니다. 다음Python - Win32com - 통합 문서 열기 및 각 탭에 대해 새 Excel 파일 만들기
Sub ConvertTabsToFiles()
Dim currPath As String
currPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each xWs In ThisWorkbook.Sheets
xWs.Copy
Application.ActiveWorkbook.SaveAs Filename:=currPath & "\" & xWs.Name & ".xlsx"
Application.ActiveWorkbook.Close False
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
파이썬 코드입니다 작동하지 않습니다 :
xlApp = win32.com.client.Dispatch("Excel.Application")
xlwb = xlApp.Workbooks.Open("C:\Inputfile.xlsx")
for sheet in xlwb.Worksheets:
sheet.Copy
xlApp.ActiveWorkbook.SaveAs("C:\Users\user\AppData\Local\Temp\\"+ sheet.Name+".xlsx")
이
가 당신의 도움이 정말 감사합니다 다음은 작동하는 VBA입니다 나는 곤란하다. 미리 감사드립니다.
'sheet.Copy'는 이름 일 뿐이며, 속성이 아닌 한 호출되지 않고는 아무 것도하지 않습니다. – TankorSmash
감사. 이름을 사용할 수없는 경우 저장하려는 정확한 워크 시트를 어떻게 지정합니까? 감사합니다 – user2320821
각 '시트'에 대해 새 통합 문서를 만들어야합니다. 이렇게하기 위해'win32com'을 사용한 적이 한번도 없었습니다. 저는 항상 http://www.python-excel.org/를 사용했습니다. 아이디어는 동일하지만 새로운 통합 문서를 열고, 시트를 저장하고, 책을 닫고, 다른 시트를 저장합니다. – TankorSmash