1 (изменено: edea28_, 2021-03-01 12:05:44)

Тема: AHK:Прошу помощи в совмещение трех скриптов в один

Имею три скрипта работающие отдельно, но чтоб все заработало как надо хочу совместить в один полноценный скрипт.
По задумки скрипты должны по очереди срабатывать
Первый скрипт ( копирует существующий буфер обмена в txt)


^vkDE::
WinActivate, ahk_class Shell_TrayWnd
fileappend, %ClipboardAll%, C:\home\test1.txt
if errorlevel = 0
   msgbox done
return

Второй скрипт выполняет ctrl A ctrl C всего текста и удаляет тег <table>


^vkA4::
SetBatchLines, -1
ClipBoard =
SendInput, ^{vk41}^{vk43}    ;  ctrl+A crl+C
ClipWait, 2
if ErrorLevel
{
   MsgBox, Буфер обмена пуст!
   Return
 }   
StringReplace, ClipBoard, ClipBoard, <table border="2">,<tablez>, All 
MyVar = %clipboard%
Clipboard := RegExReplace(Clipboard, "s)<tablez>.*?</table>\R?")
SendInput, ^{vk56}     ;  ctrl+V
return

Третий скрипт возвращает самый первый буфер обмена который находится в txt документе.


^vkDC::
WinActivate, ahk_class Shell_TrayWnd
FileRead, Clipboard, *c C:\home\test1.txt
WinActivate, ahk_class Photoshop
return

По задумке это должно все сработать от одного нажатия забиндиной кнопки.

2

Re: AHK:Прошу помощи в совмещение трех скриптов в один

Сценарий всегда выполняется в том же порядке, как Вы читаете текст. Если разместить код всех примеров в одном файле в порядке описания выше — он так и выполнится.

3

Re: AHK:Прошу помощи в совмещение трех скриптов в один

KusochekDobra
Так как мне связать чтоб от одной клавиши сработали все три?

4

Re: AHK:Прошу помощи в совмещение трех скриптов в один

Это очень странный вопрос.
Настолько же странный, как если бы Вы спросили: "Как из трёх разных чашек высыпать сахар в одну?"
Если ответ не очевиден, то я не знаю, как на него ответить.

5 (изменено: edea28_, 2021-03-01 15:37:23)

Re: AHK:Прошу помощи в совмещение трех скриптов в один

KusochekDobra
Это не странный вопрос, прошу в помощи в связание скриптов.
Если вставить в таком порядке как надо, ничего от этого не изменится , я по этому попросил помощи в связание скриптов.


^vkDE::
WinActivate, ahk_class Shell_TrayWnd
fileappend, %ClipboardAll%, C:\home\test1.txt
if errorlevel = 0
   msgbox done
return


^vkA4::
SetBatchLines, -1
ClipBoard =
SendInput, ^{vk41}^{vk43}    ;  ctrl+A crl+C
ClipWait, 2
if ErrorLevel
{
   MsgBox, Буфер обмена пуст!
   Return
 }   
StringReplace, ClipBoard, ClipBoard, <table border="2">,<tablez>, All 
MyVar = %clipboard%
Clipboard := RegExReplace(Clipboard, "s)<tablez>.*?</table>\R?")
SendInput, ^{vk56}     ;  ctrl+V
return

^vkDC::
WinActivate, ahk_class Shell_TrayWnd
FileRead, Clipboard, *c C:\home\test1.txt
WinActivate, ahk_class Photoshop
return

Если убрать return и клавиши активации , по прежнему ничего не работает.

6

Re: AHK:Прошу помощи в совмещение трех скриптов в один

А return и клавиши активации, Вы как убирали? Все?
Не забывайте так же, что между инструкциями, для надёжности можно, да и наверное стоит, в Вашем случае поставить Sleep`ы. Хоткеи же Вы тоже не одновременно нажимаете, или ищите, КАК перед выполнением следующих инструкций убедиться, что предыдущие выполнились корректно и добавьте эту обработку в сценарий.

7 (изменено: edea28_, 2021-03-01 15:37:32)

Re: AHK:Прошу помощи в совмещение трех скриптов в один

KusochekDobra
Никакой полноценно не срабатывает, только MsgBox срабатывает об ошибки что текст не скопирован. Может есть идеи ?


^vkA4::
WinActivate, ahk_class Shell_TrayWnd
fileappend, %ClipboardAll%, C:\home\test1.txt
if errorlevel = 0
   msgbox done
      sleep 200

SetBatchLines, -1
ClipBoard =
SendInput, ^{vk41}^{vk43}    ;  ctrl+A crl+C
ClipWait, 2
if ErrorLevel
{
   MsgBox, Буфер обмена пуст!
   Return
 }   
MyVar = %clipboard%
Clipboard := RegExReplace(Clipboard, "s)<table border=""2"">.*?</table>\R?")
SendInput, ^{vk56}     ;  ctrl+V
     sleep 200
WinActivate, ahk_class Shell_TrayWnd
FileRead, Clipboard, *c C:\home\test1.txt
WinActivate, ahk_class Photoshop
return

8

Re: AHK:Прошу помощи в совмещение трех скриптов в один

Я вроде бы понял в чем проблема.  При исполнения первого скрипта , слетает курсор с текста и по этому следующие скрепты которые работают с текстом не исполняются.