我正在尝试将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
,但仍将新工作表添加到左侧,并且当我修改名为“Data1”的工作表时,它会覆盖名为“Summary”的工作表。这与此问题类似:在Excel中将工作表添加到工作簿末尾(正常方法不起作用?),但给出的解决方案对我无效。
After = Sheet
,而是尝试使用After = Sheets.Count
(我对PythonVBA不太熟悉,但您需要确保将其添加到最后一个工作表之后。) - BruceWayneAfter=Book.Worksheets.Count
和After=Book.Sheets(Book.Sheets.Count)
都不起作用。它们会产生上述描述的相同行为。 - PProteusSheet.Move(After = Sheets.Count)
或类似语句时,它会将工作表移动到一个新的工作簿中。 - PProteusSheets.Add, Sheets(Sheets.Count)
作为快捷方式,在末尾添加工作表...所以在Python中也是如此。 (我认为在这种情况下只需要添加三个“book”对象。) - ashleedawg