Тема: AHK: Excel AutoFilter и массив
Добрый день!
Пытаюсь создать скрипт работающий с автофильтром в excel. Данный скрипт прекрасно работает.
oExcel := ComObjCreate("Excel.Application")
oExcel.Visible := True
xlspath = %A_Desktop%\Москва.xlsx
oExcel.Workbooks.Open(xlspath)
sheet := oExcel.ActiveSheet
oExcel.ActiveWorkbook.Names.Item("_FilterDatabase").Delete
sheet.Range("A1:D1").AutoFilter(2, "Магазин Москва")
sheet.Range("A1:D1").AutoFilter(3, "=")
oExcel.Range("A1", oExcel.Range("A1").End(-4121)).Copy
Sleep,500
FileAppend, % clipboard, %A_Desktop%\Москва.txt
clipboard =
oExcel.ActiveSheet.AutoFilterMode:= False
oExcel.ActiveWorkbook.Save()
oExcel.Application.Quit()
Return
Проблема возникает с массивом в этой строке: sheet.Range("A1:D1").AutoFilter(2, "Магазин %var%")
Array := Array("Москва","Владивосток")
for i,var in Array
{
oExcel := ComObjCreate("Excel.Application")
oExcel.Visible := True
xlspath = %A_Desktop%\%var%.xlsx
oExcel.Workbooks.Open(xlspath)
sheet := oExcel.ActiveSheet
oExcel.ActiveWorkbook.Names.Item("_FilterDatabase").Delete
sheet.Range("A1:D1").AutoFilter(2, "Магазин %var%") ; как сюда передать переменную
sheet.Range("A1:D1").AutoFilter(3, "=")
oExcel.Range("A1", oExcel.Range("A1").End(-4121)).Copy
Sleep,500
FileAppend, % clipboard, %A_Desktop%\%var%.txt
clipboard =
oExcel.ActiveSheet.AutoFilterMode:= False
oExcel.ActiveWorkbook.Save()
oExcel.Application.Quit()
}
Return