Есть папка с файлами. Мне нужно подсчитать именно файлы с расширением .xlsx в активной папке и подставить это значение в переменную, которая будет взаимодействовать с циклом.
В ней может быть 1 файл .xlsx, а может и 10.
поковырявшись на форуме нашел отдельно решения для поиска пути активной директории и отдельно подсчет количества файлов.
Вот какой код получился, но он выдает ошибку.
Ниже цикл который выполняется корректно в него надо подставить цифру с количеством файлов в переменную $i, сейчас там статичная цифра 8
по итогу хотелось бы чтобы в переменную $i в цикле подставлялось значение количества файлов .xlsx (в примере сейчас там статично цифра 8)
P.S. Система Windows 10
В ней может быть 1 файл .xlsx, а может и 10.
поковырявшись на форуме нашел отдельно решения для поиска пути активной директории и отдельно подсчет количества файлов.
Вот какой код получился, но он выдает ошибку.
Код:
#include <Array.au3>
#include <File.au3>
#include <Word.au3>
WinWaitActive ("[CLASS:CabinetWClass]", "") ;папка с файлами
Func check()
$title = WinGetTitle("[ACTIVE]")
$text = WinGetText ($title)
$lines = StringSplit($text, @LF, 1)
if IsArray($lines) Then
$adres = StringRegExpReplace($lines[15],"Адрес: ","")
ConsoleWrite($adres&@CRLF)
Else
EndIf
EndFunc
$sMask = '*.xlsx'
$sFPath = check()
$aFiles = _FileListToArray($sFPath, $sMask, 1)
ConsoleWrite('"'&$aFiles&@CRLF&'"')
$iFiles = $aFiles[0]
ConsoleWrite('"'&$iFiles&@CRLF&'"')
Ниже цикл который выполняется корректно в него надо подставить цифру с количеством файлов в переменную $i, сейчас там статичная цифра 8
Код:
for $i = 8 to 1 step -1
Sleep (1000)
Send("{DOWN 1}")
Sleep (1000)
Send("{F2}")
Sleep (500)
Send("{CTRLDOWN}c{CTRLUP}")
Sleep (500)
Send("{ALTDOWN}{TAB}{ALTUP}") ;переключение между окнами
WinWaitActive ("[CLASS:OpusApp]", "") ;открытие WORD
Sleep (500)
Send("{CTRLDOWN}v{CTRLUP}")
Send("{ENTER 2}")
Send("{ALTDOWN}{TAB}{ALTUP}") ;переключение между окнами
WinWaitActive ("[CLASS:CabinetWClass]", "") ;папка с файлами
Sleep (500)
Send("{ENTER}")
WinWaitActive ("[CLASS:XLMAIN]", "") ;открытие EXEL
Sleep (1000)
MouseClick("left",155, 359,1);Тыкнул в таблицу
Sleep (1000)
Send("{CTRLDOWN}a{CTRLUP}") ;Выбрал все в таблице
Sleep (1000)
Send("{CTRLDOWN}c{CTRLUP}")
Sleep (1000)
MouseClick("left",171, 1064,1) ;переключение на WORD
Sleep (1000)
WinWaitActive ("[CLASS:OpusApp]", "") ;открытие WORD
Send("{CTRLDOWN}v{CTRLUP}")
Sleep (1000)
;блок форматирования таблицы
WinWaitActive ("[CLASS:OpusApp]", "") ;открытие WORD
Send("{UP 1}")
Send("{CTRLDOWN}{ALTDOWN}g{CTRLUP}{ALTUP}") ;выделение таблицы
Sleep (1000)
Send("{CTRLDOWN}{ALTDOWN}j{CTRLUP}{ALTUP}") ;автоподбор ширины
Sleep (1000)
MouseClick("left",1137, 45,1) ;макет
Sleep (1000)
MouseClick("left",1003, 82,1) ;высота
Sleep (1000)
Send("0")
Sleep (1000)
Send("{ENTER}")
Sleep (1000)
Send("{CTRLDOWN}e{CTRLUP}") ;выравнивание по середине
Sleep (1000)
Send("{DOWN 1}")
Sleep (1000)
Send("{ENTER}")
;блок форматирования таблицы
MouseClick("left",216, 1066,1) ;переключение на EXEL
Sleep (1000)
WinWaitActive ("[CLASS:XLMAIN]", "") ;открытие EXEL
Sleep (1000)
Send("{ALTDOWN}{F4}{ALTUP}") ;закрытие EXEL
Sleep (1000)
MouseClick("left",269, 1065,1) ;папка с файлами
WinWaitActive ("[CLASS:CabinetWClass]", "")
Next
по итогу хотелось бы чтобы в переменную $i в цикле подставлялось значение количества файлов .xlsx (в примере сейчас там статично цифра 8)
P.S. Система Windows 10