我对python很陌生。我目前正在尝试打开一个excel文件(Excel 2013)的相同示例,并使用python移动打开的窗口,但找不到任何关于如何操作的信息。手动操作时,我只需点击“视图”选项卡上的“新窗口”。如果我尝试使用子进程打开它,它将连续打开和关闭窗口。您有什么建议吗?提前感谢。
我的当前代码:
import ctypes
import subprocess
import time
import sys
from win32.win32gui import FindWindow, MoveWindow, GetForegroundWindow
user32 = ctypes.windll.user32
x = user32.GetSystemMetrics(78)
y = user32.GetSystemMetrics(79)
p1 = subprocess.Popen(["C:\\Program Files (x86)\\Microsoft Office\\Office15\\EXCEL.EXE", "C:\\Users\\user\\Desktop\\python\\TestBook1.xlsx"])
time.sleep(1)
window_handle1 = GetForegroundWindow()
MoveWindow(window_handle1, 0, 0, int(2/3*x), int(0.5*y), True)
p2 = subprocess.Popen(["C:\\Program Files (x86)\\Microsoft Office\\Office15\\EXCEL.EXE","C:\\Users\\user\\Desktop\\python\\TestBook1.xlsx"])
time.sleep(1)
window_handle2 = GetForegroundWindow()
MoveWindow(window_handle2, 0, int(0.5*y), int(2/3*x), int(0.5*y), True)
p3 = subprocess.Popen(["C:\\Program Files (x86)\\Microsoft Office\\Office15\\EXCEL.EXE", "C:\\Users\\user\\Desktop\\python\\TestBook1.xlsx"])
time.sleep(1)
window_handle3 = GetForegroundWindow()
MoveWindow(window_handle3, int(2/3*x), 0, int(1/3*x), int(y), True)
(抱歉我的坏编码提前)
1条答案
按热度按时间92dk7w1h1#
我不知道python,所以很可能是垃圾代码!
使用Excel COM对象,您可以通过编程方式访问“新窗口”(以及其他功能)。
从
Workbook.NewWindow
返回的Window
对象具有hWnd属性(这可能是MoveWindow所需的属性),并且/或者还有一个Top
和Left
属性,您也可以使用它们来移动窗口。