繁体   English   中英

python win32com对焦或打开excel文件

[英]python win32com focusing or open excel file

我正在尝试使用 win32com.client 专注于 excel 文件。

我想要的是:

(1) 当给定的 excel 文件已经打开时,简单地返回工作簿实例。

(2)如果该excel文件尚未打开>>打开excel文件然后返回工作簿实例。

我正在苦苦挣扎,因为我不知道 getactiveobject 和 dispatch 等方法之间的区别......

在许多情况下,会发生错误>>(-2147352567 .......

任何人都可以制作我想要的代码吗?

这是我的代码的一部分

'''
import win32com.client
xlsApp=win32com.client.GetActiveObject("Excel.Application")
myWB=xlsApp.Workbooks(workbook_name) 
'''

我以前做过这就是我的做法

import pygetwindow as gw
import pywinauto

def focus_to_window(window_title=None): 
     window = gw.getWindowsWithTitle(window_title)[0] 
     if window.isActive == False: 
         try: 
             pywinauto.application.Application().connect(handle=window._hWnd).top_window().set_focus() 
         except: 
             print('No permission')

该功能要求您传入一个窗口标题,它不必是确切的名称,例如,如果您的 Discord 名为Discord #general ,您只需输入Discord ,因为无论您走到哪里, Discord字符串都将始终在其中

也是它打印No permission的原因,因为某些应用程序需要它以管理员身份运行

暂无
暂无

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

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