Кусок кода позволяет найти файлы (в папке загрузки) по одинаковому словосочетанию в названии, из них выбирается файл более новый, например: по дате (времени) в названии самого файла. С помощью горячих клавиш файл разблокируется (для Office 2016).
Работает для Windows 8.1, Office 2016.
//Закрыть окно Clickermann
WNDSTATE(WNDFIND("Редактор - C:\Clickermann\"), 0)
WAIT(1)
//------------------------- Начальные данные для поиска файла ------------------
$name = inputbox("Введи имя файла для поиска или используй по умолчанию:", "price_2018", 5)
HINTPOPUP($name, "Искать файл по имени:")
WAIT(2)
//Добавление "0" перед месяцем и датой, если они имеют длину в 1 знак
IF(STRLEN($_date_m) = 1)
$_date_m = STRCONCAT("0", $_date_m)
END_IF
IF(STRLEN($_date_d) = 1)
$_date_d = STRCONCAT("0", $_date_d)
END_IF
//Объединить в одну строку год, месяц, дату: "20180224"
$_date_ = STRCONCAT($_date_y, $_date_m, $_date_d)
HINTPOPUP($_date_, "Искать файл по дате:")
WAIT(2)
//------------------------- Цикл поиска нужного файла --------------------------
GETFILELIST($prices, "C:\Users\User\Downloads\*.xlsx")
$price = "Нет файлов с таким именем !"
FOR($n = 0, $n < ARRSIZE($prices))
$price = "Нет нового файла !"
//Поиск "однотипных" файлов, например: с одинаковым началом в названии
IF(STRPOS($prices[$n], $name) = 1)
//Поиск среди них "свежего" файла, например: по дате, по времени
IF(STRPOS($prices[$n], $_date_) > 0)
$price = $prices[$n]
$n = ARRSIZE($prices)
END_IF
END_IF
END_CYC
//Если искомого файла "Нет" - останов
SWITCH(STRPOS($price, "Нет"))
CASE(1)
HINTPOPUP($price, "Файл НЕ найден:")
WAIT(3)
HALT
DEFAULT
HINTPOPUP($price, "Файл найден:")
WAIT(2)
END_SWITCH
//------------------------- Разблокировть файл (Office 2016) -------------------
//------------------------- Работа в проводнике Windows
EXECUTE("C:\Windows\explorer.exe\")
WAIT(1)
WNDSETINFO(WNDFIND("Этот компьютер"), 0, 0, 1440, 862)
WAITMS(500)
//Переключение языка на RU
SETKBLAYOUT(WNDFIND("Этот компьютер"), 1049)
WAIT(1)
//Папка загрузки
KEYDOWN(#F4)
WAITMS(100)
KEYDOWN(#CTRL)
WAITMS(50)
KEYPRESS(#A)
WAITMS(50)
KEYUP(#CTRL)
WAITMS(100)
//Вставить путь к папке. Имя пользователя: "User"
TOCLIP("C:\Users\User\Downloads\")
KEYDOWN(#CTRL)
WAITMS(50)
KEYPRESS(#V)
WAITMS(50)
KEYUP(#CTRL)
WAITMS(300)
KEYPRESS(#ENTER)
WAIT(1)
//Окно поиска
KEYDOWN(#CTRL)
WAITMS(50)
KEYPRESS(#F)
WAITMS(50)
KEYUP(#CTRL)
WAITMS(500)
//Вставить имя найденного файла
TOCLIP($price)
KEYDOWN(#CTRL)
WAITMS(50)
KEYPRESS(#V)
WAITMS(50)
KEYUP(#CTRL)
WAIT(1)
KEYPRESS(#ENTER)
WAIT(1)
//------------------------- перейти к файлу и разблокировать
KEYPRESS(#DOWN)
WAIT(1)
KEYDOWN(#CTRL)
WAITMS(50)
KEYPRESS(#A)
WAITMS(50)
KEYUP(#CTRL)
WAIT(1)
KEYDOWN(#ALT)
WAITMS(50)
KEYPRESS(#ENTER)
WAITMS(50)
KEYUP(#ALT)
WAIT(1)
//Разблокировать: "З" (RU)
KEYPRESS(80)
WAITMS(100)
KEYPRESS(#ENTER)
WAIT(1)
//Закрыть проводник
KEYDOWN(#CTRL)
WAITMS(50)
KEYPRESS(#W)
WAITMS(50)
KEYUP(#CTRL)
WAIT(2)
Если покороче и без горячих клавиш, то разблокировать файл можно так (путь к PowerShell указан для 32-разрядной системы):
//------------------------- Разблокировть файл (Office 2016) -------------------
EXECUTE("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe")
WAITMS(100)
KEYSTRING(STRCONCAT(" unblock-file -path C:\Users\User\Downloads\", $price))
KEYPRESS(#ENTER)
WAITMS(100)
KEYSTRING("exit")
KEYPRESS(#ENTER)
WAITMS(100)