Saturday, September 17, 2011

XMacro Go To Website Copy Stuff from Excel and Paste

Setup
First window open is openoffice excel document
second is website
third is terminal

//Wait two seconds
Delay 2
//Open location in firefox
KeyStrRelease Control_L
KeyStrPress Control_L
KeyStrPress l
KeyStrRelease l
KeyStrRelease Control_L


String https://www.websitetouloadstuff.com

//Hit enter goes to site so wait 7 seconds
KeyStrPress Return
KeyStrRelease Return
Delay 7

//create
KeyStrPress c
KeyStrRelease c

//alt tab to excel
KeyStrPress Alt_L
Delay 1
KeyStrPress Tab
KeyStrRelease Tab
Delay 1
KeyStrPress Tab
KeyStrRelease Tab
KeyStrRelease Alt_L

//copy data
KeyStrPress Control_L
KeyStrPress c
KeyStrRelease Control_L
KeyStrRelease c

//go down a cell
KeyStrPress Down
KeyStrRelease Down

//alt tab to firefox
KeyStrPress Alt_L
Delay 1
KeyStrPress Tab
KeyStrRelease Tab
KeyStrRelease Alt_L

//paste info
KeyStrPress Control_L
KeyStrPress v
KeyStrRelease Control_L
KeyStrRelease v
Delay 1

//change loxcation
KeyStrPress Tab
KeyStrRelease Tab
KeyStrPress Tab
KeyStrRelease Tab
KeyStrPress Tab
KeyStrRelease Tab
KeyStrPress Down
KeyStrRelease Down
KeyStrPress Return
KeyStrRelease Return
Delay 5
//hit enter so load site

//save it
KeyStrPress Control_L
KeyStrPress s
KeyStrRelease Control_L
KeyStrRelease s

//rinse repeat

bash run.sh
#!/bin/bash
for (( i=0; i<4000; i++ ))
do
cat xmacro_v5.log | xmacroplay ":0.0"
done

xmacrorec2

install from ubuntu repository xmacro

//record it
xmacrorec2 > xmacro_v2.log
//hit home key, so don't ever press home key while recording
//saver.log is in top level of root directory

//replay it
cat xmacro_v2.log | xmacroplay ":0.0"

don't use the delay optino in xmacroplay...
hard code it in saver.log other keypresses will last 5 seconds, including control keys!!


Here is an example log file

Delay 3
MotionNotify 306 797
ButtonPress 1
ButtonRelease 1
Delay 1
MotionNotify 861 92
ButtonPress 1
ButtonRelease 1
Delay 1
MotionNotify 966 187
KeyStrPress Control_L
KeyStrRelease Control_L
KeyStrPress Control_L
KeyStrRelease Control_L
KeyStrPress Control_L
KeyStrRelease Control_L
KeyStrPress Control_L
KeyStrPress k
KeyStrRelease k
KeyStrRelease Control_L
KeyStrPress Control_L
KeyStrPress c
KeyStrRelease c
KeyStrRelease Control_L
KeyStrPress Control_L
KeyStrPress l
KeyStrRelease l
KeyStrRelease Control_L
KeyStrPress Control_L
KeyStrPress v
KeyStrRelease Control_L
KeyStrRelease v
KeyStrPress Return
KeyStrRelease Return
Delay 5
KeyStrPress c
KeyStrRelease c
MotionNotify 121 786
ButtonPress 1
ButtonRelease 1
Delay 5
KeyStrPress Control_L
KeyStrPress c
KeyStrRelease Control_L
KeyStrRelease c
MotionNotify 323 799
KeyStrPress Down
KeyStrRelease Down
MotionNotify 289 787
ButtonPress 1
ButtonRelease 1
Delay 5
KeyStrPress Control_L
KeyStrPress v
KeyStrRelease Control_L
KeyStrRelease v
KeyStrPress Tab
KeyStrRelease Tab
KeyStrPress Tab
KeyStrRelease Tab
KeyStrPress Tab
KeyStrRelease Tab
KeyStrPress Down
KeyStrRelease Down
MotionNotify 270 249
ButtonPress 1
ButtonRelease 1
Delay 5
MotionNotify 1091 237
ButtonPress 1
ButtonRelease 1
Delay 5


To run xmacro in a loop

create a bash file with executable permissions
such as bash-xmacro.sh then run it
bash bash-xmacro.sh


#!/bin/bash
for (( i=0; i<5; i++ ))
do
cat xmacro_v2.log | xmacroplay ":0.0"
done