在Python中处理多个Excel工作簿

2 投票
1 回答
3271 浏览
提问于 2025-04-15 23:34

使用win32com,我打开了两个工作簿。

  1. 怎么知道哪个工作簿是当前活动的?
  2. 怎么切换到另一个工作簿让它变成活动的?
  3. 怎么关闭一个工作簿而不关闭另一个?(不是用Application.Quit())

1 个回答

6

你这里的主要目标是什么呢?是想自动化已经打开的Excel窗口,还是只是想写XLS文件?如果是后者,建议你考虑使用xlwt这个工具。

你怎么知道哪个窗口是活动的呢?

xl = win32com.client.Dispatch("Excel.Application")
wbOne = xl.Workbooks.Add()
wbTwo = xl.Workbooks.Add()
xl.ActiveWorkbook == wbOne
 False
xl.ActiveWorkbook == wbTwo 
 True

你怎么改变哪个窗口是活动的呢?

wbOne.Activate()
xl.ActiveWorkbook == wbOne
 True

你怎么关闭一个窗口而不关闭另一个呢?(不是用Application.Quit())

wbOne.Close()
wbTwo.Close()

撰写回答