手动生成xlsx的宏可以正常工作,但不能通过QlikviewManagement Consol从批处理中获取

时间:2019-04-16 13:00:06

标签: macros qlikview

我正在尝试通过Qlikview Macro将少量图表导出到Excel(.Xlsx格式)并将其保存在postrelaod上的特定位置。手动或从批处理(.bat)双击运行文件时,该文件都能正常运行。

但是,当计划通过外部File(.bat文件)从Qlikview管理控制台运行时,它会生成Excel摘录,但该文件为空白。错误是:

  

错误:工作表类的粘贴方法失败

我已经检查了文件的许可/位置,并且没有问题。

1 个答案:

答案 0 :(得分:0)

通过宏的Postreload触发器保存图表将无法通过QMC使用(Postreload和前端/图表操作均无法通过QMC使用)。

为解决此问题,请执行以下操作。

1)在QMC中设置重新加载以刷新文档中的数据。 2)成功重新加载另一个文档后,该文档触发了第一个文档中的宏以保存该图表,但是由于它产生了冲突,它也给我带来了麻烦(您无法从Qlikview中打开Qlikview .....(我知道是无意义的),因此在第二个文档中,我从第一个文档开始运行宏(通过PsExec):

EXECUTE "C:\Qlikview\PROD APPLICATION\modules\scripts\edx\PsExec64.exe" *\\SERVER_NAME* -u *SERVER_NAME\User* -p *password* -i 1 -d -high cmd /c ""C:\Program Files\QlikView\qv.exe"  "C:\Qlikview\PROD APPLICATION\modules\$(vDocument).qvw" /vvRun=yes

我使用变量vRun来指定仅在将宏设置为yes时才在开放运行时使用该宏:

enter image description here

并在宏中将其设置为保存图表后关闭应用程序:

    ActiveDocument.UnlockAll
    ActiveDocument.ClearAll true
    ActiveDocument.Save
    ActiveDocument.GetApplication.quit

end sub