我需要使用python pywinauto库来调整记事本的大小。
我使用以下代码启动记事本: -
from pywinauto import application
app = application.Application()
app.start("Notepad.exe")
我使用以下代码对记事本执行相同的操作:
from pywinauto import application
app = application.Application()
app.start("Notepad.exe")
app.Notepad.move_window(0,0,400,400)
这很简单,适合我。但是,我想用Excel(和Outlook,Edge和谷歌浏览器)这样做。有谁知道如何使用这些其他应用程序呢?我已经狩猎了几个小时但找不到怎么做,但在这个网站上发现了很多关于pywinauto的引用。应用程序将打开正常,但我无法移动/调整它们,这是我真正想做的。
更新:我编写了以下代码,打开Excel工作簿,移动并调整大小:
import win32gui, win32con, win32api
from win32com.client import DispatchEx # Note - "Dispatch" opens in existing instance of Excel, "DispatchEx" opens in new instance
workbook = 'C:\\Users\\*user*\\Documents\\book1.xlsm'
xl = DispatchEx('Excel.Application')
xl.Visible = 1
try:
xl.Workbooks.Open(workbook)
except:
print(workbook + ' not found')
try:
hwnd = win32gui.FindWindow(None, workbook.split("\\")[-1] + ' - Excel')
# Move windows to specified location and size
win32gui.MoveWindow(hwnd, 0, 0, 1920, 1042, True)
# Maximize window
#win32gui.ShowWindow(hwnd, win32con.SW_MAXIMIZE)
except:
print("Error moving and resizing " + workbook)
我不是Python编码的专家,所以欢迎任何改进。我也希望能够使用Edge,Chrome和Outlook执行此操作。接下来我会调查一下。