2024-05-07 01:04:14 发布
网友
我有一个使用win32com与COM服务交互的脚本。当程序已经打开时,它按预期工作。我使用win32com.client.dynamic.Dispatch连接到它,然后与应该已经打开的文档交互。假设程序已经打开,我可以很容易地检查文档是否打开,但我不确定如何检查程序是否已经打开。当我使用上面提到的调度时,如果程序还没有打开,它只是启动程序,这不是我想要的。
尝试win32com.client.GetActiveObject()方法。这是我在我编写的一些方便函数中使用的,这是一个用于Excel的函数:
def Excel(visible=True): '''Get running Excel instance if possible, else return new instance. ''' try: excel = win32com.client.GetActiveObject("Excel.Application") print("Running Excel instance found, returning object") except: excel = new_Excel(visible=visible) print("No running Excel instances, returning new instance") else: if not excel.Workbooks.Count: excel.Workbooks.Add(1) excel.Visible = visible return excel
new_Excel只是打开Excel应用程序对象的新实例的另一个方便函数。
尝试win32com.client.GetActiveObject()方法。这是我在我编写的一些方便函数中使用的,这是一个用于Excel的函数:
new_Excel只是打开Excel应用程序对象的新实例的另一个方便函数。
相关问题 更多 >
编程相关推荐