Тема: AHK: задать путь сохранения.
добрый день. Как задать путь до директории вот в этом окне?
Необходимо при вызове окна, открыть ту папку, которую мы пропишем в коде.
обычное окно сохранения файла в программе.
Буду благодарен за помощь
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
добрый день. Как задать путь до директории вот в этом окне?
Необходимо при вызове окна, открыть ту папку, которую мы пропишем в коде.
обычное окно сохранения файла в программе.
Буду благодарен за помощь
Не знаю, правильно ли я понял условие…
Если одновременно открыть несколько диалогов, то будет работать только с первым:
#SingleInstance force
#NoEnv
DIRECTORY = D:\Soft
EXENAME = notepad.exe
1:
WinWait ahk_class #32770 ahk_exe %EXENAME%
ControlGetText SavedText, Edit1
ControlSetText Edit1, %DIRECTORY%
ControlClick Button2
ControlSetText Edit1, %SavedText%
ControlFocus Edit1
WinWaitClose
goto 1
Не совсем так. Ваш код сохраняет файл, но не в указанную папку directory. файл сохраняется непонятно куда.
Скорее всего в ту директорию, которая была последней открыта.
Мне необходимо в edit2! задать путь, куда сохранится файл
В notepad используется edit , можно к примеру так:
WinWait ahk_class #32770 ahk_exe %EXENAME%
ControlGetText SavedText, Edit1
ControlSetText Edit1, %SavedText%
Send, {F4}
ControlSetText Edit2, %DIRECTORY%
ControlClick, Button2, ahk_class #32770
WinWaitClose
но скажем в photoshop, как и в других более продвинутых программах используется combobox
Как передать ему строку %DIRECTORY% ?
Ваш код сохраняет файл, но не в указанную папку directory. файл сохраняется непонятно куда.
Мой код вообще не сохраняет файл, он лишь переключает директорию на указанную («D:\Soft» в примере); после чего пользователь должен сам отредактировать имя файла или выбрать существующий. Работоспособность кода было проверена.
Если папка указанная в переменной DIRECTORY не существует, но существует её надпапка, то да, произойдёт сохранение файла под этим именем.
Возможно ещё, что если задано расширение по умолчанию (например, «ext»), то тоже произойдёт сохранение файла D:\Soft.ext вместо перехода в папку D:\Soft — если это так, то следует добавить к DIRECTORY «\» или «\*».
Ещё, возможно, для устойчивой работы стоит попробовать добавить Sleep перед ControlClick или использовать SetControlDelay.
Мне необходимо в edit2! задать путь, куда сохранится файл
Включая само имя файла?
В notepad используется edit , но скажем в photoshop, как и в других более продвинутых программах используется combobox
Нет, в notepad тот же combobox.
Спасибо, понял.
Будете смеяться, но я не знал, что в строку имени файла можно вбить путь, и он там будет сохраняться ![]()
WinWait ahk_class #32770 ahk_exe %EXENAME%— приношу извинения, сказывается отсутствие опыта в AHK,
на самом деле ahk_class #32770 имеют почти все диалоговые окна и скрипт будет реагировать на любой MessageBox (и не только) от отслеживаемого приложения.
Чтобы этого не происходило, следует в условие ожидания добавить заголовок диалогового окна:
. . .
DIALOGTITLE=Сохранить как
1:
WinWait %DIALOGTITLE% ahk_class #32770 ahk_exe %EXENAME%
. . .Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться