Макрос для генерации xlsx отлично работает вручную, но не из пакета через QlikviewManagement Consol - PullRequest
1 голос
/ 16 апреля 2019

Я пытаюсь экспортировать несколько диаграмм в Excel (формат .Xlsx) через Qlikview Macro и сохранить их на последующем этапе в определенном месте. Файл отлично работает, когда он запускается вручную или из пакета (.bat) при двойном щелчке.

Но когда запланирован запуск из консоли управления Qlikview через внешний файл (файл .bat), он генерирует извлечение Excel, но файл остается пустым. Ошибка:

Ошибка: сбой метода вставки класса Worksheet

Я проверил разрешение / местоположение файла, и это не проблема.

1 Ответ

0 голосов
/ 23 апреля 2019

Постгруженный триггер, сохраняющий диаграммы через макрос, не будет работать через QMC (и постзагрузка, и манипуляции с внешним интерфейсом / диаграммой не работают через 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
...