我有一个带有一些 VBA 代码的 Excel 工作簿,它使用 OSIsoft DataLink 插件的 PISampDat 函数来提取多列数据。工作簿由批处理文件运行,而批处理文件又由 Windows 计划任务触发。如果我手动运行工作簿或批处理文件,它会按预期工作,但如果我使用计划任务,则会收到以下错误:
1004: 无法运行宏“PISampDat”。该工作簿中的宏可能不可用,或者所有宏都可能被禁用。
“PISampDat”不是宏,而是插件中的函数名称。代码如下:
ThisWorkbook.Sheets(SheetName).Range(Cells(5, PTTagNamesCol), Cells(RangeRowCount, PTTagNamesCol)) = Application.Run("PISampDat", TagName, EDate, SDate, "5m", 0, PiServer)
似乎当它由计划任务运行时,Excel 没有加载 DataLink 加载项,因此无法识别函数名称。
更多详细信息:
- 以管理员用户身份运行的计划任务,对涉及的所有文件和文件夹具有权限
- 选择“无论用户是否登录都运行”选项
- 选择了“以最高权限运行”选项
- 为 Windows Server 2012 R2 配置
- “程序/脚本”选项仅包含批处理文件名
- “开始于(可选)”选项仅包含批处理文件路径
知道如何解决这个问题吗?