我正在使用win32com.client
打开excel工作表,并使用Activate函数将窗口置于前台。但是窗口以最小化视图打开。我需要最大化它。请帮助
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窗口。谢谢!
答案 0 :(得分:2)
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的对象。运行上面的代码行之后,将在操作系统的temp目录中创建一个文件夹。例如,在Windows上,临时目录位于C:\Users\'UserName'\AppData\Local\Temp
。那里将有一个名为gen_py
的文件夹。在我的系统上,您可以使用的可用常量位于gen_py\3.7\00020813-0000-0000-C000-000000000046x0x1x7\__init__.py
中。请注意,文件夹3.7是当前使用的Python版本,因此该文件夹可能因您而异,并且以下以数字命名的文件夹也可能不同。打开__init__.py
文件后,可以在名为constants
的类中找到可用的常量。
这就是我实际上回答您的问题的方式。 Excel Maximize选项在类常量中为xlMaximized =-4137 # from enum XlWindowState
。
此外,在操作系统的temp目录中创建gen_py
文件夹之后,您可以将常量与win32.Dispatch or win32.DispatchEx
一起使用,但是,如果上述文件夹尚不存在,则必须使用{{ 1}}来创建它。