使用win32com.client打开后需要最大化excelwindow

Need to maximize the excel window after opening it using win32com.client

我正在使用 win32com.client 打开 excel sheet 并使用 Activate 函数将 window 调到前台。但是 window 是以最小化视图打开的。我需要最大化它。请帮忙

 import win32com.client as win32

 excel = win32.gencache.EnsureDispatch('Excel.Application')
 wb1 = excel.Workbooks.Open(r'C:\blp\1700.xlsx')
 wb2 = excel.Workbooks.Open(r'C:\blp\Book1.xlsx')
 excel.Visible = True

 wb1.Activate()

请告诉我如何最大化 Excel window。谢谢!

import win32com.client as win32

excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(r'Path...\YourFile.xlsx')
excel.Visible = 1
excel.WindowState = win32.constants.xlMaximized  # this works for me 

此外,当您在字符串路径前加上 r'' 前缀时,您不需要转义斜杠。

更新: 如果您想查看可用的 COM 常量,则需要使用 win32.gencache.EnsureDispatch() 一次,因为它将生成一个文件,其中包含来自名为 win32com.clients.constants 的对象中的类型库。在您 运行 上述代码行之后,将在操作系统的临时目录中创建一个文件夹。例如,在 Windows 上,临时目录位于 C:\Users\'UserName'\AppData\Local\Temp。那里会有一个名为 gen_py 的文件夹。在我的系统上,您可以使用的可用常量位于 gen_py.7[=15=]020813-0000-0000-C000-000000000046x0x1x7\__init__.py 中。请注意,文件夹 3.7 是您当前使用的 Python 版本,因此这可能因您而异,以下以数字命名的文件夹也可能不同。打开 __init__.py 文件后,可以在名为 constants.

的 class 中找到可用常量

我实际上是这样回答你的问题的。 Excel 最大化选项在 class 常量中作为 xlMaximized =-4137 # from enum XlWindowState.

此外,在操作系统的临时目录中创建 gen_py 文件夹后,您可以将常量与 win32.Dispatch or win32.DispatchEx 一起使用,但如果上述文件夹尚不存在,则必须使用win32.gencache.EnsureDispatch() 创建一次。