27.03.2015, 12:35 | #1 |
Участник
|
Добрый день. Борюсь с проблемой создания PivotTable из навика с признаком добавления в модель данных.
Работаю с Dynamics Nav 2015 и Excel 2013. Параметры в excel такие:[attachment=1445:Pivot.jpg] Собственно выделенный признак отвечает за создание пивоттаблицы с использованием фильтров на полях. Стандартный механизм выгрузки аналитического отчета этого не дает и выглядит так: xlPivotCache := xlApp.ActiveWorkbook.PivotCaches.Add(1,STRSUBSTNO('%1!A1:%2%3',xlSheetName,ExcelBuffer.xlColID,NoOfRows + 1)); xlPivotCache.CreatePivotTable('','PivotTable1'); xlWorkSheet2 := xlApp.ActiveSheet; xlPivotTable := xlWorkSheet2.PivotTables('PivotTable1'); Код Visual Basic при этом: ActiveWorkbook.Worksheets("Сводная таблица_ПОДОТЧЕТ").PivotTables("PivotTable1" _ ).PivotCache.CreatePivotTable TableDestination:="Лист1!R3C1", TableName:= _ "СводнаяТаблица1", DefaultVersion:=xlPivotTableVersion10 Мне же нужно преобразовать для навика код который создает пивот с признаком модуля данных: Workbooks("pivot1111.xlsx").Connections.Add2 _ "WorksheetConnection_Данные_ПОДОТЧЕТ!R1C1:R6206C34", "", _ "WORKSHEET;D:\Documents\[pivot1111.xlsx]Данные_ПОДОТЧЕТ", _ "Данные_ПОДОТЧЕТ!R1C1:R6206C34", 7, True, False Sheets.Add ActiveWorkbook.PivotCaches.Create(SourceType:=xlExternal, SourceData:= _ ActiveWorkbook.Connections("WorksheetConnection_Данные_ПОДОТЧЕТ!R1C1:R6206C34") _ , Version:=xlPivotTableVersion15).CreatePivotTable TableDestination:= _ "Лист2!R3C1", TableName:="СводнаяТаблица2", DefaultVersion:= _ xlPivotTableVersion15 Если просто поменять 1 на 2 (SourceType:=xlExternal): xlPivotCache := xlApp.ActiveWorkbook.PivotCaches.Add(2,STRSUBSTNO('%1!A1:%2%3',xlSheetName,ExcelBuffer.xlColID,NoOfRows + 1)); то ругается в строке xlPivotCache.CreatePivotTable('','PivotTable1'); как Исключение из HRESULT: 0x800A03EC Если сделать например так xlPivotCache.CreatePivotTable(xlWorkSheet2.Name+'!A3','PivotTable1'); то тогда такая ошибка: Вызов System.__ComObject.CreatePivotTable завершился ошибкой со следующим сообщением: Параметр задан неверно. (Исключение из HRESULT: 0x80070057 (E_INVALIDARG)) Проблема в этой строке. Какие бы я параметры выше не делал, даже connection добавил, все выдает или ту или другую ошибку. Возможно ктото сталкивался с таким, и вообще возможно ли создать из навика таким образом пивот? |
|