Форум разработчиков QlikView и Qlik Sense. Получи любые ответы на вопросы по QlikView и Qlik Sense в течении нескольких часов!
Вы не вошли.
Страницы 1
Добрый день!
Для любой таблицы/диаграммы в приложении по правой кнопке есть функция "Отправить в Excel" или "Отправить значения в Excel".
Подскажите, пожалуйста, как вызвать эту функцию через макрос, то есть вызвать по определенной кнопке или по определенному изменению значения переменной?
Добавлено спустя 2 ч 15 мин 51 с:
Нашла вариант, но он меня не до конца устраивает:
1. В переменную objectNm пишу имя объекта, который хочу выгрузить в Excel
2. Запускаю макрос sendToExcel:
sub sendToExcel
objectNm = ActiveDocument.Variables("objectNm").GetContent.String
set obj = ActiveDocument.GetSheetObject(objectNm)
obj.SendToExcel
set obj = nothing
end sub
Вопрос: как сделать, чтобы выгружался не во вновь создаваемый файл, а в определенный по определенному пути?
Заранее спасибо!
Редактировался Yulia (2016-02-26 12:36:10)
новичок в QlikView
Неактивен
Попробуйте через "ExportBiff"
Пример:
Function SaveToExcel
call ExportToExcel("CH02", "D:\Files\Отчёт_по_вакансиям_за_" & ActiveDocument.Evaluate("date(today(1))") & ".xls")
end Function
sub ExportToExcel(ObjectId, FilePath)
dim FileName
Set FileName = ActiveDocument.GetSheetObject(ObjectId)
FileName.ExportBiff FilePath
Set FileName = nothing
end sub
Неактивен
Большое спасибо, получилось!
а не подскажите, как проверить, что Excel-файл не открыт на редактирование,
потому что если открыт, то никакой ошибки не выдает, но и не перезаписывает?
новичок в QlikView
Неактивен
Можете таким макросом проверить открыт файл только для чтения или нет.
sub test
set XLApp = CreateObject("Excel.Application")
set XLDOC = XLApp.Workbooks.Open ("C:\Tasks\1.xlsx")
IF XLApp.ActiveWorkbook.ReadOnly THEN
MSGBOX "READ_ONLY MODE"
XLApp.Quit
END IF
end sub
Неактивен
Добрый день!
Можно ли проверить, открыт файл Excel или нет, при выполнении загрузки данных из него?
Заранее спасибо!
новичок в QlikView
Неактивен
Добрый день!
подскажите, пожалуйста, я использую ваш макрос:
sub ExportToExcel(ObjectId, FilePath)
dim FileName
Set FileName = ActiveDocument.GetSheetObject(ObjectId)
FileName.ExportBiff FilePath
Set FileName = nothing
end sub
но он НЕ перезаписывает файл FilePath, если последний уже был ранее сформирован.
Нельзя ли добавить (как?) флаг перезаписи?
Заранее спасибо!
новичок в QlikView
Неактивен
Добрый день!
подскажите, пожалуйста, я использую ваш макрос:
sub ExportToExcel(ObjectId, FilePath)
dim FileName
Set FileName = ActiveDocument.GetSheetObject(ObjectId)
FileName.ExportBiff FilePath
Set FileName = nothing
end subно он НЕ перезаписывает файл FilePath, если последний уже был ранее сформирован.
Нельзя ли добавить (как?) флаг перезаписи?
Заранее спасибо!
Получилось ли наладить выгрузку? Возможно файл занят иным процессом, поэтому пересохранить не получается.
Неактивен
Добрый день! Да, вы правы: "подвисал" процесс файла, если файл не занят никаким процессом, но нормально перезаписывается. Спасибо)
новичок в QlikView
Неактивен
Страницы 1
[ Сгенерировано за 0.013 сек, 9 запросов выполнено - Использовано памяти: 1.5 Мбайт (Пик: 1.64 Мбайт) ]