1

Тема: AHK: вставить значение переменной сразу целиком, а не посимвольно

Уважаемые форумчане, подскажите пожалуйста каким образом вставить значение переменной  целиком - так, как если бы текст скопировать в буфер, а потом вставить из буфера по ctrl+v, а не посимвольно как это происходит используя команду Send.
Ниже код с теми вариантами, которые пробовал.


#F4::
FormatTime, TimeString, ,yyyy-MM-dd HH:mm ;2016-03-10 11:55
;MsgBox The current time and date (time first) is %TimeString%.
;Send %TimeString% ; вставка по символам
SendInput {Raw}%TimeString% ; вставка по символам как send, но быстрее!
;ControlSend,, %TimeString%, ahk_class Notepad; также по буквам
return

ПС. Можно было бы использовать буфер обмена, а потом вставлять содержимое буфера с помощью Send ^{vk56}, но хотелось бы миновать использование буфера обмена чтобы избежать пополнение журнала менеджера буфера обмена.
Благодарю.

2 (изменено: Flasher, 2016-03-07 00:44:09)

Re: AHK: вставить значение переменной сразу целиком, а не посимвольно

В стандартных полях с фокусом ввода можно так:

#Persistent
SetBatchLines -1
SetControlDelay -1
#SingleInstance force

#F4::
FormatTime, TimeString, ,yyyy-MM-dd HH:mm
ControlGetFocus, Var, A
Control EditPaste, % TimeString, % Var, A

3 (изменено: laburj, 2016-03-06 22:33:12)

Re: AHK: вставить значение переменной сразу целиком, а не посимвольно

Flasher
Не указал момент, что скрипт должен функционировать в любом приложении там где установлен курсор - хоть в блокноте, хоть в ячейке excel'я и в файлах уже буден введен до этого текст (блокнот в коде я использовал только для теста).

4

Re: AHK: вставить значение переменной сразу целиком, а не посимвольно

При таких условиях, думаю, единственный вариант - использовать буфер обмена.

5

Re: AHK: вставить значение переменной сразу целиком, а не посимвольно

laburj
Под ячейки универсального варианта, думаю, нет, а для обычных полей с фокусом ввода исправил.

6

Re: AHK: вставить значение переменной сразу целиком, а не посимвольно

Flasher, для обычных полей с фокусом ввода, если брать во внимание:

и в файлах уже буден введен до этого текст

то стоит использовать не ControlSetText, а Control, EditPaste.

EditPaste, String: Pastes String at the caret/insert position in an Edit control (this does not affect the contents of the clipboard).

https://autohotkey.com/docs/commands/Control.htm

7

Re: AHK: вставить значение переменной сразу целиком, а не посимвольно

ОК, заменил.