autoIT Schleife Variablen hochzählen

VXCK

Cadet 3rd Year
Registriert
Sep. 2018
Beiträge
47
Hallo zusammen,

könnte mir jemand ein wenig helfen? Und zwar habe ich folgende Schleife:

$i=0
while $i<60

Local $_read1 = _Excel_RangeCopyPaste( $oWorkbook , Default , "B1" )
MouseClick( "left" ,346, 335 , 1 ) ; Eingabe links anwählen
Sleep(500)
Send("^a")
Sleep(50)
Send("{BS}")
Sleep(50)
send($_read1)
Sleep(50)
Send("{ENTER}")
Sleep(2000)
MouseClick( "left" ,712, 267 , 2 ) ; Kopieren Button rechts
_Excel_RangeWrite ( $oWorkbook, 1 ,ClipGet() , "F1" , True , False )

$i=$i+1
wend

Das Script soll aus einer Excel Tabelle B1-60 lesen, in Google Translator übersetzten und auf F1-60 der Tabelle schreiben. Kann mir jemand erklären, wie ich es anstelle, dass die rot markierten Werte als Variablen von 1-60 durchlaufen? Danke schon mal :)
 
Kenne mich mit AutoIT nicht aus. Aber Google Docs hat dafür ne extra Funktion. Das wäre deutlich einfacher
 
Auch möglich per FOR-Schleife:
Code:
#include <MsgBoxConstants.au3>

For $i = 1 To 60 Step 1
    MsgBox(0,"", "Zelle B" & $i)
Next

Der Quellcode aus Post#1 kann nur bedingt getestet werden (die Mausklicks landen ja bei jedem an ganz anderer Stelle).

Auf jeden Fall muß $i mit rein, da dies die Zählvariable ist, welche inkrementiert wird.

$i = 0 ist nicht richtig, da dann mit Zelle b0 begonnen wird (die gibt es ja nicht). Daher mit $i = 1 beginnen.

So sollte es klappen (read muß nicht hochgezählt werden):
Code:
$i=1
while $i<60

Local $_read = _Excel_RangeCopyPaste( $oWorkbook , Default , "B" & $i )
MouseClick( "left" ,346, 335 , 1 ) ; Eingabe links anwählen
Sleep(500)
Send("^a")
Sleep(50)
Send("{BS}")
Sleep(50)
send($_read)
Sleep(50)
Send("{ENTER}")
Sleep(2000)
MouseClick( "left" ,712, 267 , 2 ) ; Kopieren Button rechts
_Excel_RangeWrite ( $oWorkbook, 1 ,ClipGet() , "F1" , True , False )

$i=$i+1
wend
 
Zuletzt bearbeitet:
Mega!!! Vielen Dank! Klappt

Das Ganze sieht jetzt so aus:

For $i = 1 To 60 Step 1

Local $_read = _Excel_RangeCopyPaste( $oWorkbook , Default , "B" & $i )
Local $_read = _Excel_RangeRead($oWorkbook, Default , "B" & $i)
MouseClick( "left" ,346, 335 , 1 ) ; Eingabe links anwählen
Sleep(500)
Send("^a")
Sleep(50)
Send("{BS}")
Sleep(50)
send($_read)
Sleep(50)
Send("{ENTER}")
Sleep(2000)
MouseClick( "left" ,712, 267 , 2 ) ; Kopieren Button rechts
_Excel_RangeWrite ( $oWorkbook, 1 ,ClipGet() , "F" & $i , True , False )

Next

Im Schreiben-Befehl hat noch die Variable gefehlt.
 

Ähnliche Themen

M
Antworten
0
Aufrufe
8.261
Mr. Snoot
M
Zurück
Oben