【发布时间】:2019-10-03 09:13:40
【问题描述】:
我有一个带有一些 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 配置
- “程序/脚本”选项仅包含批处理文件名
- “开始于(可选)”选项仅包含批处理文件路径
知道如何解决这个问题吗?
【问题讨论】:
-
您是否尝试过将任务配置为与同一用户一起运行以及加载用户配置文件?