1

我有一个需要加载项的 Excel 自动化任务。使用加载项需要单独的身份验证。

没有办法通过我的凭据。当加载项加载时,我必须手动进行身份验证。因为老式方式会启动一个新的(未经身份验证的)实例,所以我无法弄清楚需要加载项的任务如何完全自动化。

我知道我可以使用 getObject 在 Excel 中使用此加载项对象来查找加载项名称:

For i = 1 To AddIns.Count
 Debug.Print (AddIns(i).Name)
 Debug.Print (AddIns(i).FullName)
 Debug.Print (AddIns(i).Title)
 Debug.Print (AddIns(i).Installed)
 Debug.Print (AddIns(i).FullName)
Next

这将显示加载项名称,我可以在其中找到加载项使用

Set MyObject = AddIns("addin name")

或使用 findWindow(Windows API) 查找加载项实例

hWnd = FindWindow(vbNullString, "Add-in Login Window Title")

WindowsAPI getobject 上的参考链接以及 Findwindows 和 SendMessage 的参考函数 http://msdn.microsoft.com/en-us/library/office/gg251785(v=office.14).aspx

插件登录窗口如下所示:

在此处输入图像描述

我被困在如何通过引用对象或 HWND 将凭据传递到此加载项窗口。

有一些有用的帖子:Open an Excel file in running Excel with Task Scheduler。并使用任务计划程序在 Excel 的运行实例中打开一个 Excel 文件

如何通过 Windows API 进行身份验证,不一定通过 VBA?我也可以使用 Python。

4

0 回答 0