Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: Омск on November 09, 2018, 11:28:26 AM

Title: Как остановить скрипт при определенном значении в ячейке Excel
Post by: Омск on November 09, 2018, 11:28:26 AM
Есть столбик в Excel, в нем 6500 ячеек со значениями. Нужно перевести формулы в текст. Скрипт я написал:
Code: [Select]
LCLICK(900,470)
WAITMS(50)
KEYPRESS(#F2)
WAITMS(50)
KEYPRESS(#F9)
WAITMS(50)
KEYPRESS(#TAB)
WAITMS(50)
KEYPRESS(#DOWN)
WAITMS(50)
KEYPRESS(#LEFT)   //1
WAITMS(50)
skip:
KEYPRESS(#F2)
WAITMS(50)
KEYPRESS(#F9)
WAITMS(50)
KEYPRESS(#TAB)
WAITMS(50)
KEYPRESS(#DOWN)
WAITMS(50)
KEYPRESS(#LEFT)   //2
WAITMS(50)
GOTO(skip)

Все работает, но бесконечно. Как остановить скрипт, например, если в ячейке стоит значение "1"? Или если ячейка определенного цвета.
И как сделать, чтобы программа периодически ctr+s нажимала? В списке команд я не нашел такой комбинации.
Title: Re: Как остановить скрипт при определенном значении в ячейке Excel
Post by: Омск on November 09, 2018, 11:57:38 AM
Нашел эту комбинацию, дополнил код:
WAITMS(50)
KEYDOWN (#CTRLs)
WAITMS (50)
Еще бы сделать, чтобы пореже нажималась эта комбинация. Но это не так важно.
Главное сделать, чтобы скрипт остановился, когда закончатся ячейки с данными.
Title: Re: Как остановить скрипт при определенном значении в ячейке Excel
Post by: Oraven on November 09, 2018, 12:26:22 PM
Нашел эту комбинацию, дополнил код:
WAITMS(50)
KEYDOWN (#CTRLs)
WAITMS (50)
Еще бы сделать, чтобы пореже нажималась эта комбинация. Но это не так важно.
Главное сделать, чтобы скрипт остановился, когда закончатся ячейки с данными.

Что ты там нашел??
Вот комбинация Ctrl+S
Code: (clickermann) [Select]
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#S)
KEYUP (#CTRL)
WAITMS(50)

На счет остановки.
Code: (clickermann) [Select]
LCLICK(900,470)
WAITMS(50)

FOR($i=0,$i<6500) // повтор 6500 раз
   KEYPRESS(#F2)
   WAITMS(50)
   KEYPRESS(#F9)
   WAITMS(50)
   KEYPRESS(#TAB)
   WAITMS(50)
   KEYPRESS(#DOWN)
   WAITMS(50)
   KEYPRESS(#LEFT)   //2
   WAITMS(50)
END_CYC
HALT // а потом стоп
Title: Re: Как остановить скрипт при определенном значении в ячейке Excel
Post by: Vint on November 09, 2018, 02:32:43 PM
Есть столбик в Excel, в нем 6500 ячеек со значениями. Нужно перевести формулы в текст.
Тебе нужно зафиксировать вычисляемые значения? Так зачем всё так сложно.
Выделяешь все нужные ячейки (шифтом) -->> Копировать -->> ПКМ -->> Специальная вставка -->> Радио кнопку "значения" или "как значения" -->> Ok
Profit!

Мне часто приходится участки переводить в значения, вывел на панель кнопку "Вставить значения", теперь даже ПКМ дёргать не нужно.
Title: Re: Как остановить скрипт при определенном значении в ячейке Excel
Post by: Омск on November 12, 2018, 07:03:41 PM

Спасибо, этот код работает.
Я хотел доработать, чтобы через каждые, например, 10 значений нажималась кнопка сохранить, но получается или на 11 ячейке сохранить или после каждой ячейки. В коде комбинацию сохранения заменил сигналом для наглядности.

Code: [Select]
LCLICK(577,314)
WAITMS(50)
 
FOR($i=0,$i<30)
   KEYPRESS(#F2)
   WAITMS(50)
   KEYPRESS(#F9)
   WAITMS(50)
   KEYPRESS(#TAB)
   WAITMS(50)
   KEYPRESS(#DOWN)
   WAITMS(50)
   KEYPRESS(#LEFT)   //2
   WAITMS(50)
IF($i=10 )
BEEP(800,200)
END_IF
END_CYC
//EXECUTE("1.mp3")
HALT

Vint
Ваш метод до меня пробовали, он не работает со сложными формулами, там большие формулы с текстом, кавычками и т.п.