繁体   English   中英

在不同的windows和python打开同一个excel文件

[英]Open the same excel file in different windows with python

我是 python 的新手。我目前正在尝试打开一个 excel 文件 (Excel 2013) 的相同实例,并使用 python 移动打开 windows,但找不到有关如何操作的任何信息。 手动我只会点击“查看”选项卡上的“新窗口”。 如果我尝试用子进程打开它,它会依次打开和关闭 windows。你有什么建议吗? 提前致谢。

我当前的代码:

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)

(对不起,我提前编码不好)

我不知道python,很可能是垃圾代码!

使用 Excel COM object 您可以以编程方式访问“新窗口”(以及其他内容)。

Workbook.NewWindow返回的Window object 有一个 hWnd 属性(这可能是 MoveWindow 所需要的)和/或还有一个TopLeft属性,您也可以使用它来移动 window。

import win32com
import win32com.client

app = win32com.client.Dispatch("Excel.application")
workbook = app.Workbooks.Open("your workbook")
newwindow = workbook.NewWindow()
MoveWindow(newwindow.hwnd,.......)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM