Друзья. Я копирую данные из таблицы Excel и вставляю их в какую-либо онлайн-форму. В этой онлайн-форме есть четыре поля: первое - имя клиента, второе - имя отца, третье - адрес и далее - номер контакта. и у меня есть вся эта информация в листе Excel, который я копирую, используя следующий скрипт autohotkey:

F2::
Loop
}
Send, {CTRLDOWN}c{CTRLUP}{ALTDOWN}{TAB}{ALTUP}
SLEEP 100
Send, {CTRLDOWN}v{CTRLUP}{TAB}{ALTDOWN}{TAB}{ALTUP}
SLEEP 100
Send, {DOWN}{CTRLDOWN}c{CTRLUP}{ALTDOWN}{ALTUP}
SLEEP 100
Send, {CTRLDOWN}v{CTRLUP}{TAB}{ALTDOWN}{ALTUP}
SLEEP 100
Send, {DOWN}{CTRLDOWN}c{CTRLUP}{ALTDOWN}{TAB}{ALTUP}
SLEEP 100
Send, {CTRLDOWN}v{CTRLUP}{TAB}{ALTDOWN}{ALTUP}
SLEEP 100
Send, {DOWN}{CTRLDOWN}c{CTRLUP}{ALTDOWN}{TAB}{ALTUP}
SLEEP 100
Send, {CTRLDOWN}v{CTRLUP}{ALTDOWN}{ALTUP}
SLEEP 100
Send, {right}{up}{up}{up}{up}
}
Return

Но здесь проблема в том, что, если информация уже существует в онлайн-форме, такой как второе поле, т.е. имя отца уже существует в этой онлайн-форме, даже тогда она вставляет данные в это поле, и я должен перезагрузить скрипт и вручную заполнить остальные. полей, а затем снова запустите скрипт. Это вызывает проблемы, и все запутано. Таким образом, существует ли какой-либо способ или метод, с помощью которого мы можем применить условие в сценарии, что, если в каком-либо из четырех полей уже есть какие-либо данные, он не должен отправлять что-либо в то поле, в котором уже есть некоторые данные. Благодарю.

2 ответа2

0

Вместо того, чтобы беспокоиться об условных выражениях и проверять содержимое полей формы, если это свежая форма при каждом запуске сценария, почему бы просто не встроить Ctrl+A и Удалить для каждого поля, прежде чем вводить необходимые данные?

0

Попробуйте включить "проверку", чтобы увидеть, есть ли что-нибудь в этом поле данных:

Имея это, выберите поле и скопируйте его в буфер обмена, а затем попросите AHK сравнить содержимое буфера обмена и, если оно пустое, продолжить и, если оно не пустое, сделать что-то еще.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .