Hi Leute
Wie kann ich mit AutoIt überprüfen, ob das angeklickte Feld im Excel leer ist oder ob das was drin steht?
Danke für die Hilfe.
Hi Leute
Wie kann ich mit AutoIt überprüfen, ob das angeklickte Feld im Excel leer ist oder ob das was drin steht?
Danke für die Hilfe.
Mit _ExcelReadCell. Aber wenn du es anklickst siehst du doch ob es leer ist oder nicht (mit deinen Augen).
"Aber wenn du es anklickst siehst du doch ob es leer ist oder nicht (mit deinen Augen). "
Nicht wenn sein skript das Feld anklickt und er garnicht dabei ist.
Ja es ist klar, dass ich es mit den Augen sehe, aber das Skript sollte mir dann ein paar zahlen zusammenzählen.
Um die Zahlen zusammen zu zählen muss ganz vorne ein = stehen.
Also sollte das Skript =(dann die Zahl) schreiben.
Wenn jetzt schon eine zahl drin steht muss es ja dann +(eine Zahl) heissen.
Verstehst du?
Nicht wenn sein skript das Feld anklickt und er garnicht dabei ist.
:wacko: Ein Skript, das Excel-Zellen anklickt?! Das wäre ja, als ob man sich die Schuhe mit 'nem Spannkloben zubindet.
Sag lieber mal, was es überhaupt werden soll, dann läßt sich auch sinnvolle Hilfestellung geben.
In einer Excel Datei steht in der Spalte A das Datum und in der spalte B sollte dann eben dieser Wert stehen.
Ich habe bereits ein Skrip, welches mir die Zeit eines geöffneten Programms misst.
Wenn das Programm nun geschlossen wird soll das Skript die Excel-Datei öffnen, das Datum suchen und eine Spalte rechts davon die Werte eintragen.
Wenn jetzt aber dieses besagte Programm noch einmal geöffnet wird würde es ja die Zeit von vorher überschreiben.
Aber es sollte wenn schon ein wert vorhanden ist einfach vor der zahl ein + machen und anschliessend die Zahl einfügen.
Versteht ihr was ich meine?
Also ich schon. Und warum machst du das ganze nicht über ein Skript, sondern willst selber klicken?
Von mir aus kann es auch übers Skript laufen.
Dann beschreib doch mal genau dein Vorhaben, mit Beispiel-Excel-Datei.
Mal aus der Hüfte, ungetestet:
Func _WriteTimeToCell($sExcelPath, $sDate, $iTime)
If StringRight($sExcelPath, 4) <> '.xls' Then $sPath &= '.xls'
If Not FileExists($sExcelPath) Then Return SetError(1,0,0) ; Datei existiert nicht
Local $oExcel = ObjGet('', "Excel.Application"), $fCreate = False, $address, $value
If @error Then
$oExcel = ObjCreate("Excel.Application")
$fCreate = True
EndIf
With $oExcel
.Visible = 0
.Workbooks.Open($sExcelPath)
$match = .ActiveWorkBook.Sheets(1).Range('A:A').Find($sDate)
.Application.DisplayAlerts = False
If Not IsObj($match) Then
If $fCreate Then
.Application.Quit
Else
.ActiveWorkBook.Close
.Application.DisplayAlerts = True
EndIf
Return SetError(2,0,0) ; $sDate nicht gefunden
EndIf
$address = $match.Address(False, False)
$value = .ActiveWorkBook.Sheets(1).Range($address).Offset(0, 1).Value
.ActiveWorkBook.Sheets(1).Range($address).Offset(0, 1).Value = $value +$iTime
.ActiveWorkBook.Save
If $fCreate Then
.Application.Quit
Else
.ActiveWorkBook.Close
.Application.DisplayAlerts = True
EndIf
EndWith
Return 1
EndFunc