Исключение из HRESULT: 0x800a03ec при попытке очистить фильтры
У меня есть лист Excel, в котором есть сводная таблица. Эта сводная таблица извлекает свои данные из таблицы, к которой у меня нет другого доступа. Мне нужно ежедневно загружать эти данные в таблицу MySQL. Та часть, которая возьмет сводную таблицу и загрузит ее в MySQL, работает отлично. Проблема в том, что я должен автоматически обновлять сводную таблицу. Мне нужно изменить фильтр с любой даты в нем на вчерашнюю дату. Я использую задачу сценария в SSIS, чтобы попытаться сделать это. Ниже приведен код, который я использую для этой попытки. Он терпит неудачу при вызове ClearAllFilters.
Dim objExcel, objWorkbook, objWorksheet, objPivotTable, objPivotField Dim dtmYesterday Const xlCSV = 6 dtmYesterday = FormatDateTime(Date.Now, 2) dtmYesterday = DateAdd("D", -1, dtmYesterday)objExcel = CreateObject("Excel.Application") objWorkbook = objExcel.Workbooks.Open("c:\data\datafile.xlsm") objExcel.DisplayAlerts = False 'objExcel.Visible = True' objWorksheet = objWorkbook.Worksheets("Build Your Own") objPivotTable = objWorksheet.PivotTables("PivotTable4") 'objWorksheet.PivotTables("PivotTable4").PivotFields("[Time].[Day1_2].[Day1_2]").ClearAllFilters()' objPivotField = objPivotTable.PivotFields(6) objPivotField.ClearAllFilters() objPivotField.currentpage = "[Time].[Day1_2].[Day1_2].&[" & dtmYesterday & "]"
Что я уже пробовал:
Я испробовал все, что только мог придумать. Я попытался вызвать его явно, используя номера полей. Ни то, ни другое не сработало. Я подумал, что, возможно, очистка полей дает мне слишком много данных, поэтому я попытался изменить фильтр, не очистив его сначала. Я получил ту же ошибку. Кажется, что каждый раз, когда я пытаюсь что-то сделать с полем, оно дает мне ту же ошибку. Поле правильное и рабочее. Когда я шагаю через программу, я получаю все необходимые данные для поля. Я просто не могу понять, как его очистить или изменить. Любая помощь будет очень признательна.
CHill60
Возможно, это вообще не имеет никакого эффекта, но пробовали ли вы использовать правильные типы для ваших переменных вместо того, чтобы объявлять их как варианты?