2016-10-21 145 views
1

我正在嘗試將Excel工作表添加到工作簿的末尾,爲彙總保留第一個工作表。將Excel工作表添加到工作簿結尾

import win32com.client 

Excel = win32com.client.DispatchEx('Excel.Application') 
Book = Excel.Workbooks.Add() 

Excel.Visible = True 

Book.Worksheets(3).Delete() 
Book.Worksheets(2).Delete() 

Sheet = Book.Worksheets(1) 

Sheet.Name = "Summary" 

Book.Worksheets.Add(After=Sheet) 

Sheet = Book.Worksheets(2) 

Sheet.Name = "Data1" 

該代碼添加新的工作表的左側,儘管使用After=Sheet,當我修改爲「數據1」的表,它覆蓋名爲「摘要」的手冊。

這類似於這樣的問題:

Adding sheets to end of workbook in Excel (normal method not working?)

但所提供的解決方案並不爲我工作。

+0

取代'後= Sheet',嘗試'後= Sheets.Count'(我不是PythonVBA過於激烈,但你要確保你後添加它 – BruceWayne

+0

當您嘗試給定的解決方案時會發生什麼? – wwl

+0

既不是'After = Book.Worksheets.Count'也不是'After = Book.Sheets(Book.Sheets.Count)'工作,它們給出了與上述相同的行爲。 – PProteus

回答

1

嘗試使用Sheet = excelApp.ActiveSheet

Book.Worksheets.Add(After=Sheet) 
Sheet = Book.ActiveSheet 
Sheet.Name = "Data1" 
+0

對不起,但新工作表仍然沒有出現在右邊的存在表格。 – PProteus

相關問題