Author Topic: Вывод в эксель  (Read 1506 times)

0 Members and 1 Guest are viewing this topic.

Incha

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Вывод в эксель
« on: August 24, 2018, 03:31:45 PM »
Пытаюсь перенести инфу из .txt в эксель. Это в принципе возможно?
А то у меня никак не получается.
Пыталась разными способами.
Например так:
Code: (clickermann) [Select]
SUB(paste)
KEYDOWN(#CTRL)
WAIT(3)
KEYPRESS(#V)
WAIT(3)
KEYUP(#CTRL)
WAIT(3)
END_SUB

IF(TFCOUNT("words1.txt") > $num)
INC($num,1)
ELSE
HALT
END_IF
$str = TFREAD ("words1.txt", $num)
WNDSTATE(WNDFIND("Test"), 1)
   LDOWN(574,622) 

   TOCLIP($str)
   WAIT(3) 
paste()

   WAIT(3) 
   PRINT ($str)
Тут лог пишет, эксель открывает, на ячейку тыкает но ничего не вставляет.
Если убрать WNDSTATE и не привязывать, а просто запустить на странице экселя, то тоже - на ячейку тыкает и все на этом.

Через массив аналогично:
Code: (clickermann) [Select]
SUB(paste)
KEYDOWN(#CTRL)
WAIT(3)
KEYPRESS(#V)
WAIT(3)
KEYUP(#CTRL)
WAIT(3)
END_SUB

TFReadArr("words1.txt", $arr )
WAIT(3)
FOR($a, $a<ARRSIZE($arr))
WAIT(3)
WNDSTATE(WNDFIND("Test"), 1)
   LDOWN(745,299) 
   TOCLIP($arr[$a])
   WAIT(3) 
paste()

   WAIT(3) 
   PRINT ($arr[$a])
   WAIT(3) 

END_CYC
halt

Попробовала вставлять через "правая кнопка мыши-спускаемся вниз-жмем "Вставить":
Code: (clickermann) [Select]
SUB(paste1)
   RDOWN(745,299) 
   WAIT(3) 
   LDOWN(783,366) 
   WAIT(3) 
   KEYPRESS(#ENTER)
END_SUB

TFReadArr("words1.txt", $arr )
WAIT(3)
FOR($a, $a<ARRSIZE($arr))
WAIT(3)
WNDSTATE(WNDFIND("Test"), 1)
   LDOWN(745,299) 
   TOCLIP($arr[$a])
   WAIT(3) 
paste1()

   WAIT(3) 
   PRINT ($arr[$a])
   WAIT(3) 

END_CYC
halt
Тоже не вставляет, но выделяет 4 клетки, как если бы мышь не кликала правой кнопкой, а зажималась. Добавила Rup, выделять 4 ячейки перестало, но все равно не вставляет буфер.
В общем, не получается. Помогите, знающие!
p.s. сори, задержки конские, но это чтобы наблюдать

Атеист

  • Guest
Re: Вывод в эксель
« Reply #1 on: August 24, 2018, 05:22:00 PM »
1. Excel сам умеет получать внешние данные, из текстовых файлов в том числе.
Вот первая попавшаяся инструкция: http://machula.ru/import-dannyih-v-excel-iz-tekstovogo-fayla/
После импорта можно настроить, чтобы Excel сам обновлял эти данные через указанные промежутки времени, или при открытии файла. Вкладка "Данные" => "Подключения" => "Свойства".

2. Можно кликером редактировать текстовый файл формата CSV, который по умолчанию сопоставлен с программой Excel.

3. Можно продолжать тренировки с Clickermann, это полезно.  :)

Incha

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: Вывод в эксель
« Reply #2 on: August 24, 2018, 05:42:10 PM »
1. Ну, это понятно. Но я хочу научиться именно кликером.

2. Можно кликером редактировать CSV
Я надеюсь до этого добраться, да, но пока еще не понимаю, как для начала выполнить задачу - просто скопировать строчку из текстовика и вставить в нужную ячейку экселя.
Что не так в моем скрипте? Почему не получается?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Вывод в эксель
« Reply #3 on: August 24, 2018, 06:12:10 PM »
А зачем ты при вставке зажимаешь левую клавишу мыши LDOWN(574,622)??

Code: (clickermann) [Select]
IF(TFCOUNT("words1.txt") > $num)
   INC($num,1)
ELSE
   HALT
END_IF
$str = TFREAD ("words1.txt", $num)
TOCLIP($str)
PRINT ($str)

WNDSTATE(WNDFIND("Test"), 1)
WAITMS(500)

LCLICK(574,622) // Клик
WAITMS(500)

KEYDOWN (#CTRL) // Вставляем
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
WAIT(3)

Incha

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: Вывод в эксель
« Reply #4 on: August 24, 2018, 07:22:54 PM »
Боже
Спасибо, черный котик!
Была уверена, что это LCLICK
Но в массиве все равно не хочет(
Code: (clickermann) [Select]
TFReadArr("words1.txt", $arr )
WAIT(3)
FOR($a, $a<ARRSIZE($arr))
WAIT(3)
   TOCLIP($arr[$a])
   PRINT ($arr[$a])

WNDSTATE(WNDFIND("Test"), 1)
WAITMS(500)

LCLICK(574,622)
WAITMS(500)

KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
WAIT(3)

END_CYC
halt
Где-то еще ошибка?