Программное нажатие клавиш из 1С
Как имитировать нажатие клавиш?
Для имитации нажатия клавиш в Windows используется объект "Wscript" делается это следующим образом:
ТекстДок = Новый ТекстовыйДокумент;
Shell = Новый COMОбъект("WScript.Shell");
ТекстДок.Показать();
Shell.SendKeys("Напечатали текст");
Shell.SendKeys("{ENTER}");
Shell.SendKeys("{_ 10}");
Shell.SendKeys("{ENTER}");
Shell.SendKeys("Ж");
Shell.SendKeys("м");
Shell.SendKeys("ё");
Shell.SendKeys("м");
Shell.SendKeys("{ESC}{TAB}"); //{ENTER}
В этом примере мы создаем текстовый документ, показываем его и начинаем нажимать клавиши. Отмечу, что имитация нажатия клавиш происходит также, если бы Вы их нажимали в реальности. Т.е. если сделать активным другое приложение, то клавиши будут нажиматься в нём.
Какие буквы можно писать: Как видите буквы вводятся как есть, а системные клавиши в круглых скобках "{}" также в круглых скобках можно указывать количество повторов какого-либо символа.
Можно ставить задержку между методами "SendKeys" и тогда будет создаваться впечатление, что текст печатается человеком. Думаю, Вы догадываетесь, если в примере в последней строчке добавить закомментаренный вызов клавиши Enter в вызываемы метод, то окно закроется.