Тема: AHK: Excel_FilterDatabase
Добрый вечер! Прошу помощь в проблеме, которую никак не могу решить. С файлом работают в течении дня вручную и иногда сохраняют с фильтром, создать макрос на очистку фильтра перед выходом - .xlsx в .xlsm не вариант.
Имею код
path = .... .xlsx
Xl := ComObjCreate("Excel.Application")
Xl.Workbooks.Open(Path)
Xl.Visible := true
If (xl.Worksheets(1).FilterMode)
xl.Worksheets(1).ShowAllData
; Gui для выбора периода
Gui 1:Default
Gui, +LastFound +AlwaysOnTop +Caption +ToolWindow
Gui, Font, +s12
Gui, Add, Text, x10 y20 w120 h20, First Date:
Gui, Add, DateTime, x120 y20 wp25 h20 vFirstDate Section,
Gui, Add, Text, x10 y70 w120 h20 , Second Date:
Gui, Add, DateTime, x120 y70 wp25 hp vSecondDate Section,
Gui, Add, Button, x195 y110 w70 h25 Default, &OK
Gui, Show, w280 h140, Выбор периода фильтрации
Return
ButtonOK:
Gui, submit, nohide
FormatTime, FirstDate , %FirstDate% , dd.MM.yyyy
FormatTime, SecondDate , %SecondDate% , dd.MM.yyyy
xl.Worksheets(1).Range("A1:AX1").AutoFilter(18, ">=" FirstDate, xlAnd := 1, "<=" SecondDate)
GuiClose:
Gui, Destroy
Если файл содержит фильтр, то сразу после запуска скрипта вылетает ошибка с Конфликтом имен, пробовал
xl.ActiveWorkbook.Item("_FilterDatabase").Delete
- не помогает,
ControlSend, EDTBX1, ******, Конфликт имен
не помогает, .xlsx в .xls не вариант.
Заранее спасибо!