1 (изменено: red2881, 2016-08-10 13:42:07)

Тема: 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
Post's attachments

Город.zip 16.13 kb, 2 downloads since 2016-08-10 

You don't have the permssions to download the attachments of this post.

2

Re: AHK: Excel AutoFilter и массив

"Магазин " var

3

Re: AHK: Excel AutoFilter и массив

Drugoy

Сутки угробил на эту...... Спасибо.