使用Python检查程序是否使用任务schedu打开时出现问题

2024-06-16 12:21:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我在检查Excel工作簿是否已经用Python打开时遇到了一些问题,只有在我用Windows任务调度器执行脚本时才打开。 我有:

from win32com.client import dynamic

def test1():
    com_app = dynamic.Dispatch('Excel.Application')
    com_wbs = com_app.Workbooks
    wb_names = [wb.Name for wb in com_wbs]

只有在手动执行.pyw文件时,它才会返回一个列表,其中包含我打开的Excel工作簿的名称。但是当通过windows任务调度器对其执行进行编程时,它只返回一个空列表

类似的情况也会发生:

import tkinter
from tkinter import messagebox
import win32com.client

def test2():
    try:
        excel = win32com.client.GetActiveObject("Excel.Application")
        messagebox.showinfo("Info", "An opened Excel file was found!")
    except:
        messagebox.showinfo("Info", "No opened Excel file!")

当手动执行.pyw时,该函数可以很好地检测到打开的文件,但当任务调度器执行时,则无法检测到

有人能帮我吗?非常感谢


Tags: fromimportcomclientappapplicationdefdynamic