使用任务调度器在Excel的运行实例中打开Excel文件

使用任务调度器在Excel的运行实例中打开Excel文件,excel,scheduled-tasks,Excel,Scheduled Tasks,我使用任务调度器使用Excel自动化各种夜间任务。通常,该任务会打开一个新的Excel实例,然后打开一个指定的文件,该文件执行某些操作并关闭自身(和Excel) 现在我有了一个需要外接程序的任务,使用外接程序需要单独的身份验证。无法传递我的凭据-加载加载项时,我必须手动进行身份验证。因为传统的方法总是启动一个新的(未经验证的)实例,所以我不知道如何完全自动化需要外接程序的任务 一种解决方法是在我离开之前打开一个Excel实例,对外接程序进行身份验证,然后让该实例保持打开状态。然后,理论上我可以安

我使用任务调度器使用Excel自动化各种夜间任务。通常,该任务会打开一个新的Excel实例,然后打开一个指定的文件,该文件执行某些操作并关闭自身(和Excel)

现在我有了一个需要外接程序的任务,使用外接程序需要单独的身份验证。无法传递我的凭据-加载加载项时,我必须手动进行身份验证。因为传统的方法总是启动一个新的(未经验证的)实例,所以我不知道如何完全自动化需要外接程序的任务

一种解决方法是在我离开之前打开一个Excel实例,对外接程序进行身份验证,然后让该实例保持打开状态。然后,理论上我可以安排在该实例中打开某个文件(而不是启动一个新实例来打开该文件,如上所述),并执行任何需要外接程序的任务


是否可以直接通过以某种方式定义任务,或者在可以按计划运行的.bat文件中执行此操作?

我有一个非常类似的问题,想知道您是否已经通过VBA(getobject()、sendmessage方法等)解决了此问题。 我在这个问题上创建了一个单独的问题,只是为了展示我所做的。 基本上,我被困在如何将用户名和密码传递到外接程序弹出窗口中


非常感谢:)

使用外接程序需要单独的身份验证。
如何验证外接程序?Excel启动时,加载外接程序。它显示一个模式窗口,您可以在其中输入用户名/密码。您可以关闭该窗口,但如果尝试使用任何附加功能,该窗口将再次弹出。通过身份验证后,您可以在Excel实例中打开的任何文件中随意使用外接程序。现在我们有两个选项1)简单方法和2)困难方法。简单的方法正如你所建议的<代码>在我离开之前打开Excel实例,对外接程序进行身份验证,并使该实例保持打开状态困难的方法是使用FindWindow/SendMessage API并自动执行身份验证过程。谢谢@Siddharth。就我所知,简单的方法不管用;任务计划程序通过调用以文件名为参数的可执行文件来打开文件,这意味着如果使用任务计划程序打开Excel文件,它将在新实例中打开。我不熟悉你提到的API,但是,凭借谷歌的力量,我希望尝试一下。谢谢你的帮助!啊!!你不需要那样做。您可以调用现有的Excel实例,然后使用VBScript打开Excel文件:)查看此链接而不是
CreateObject
,您可以使用
GetObject