1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. bratwurstdealer

Beiträge von bratwurstdealer

  • "Schnelle Variablenbefüllung" und eindeutige Zuordnung von Checkboxen gesucht

    • bratwurstdealer
    • 30. September 2014 um 09:15

    Kann mir niemand helfen? Das Update hat meine komplette Funktionalität zerschossen. Ich habe versucht das Skript umzuschreiben und versuche nun anhand von
    Local $sText = WinGetText("[ACTIVE]")
    das ganze abzufangen.

    Aber auf ein Ereignis (das "erfolgreich gespeichert") kann ich einfach nicht reagieren, da das durch die Methode nicht abgedeckt wird.
    Ich brauche das Skript nachher...

  • "Schnelle Variablenbefüllung" und eindeutige Zuordnung von Checkboxen gesucht

    • bratwurstdealer
    • 29. September 2014 um 17:27

    Momentan brauche ich das wirklich, ja.
    Ich brauche das Skript morgen für eine Dateneinspielung. Danach kann ich sehen ob ich es überarbeiten kann, aber für morgen muss es noch funktionieren.

    Die dll heißt doch
    ImageSearchDLL.dll oder?
    Die liegt im gleichen Verzeichnis wie mein Skript.
    Allerdings habe ich die für 32 Bit runtergeladen, ich nutze ein 64Bit Windoof. Allerdings ist mein AutoIT usw auch alles für 32Bit - und davor ging es ja auch.

    edit:

    Ich habe die Datei mal umbenannt. (jetzt heißt sie ImageSearch.dll)
    Auto IT meldet jetzt

  • "Schnelle Variablenbefüllung" und eindeutige Zuordnung von Checkboxen gesucht

    • bratwurstdealer
    • 29. September 2014 um 16:41

    Nächstes Problem:

    Jetzt funktioniert meine ImageSearch Klasse garnicht mehr.

    Code, bei dem es anhält:

    Code
    $image = 0
    		Sleep(50)
    		$image = _imagesearch("erfolgreichgespeichert.bmp", 1, $k, $l, 0)
    			If $image <> 1 Then
    				Sleep(200)
    				$image = _imagesearch("erfolgreichgespeichert.bmp", 1, $k, $l, 0)
    			EndIf
  • "Schnelle Variablenbefüllung" und eindeutige Zuordnung von Checkboxen gesucht

    • bratwurstdealer
    • 29. September 2014 um 16:16

    Tatsächlich, jetzt geht es.

    Musste auch ein paar meiner Skripts auf die Weise überarbeiten.

    Ich übernehm jetzt die Anweisungen wegen dem Excel in mein Ausführendes Skript und melde mich wieder.

  • "Schnelle Variablenbefüllung" und eindeutige Zuordnung von Checkboxen gesucht

    • bratwurstdealer
    • 29. September 2014 um 15:55

    Ich hab die Datei heruntergeladen, abgelegt aber immer noch den gleichen Fehler.

    Was kann ich da tun?

  • "Schnelle Variablenbefüllung" und eindeutige Zuordnung von Checkboxen gesucht

    • bratwurstdealer
    • 29. September 2014 um 11:56

    Okey, vielen Dank. Es funktioniert so weit :) Geht ja echt unglaublich schnell das ganze.

    Allerdings funktioniert jetzt meine ImageSearch Klasse nicht mehr... (die brauche ich leider, da ich auf eine Meldung reagieren bzw. warten muss)

    Hat da einer die Aktuelle?
    google bietet mir nur offline Seiten oder die Klasse die ich bereits habe, also die Fehlerhafte.

    So. Ich habe deinen Code von oben bei mir etwas geändert und eingefügt.
    Funktioniert so weit. Aber wie gesagt - jetzt hat er mir die Image Search zerstört.

  • "Schnelle Variablenbefüllung" und eindeutige Zuordnung von Checkboxen gesucht

    • bratwurstdealer
    • 29. September 2014 um 11:17

    Ok, Danke.

    AutoIT ist aktualisiert.

    Ich habe es nach etwas rumprobieren mit diesem Stück Code versucht:

    Code
    Local $oExcel = _ExcelBookAttach("C:/XXMeinPfadXX/Versuch.xlsx")
    $inhalt = _ExcelReadCell($oExcel,1,1)
    WinActivate("Neues Textdokument.txt - Editor")
    Sleep(100)
    Send($inhalt)

    Es funktioniert :) Ich werde das jetzt in mein Skript einarbeiten und mich wieder melden.
    Der Inhalt von Zelle A1 wird nun in das Textfile geschrieben.

  • "Schnelle Variablenbefüllung" und eindeutige Zuordnung von Checkboxen gesucht

    • bratwurstdealer
    • 29. September 2014 um 10:44

    Vielen Dank so weit.

    Ich fange mal mit dem Excel an.

    Ich muss da ja erst einen Stream zur Datei öffnen und kann dann darüber Zellen bearbeiten (auch ohne das Excel auf der Windows GUI offen zu haben), sehe ich das richtig?
    Dazu brauche ich doch eine Excel.au3, die ich einbinden muss? Wo finde ich diese?


    Code
    #include <Excel.au3>
    Local $sWorkbook = @TempDir & "\Temp.xls"
    Local $oExcel = _Excel_Open()
    Local $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook)
    $oWorkbook = _Excel_BookAttach($sWorkbook)

    Ich denke dabei an dieses Beispiel, das habe ich von
    https://www.autoitscript.com/wiki/Excel_UDF

  • "Schnelle Variablenbefüllung" und eindeutige Zuordnung von Checkboxen gesucht

    • bratwurstdealer
    • 29. September 2014 um 10:15

    Hallo zusammen,

    sehr unaussagekräftige Überschrift, ich weiß.

    Ich habe folgendes Problem:
    Ich muss wöchentlich Daten aus einem Excel Blatt (das wird mir so geliefert) in ein anderes Programm einpflegen. Momentan sind das etwa 200 Zeilen mit jeweils 5 Datensätzen, damit braucht das Skript eine dreiviertel Stunde.
    Ab nächster Woche werden das aber 1500 sein, das heißt es dauert dann einfach zu lang.
    Eine andere Schnittstelle als die GUI existiert leider nicht bzw ich habe keine Mittel und Wege, um darauf zuzugreifen.

    Ich möchte (muss) also die Geschwindigkeit des Skriptes etwas (radikal) erhöhen.

    Ich denke, da kann ich am besten bei der Variablenbefüllung aus Excel anfangen.
    Momentan hole ich mir die Daten mit STRG+C in die Zwischenablage und speicher sie per ClipGet() in Variablen.
    Wenn ich versuche die Geschwindigkeit zu erhöhen, bekomme ich die Fehlermeldung
    "Die Zwischenblage kann nicht geleert werden. Möglicherweise verwendet ein anderes Programm die Zwischenablage."

    Kann ich das irgendwie umgehen? In was für einem Format müssten mir die Daten vorliegen, damit ich diese (viel) schneller in meine Variablen holen kann? Momentan ist das sehr umständlich, da ich auch viele Sleep() Befehle brauche, um nicht in diesen Fehler zu laufen.


    Danach springt das Skript in das nächste Programm. Dort ist eine Maske (Cursor steht bereits auf dem ersten Feld). Die Daten können weitestgehend per Tastaturbefehlen eingegeben werden. (Variable1 -> Tab -> Variable 2 -> Tab (...) -> STRG+S -> Warten auf bmp "erfolgreich gespeichert") .
    Allerdings muss ich per Maus zwischendrin auch eine Checkbox anklicken bzw. abhaken. (dafür gibts in dem Programm anscheinend keine Tastenkombination)

    Ich habe das per ImageSearch gelöst und die Maus geht von alleine auf dieses Feld und klickt es an. Das ist aber relativ Fehlerträchtig (sehr oft wird das Feld einfach nicht gefunden) und dauert lange. Nun habe ich das per Bildschirmposition gelöst. ( MouseClick("left", X, Y, 1, 1) )
    Damit geht mir allerdings die Plattformübergreifende Eigenschaft verloren ODER man muss die Daten bei jeder Workstation anpassen. Diesen Aufwand halte ich für so manchen Anwender aber nicht zumutbar. Gibt es dort eine andere Möglichkeit, das zu lösen?


    Vielen Dank im Voraus, ich bin mit meinem Latein echt am Ende.


    Liebe Grüße
    Alex

  • Frage zu _ExcelReadCell -> Variable wird nicht befüllt - Probleme mit Excel Objekt?

    • bratwurstdealer
    • 6. Juni 2014 um 08:37

    Schonmal Danke für deine Hilfe.

    Für
    _ExcelBookAttach
    finde ich nicht wirklich etwas im Web. Ich benutze AutoIT 3.3.10.2 - falls das jemandem weiterhilft.


    Ich weite das Problem mal etwas aus;
    Gibt es keine andere Möglichkeit meine Daten aus der Excel Datei in Variablen zu schreiben als die Felder zu markieren, Kopieren (Strg + V) und mit der Funktion ClipGet() in die Variablen zu schreiben?
    Das ist sehr schade, weil es über den Zwischenspeicher auch langsamer ist als ein direkter Zugriff.

    Gibt es Möglichkeiten, die ich vielleicht übersehen habe?


    Grüße
    Alex

  • Frage zu _ExcelReadCell -> Variable wird nicht befüllt - Probleme mit Excel Objekt?

    • bratwurstdealer
    • 5. Juni 2014 um 15:47

    Hallo zusammen,

    Ich habe vor ein paar Wochen AutoIT entdeckt und bin seitdem am "rumspielen" mit dem Programm.
    Ich habe schon viel mitgelesen, aber bei meiner jetzigen Problematik konnten mir weder die Forensuche noch google helfen.

    Folgendes Szenario:
    Ich arbeite mit 2 Bildschirmen. Auf dem rechten habe ich eine Excel Tabelle in dem Format
    A B C
    Land PLZ Ort

    AutoIT soll in das offene Excel springen, in der ersten Zeile den Inhalt aus Spalte A in eine Variable speichern, den aus Spalte B in eine zweite und C in eine dritte.
    Anschließend soll in ein anderes Fenster gesprungen werden und die Daten aus den drei Variablen in drei verschiedenen Feldern eingegeben werden.
    Dann der Rücksprung nach Excel und mit der nächsten Zeile das gleiche. (habe ich mit einer for-schleife gelöst)

    Das klappt auch alles soweit - bis auf oben beschriebene Methode. In der zweiten Anwendung wird immer nur eine 0 in die Felder eingetragen.

    Der Aufbau ist ja folgender:
    _ExcelReadCell($oExcel, $Row, $Column)

    Ich habe Probleme damit, das aktive Excel File in die Variable $oExcel zu bekommen. Ich habe hier ein Stück Code, aber so funktioniert es nicht:

    Code
    WinActivate ("Microsoft Excel")
    $ioExcel = WinActive
    $sLKZ = _ExcelReadCell($ioExcel, $i, 2)
    Sleep (200)
    $sPLZ = _ExcelReadCell($ioExcel, $i, 3)
    Sleep (200)
    $sOrt = _ExcelReadCell($ioExcel, $i, 4)

    Auf der Hilfeseite
    http://translation.autoit.de/onlinehilfe/li…celReadCell.htm
    steht
    "Ein Excel Objekt welches durch einen vorherigen Aufruf von _ExcelBookOpen() oder _ExcelBookNew() geöffnet wurde"
    Aber mein Objekt ist ja zu diesem Zeitpunkt schon aktiv?

    Wie kann ich das lösen?

    Vielen Dank schonmal.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™