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. leertaste

Beiträge von leertaste

  • Suchen... in Excel

    • leertaste
    • 2. April 2013 um 21:11

    Hallo zusammen,

    seit mehreren Tagen brüte ich über folgenden Problem.
    In Excel kann man mit dem Button "Suchen...|Suchen nach: * eingeben|Alle suchen" ganz schnell und einfach die Zelladresse aller gefüllten Zellen herausfinden. Egal, ob 5 Millionen Zellen formartiert sind und gar keinen Inhalt haben. Es werden nur die Zelladressen ausgegeben, die einen Inhalt haben.

    Mit AutoIt habe ich nun folgendes gebaut, um die gleiche Funktion für viele Tabellen zu verwenden. Es funktioniert soweit, aber nicht zu 100 Prozent.
    $aGetAddress[0] = $oExcel.Application.Selection.SpecialCells($xlCellTypeConstants).Address
    Es wird ein Array zurückgegeben, dass alle Zelladressen beinhaltet und ich dann weiterverabbeiten kann.

    Leider werden Zellen, die einen Inhalt haben und aneinandergrenzen als Bereich ausgegeben und nicht aufgeteilt in die jeweilige Zelle.

    Wie kann ich das mit AutoIt hinbekommen, dass das gleiche Ergebnis wie mit dem Excelbefehl als Ergebnis im Array erscheint?
    Mit Cells.Find() habe ich auch schon herumgespielt, aber ohne Erfolg.

    Vielen Dank.

    leertaste

  • MySQL Abfrage verursacht Fehler wenn kein Eintrag vorhanden

    • leertaste
    • 3. Mai 2011 um 22:40

    Hallo,

    RecordCount funktioniert nur, wenn bei Open als Option "adOpenStatic" benutzt wird.


    [autoit]

    $rs2a.Open( $SQLCommand2a, $conn, 3 ); 3 = adOpenStatic, nur so funktioniert $rs.RecordCount
    $recCount = $rs2a.RecordCount
    If $recCount > 0 Then $cArray = $rs2a.GetRows

    [/autoit]

    Weiter Infos siehe http://www.w3schools.com/ado/prop_rs_cursortype.asp und http://www.w3schools.com/ado/met_rs_getrows.asp

    Ich hoffe es hilft dir weiter.

  • Mausklick in GUI "verwerfen"

    • leertaste
    • 16. Februar 2009 um 21:32

    Hi Leute,

    danke an für eure Bemühungen. Ihr habt ja recht, es kann nicht sein, dass der Mausklick gespeichert wird. Schande......

    Hatte vor lauter Bäumen den Wald nicht mehr gesehen, aber nun paßt alles.


    Schönen Abend

    leertaste

  • Mausklick in GUI "verwerfen"

    • leertaste
    • 15. Februar 2009 um 20:53

    Leider hab ich durch mein ständiges rumprobieren mein Script so zerlegt, dass es nicht mal mehr startet.
    Wenn ich wieder einigermaßen den Durchblick habe hänge ich es hier rein.

    Übrigens versuche ich es im OnEventMode.

    Oscar : Der Button arbeitet auch nicht wenn disabled. Klicke ich den Button an, merkt sich dieser den Mausklick und sobald der Button wieder aktiv ist wird sofort die hinterlegte Aktion ausgeführt.

    So jetzt bastle ich mal weiter

    leertaste

  • Mausklick in GUI "verwerfen"

    • leertaste
    • 15. Februar 2009 um 19:24

    Hallo zusammen,

    leider ist mir kein besserer Titel zu meiner Frage eingefallen.

    Wenn man in einer GUI einen Button mit disable deaktiviert und anklickt wird der Mausklick nach Aktivierung des Button (enable) ausgeführt.

    Was kann man machen das sich dieser Mausklick nicht auswirkt?

    Vielen Dank für eure Tipps.

    leertaste

  • Mehrere Drucker löschen

    • leertaste
    • 18. August 2008 um 11:06

    Hi,

    diese Thema würde mich auch interessieren.

    Mit dem Code kann man ja alle Drucker ermitteln die in Start/Einstellungen/Drucker vorhanden sind.

    Wie kann man nun einen Drucker von dieser Liste entfernen? Es sollte genauso funktionieren als wenn man rechte Maustaste anwählt und Löschen anklickt.

    Danke im voraus,

    bis bald - leertaste

  • Logging-Tool (User-Überwachung)

    • leertaste
    • 27. Mai 2008 um 23:51

    Hi,

    mal eine doofe Frage: Wie kann man den die Startzeit des PC's oder von Windows rausfinden?

    Danke.

    leertaste

  • GUICreate mit Checkbox und Button

    • leertaste
    • 16. Mai 2008 um 08:54

    Hi,

    zuerst Danke für die Antworten. Einiges ist nun klarer, aber wieso wird hier BitAND verwendet?

    [autoit]

    Func _CN2clicked()
    If BitAND(GUICtrlRead($checkCN2), $GUI_CHECKED) Then
    GUICtrlSetState($checkCN1, $GUI_DISABLE)
    GUICtrlSetState($okbutton, $GUI_ENABLE)

    [/autoit]

    Wieso nicht so?

    [autoit]

    If GUICtrlRead($checkCN2) = $GUI_CHECKED Then
    GUICtrlSetState($checkCN1, $GUI_DISABLE)
    GUICtrlSetState($okbutton, $GUI_ENABLE)

    [/autoit]

    Hab leider keine Erklärung dafür.

    Danke, leertaste

  • GUICreate mit Checkbox und Button

    • leertaste
    • 15. Mai 2008 um 22:57

    Hi zusammen,

    Autoit mach jetzt so richtig Spaß, dass ich mir dachte, wäre doch mal eine GUI auch was Tolles.

    Leider habe ich damit noch Probleme.

    Mein erster Versuch scheitert daran, dass es mir nicht möglich ist zwei Checkboxen gegenseitig auszuschliessen und der Ok-Button nur dann aktiv ist, wenn eine Checkbox "gecheckt" ist.
    Weiter zeigt der OK-Button keine Funktion - je nach gewählter Checkbox soll zu Testzwecken eine Messagebox öffnen.

    Wo verstehe ich die GUI falsch.

    Vielen Dank für eure Hilfe.

    leertaste

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode",1)

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("Meine erste GUI",300,200)

    [/autoit] [autoit][/autoit] [autoit]

    $checkCN1 = GUICtrlCreateCheckbox ("CHECKBOX 1", 10, 10, 120, 20)
    $checkCN2 = GUICtrlCreateCheckbox ("CHECKBOX 2", 10, 30, 120, 20)
    ;~ $checkCN3 = GUICtrlCreateCheckbox ("CHECKBOX 3", 10, 50, 120, 20)

    [/autoit] [autoit][/autoit] [autoit]

    $okbutton = GUICtrlCreateButton ("OK",50,130,70,20)
    GUICtrlSetState(-1,$GUI_FOCUS)
    $cancelbutton = GUICtrlCreateButton ("Cancel",180,130,70,20)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Close");schliessen
    GUICtrlSetOnEvent($cancelbutton,"_Close");abbrechen

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetOnEvent($okbutton,"_Checkbox");abbrechen

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState ()
    While 1
    If $checkCN1 = $GUI_CHECKED Then $checkCN2 = $GUI_DISABLE;Checkboxen schließen sich gegenseitig aus
    If $checkCN2 = $GUI_CHECKED Then $checkCN1 = $GUI_DISABLE
    If $checkCN1 = $GUI_UNCHECKED Then $checkCN2 = $GUI_ENABLE
    If $checkCN2 = $GUI_UNCHECKED Then $checkCN1 = $GUI_ENABLE
    If $checkCN1 = $GUI_UNCHECKED Or $checkCN2 = $GUI_UNCHECKED Then $okbutton = $GUI_DISABLE;Ok Button ist nur dann aktiv wenn eine Checkbox gecheckt
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _Close()
    GUIDelete()
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Checkbox();
    Select
    Case $checkCN1 = $GUI_CHECKED
    MsgBox(0, "Checkbox 1", "ausgewählt")
    Case $checkCN2 = $GUI_CHECKED
    MsgBox(0, "Checkbox 2", "ausgewählt")
    EndSelect
    EndFunc

    [/autoit]
  • Schleife nur 3 mal wiederholen

    • leertaste
    • 5. Februar 2008 um 22:07

    Hi,

    vielen Dank. Hat geklappt.

    leertaste

  • Schleife nur 3 mal wiederholen

    • leertaste
    • 1. Februar 2008 um 13:19

    Hallo zusammen,

    bastle gerade an einem kleinen Script, dass nur eine Datei erzeugen soll wenn eine bestimmte Datei im Verzeichnis nicht vorhanden ist.

    Falls doch diese Datei vorhanden ist, soll das Programm nach 3 Versuchen mit einer Pause von 30s abbrechen.


    Danke.

    leertaste

    Spoiler anzeigen
    [autoit]


    While 1

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists($Pfad1 & $Datei1) OR FileExists($Pfad2 & "*.asc") Then
    Sleep(30000)
    ContinueLoop
    ;~ Exit
    else
    _FileCreate($Pfad1 & $Datei1)
    ;MsgBox(0, "Info", "Datei erstellt") ;zum Testen
    Sleep(200)
    ExitLoop
    EndIf
    WEnd

    [/autoit]
  • Array sortieren

    • leertaste
    • 10. Dezember 2007 um 23:02

    Hi Tweaky,

    vielen Dank für den Tipp. Hab noch bei $i = UBound($array_neu) -1 To 0 "step -1" ergänzt.

    BugFix

    Danke für die Funktion.

    leertaste

  • Array sortieren

    • leertaste
    • 10. Dezember 2007 um 22:42

    Hi,

    hab den den code von Tweaky abgeändert um nur Dateinamen im array zu haben die mit -A usw enden. Aber irgendwo ist ein Fehler. Das Script läuft ohne einer Fehlermeldung durch ohne etwas aus dem array zu entfernen.

    [autoit]

    ;#include<Array.au3>
    Dim $array_neu[100][2]
    Dim $array[8] = ["img12xx-A.jpg", "img12xx-5.jpg", "img12xx-7.jpg", "img12xx-B.jpg", "img23xx-B.jpg", "img23xx-6.jpg", "img23xx-7.jpg", "img23xx-A.jpg"]
    For $i = 0 to UBound($array) -1
    $split = StringSplit($array[$i], "-")
    $array_neu[$i][0] = $split[1]
    $array_neu[$i][1] = $split[2]
    Next
    ReDim $array_neu[$i][2]
    _ArrayDisplay($array_neu, "zweispaltig")
    For $i = UBound($array_neu) -1 To 0
    $count = Stringleft($array_neu[$i][1], 1)
    $zahl = StringIsDigit($count)
    If $zahl = 1 Then _ArrayDelete($array_neu, $i)
    Next
    _ArrayDisplay($array_neu, "ohne Buchstaben")

    [/autoit]

    Wo liegt der Fehler?

    Danke.

    leertaste

  • Grundsätzlicher Programmaufbau

    • leertaste
    • 10. Dezember 2007 um 16:43

    Hallo zusammen,

    ok!

    Danke.
    leertaste <IMG onmouseover="this.style.cursor='pointer'" title=tongue style="CURSOR: pointer" onclick="tinyMCE.insertSmiley('wcf/images/smilies/tongue.png', 'tongue', ':P');" alt="" src="http://www.autoit.de/wcf/images/smilies/tongue.png" />

  • Array sortieren

    • leertaste
    • 10. Dezember 2007 um 13:49
    Zitat von BugFix

    Eine wirkliche allgemeingültige Lösung ist hier eigentlich nicht machbar, da die Sortiervorgabe nicht 'sinnvoll' ist.
    Kommen noch mehr Dateien mit unterschiedlichen Namen hinzu, wirds total unübersichtlich.
    Meine Frage ist hier: Wieso tragen die Bilder soch unterschiedliche Kennung und welchen Sinn hat es sie so seltsam zu ordnen?
    Da ist es vermutlich viel einfacher sie umzubenennen.


    Hi,

    die unterschiedliche Kennung benutze ich für schwarz-weiss und farbige Bilder bei verschiedenen Bearbeitungen. Die Sortierreihenfolge kommt dadurch zustande, dass eine Sortierung nach Datum leider manchmal nicht der Reihenfolge A,B,0,1 entspricht. Ich starte bei A......Z und springe dann nach 0...... bis unendlich. Wieso auch immer das Datum (modified) nicht dieser Reihenfolge entspricht.

    Eine andere Idee wäre zuerst alle Dateien mit -A..... ins array zu nehmen und zu löschen bis auf die aktuellste. Dann alle mit -1....... und als letzten Schritt Buchstabe und Zahl ins array nehmen. Dadurch vereinfacht sich die Sortierung dramatisch.

    Die einzige Hürde die ich habe ist die Ermittlung ob eine Zahl oder ein Buchstabe nach dem - steht. Irgendwie mit StringIsAlpha und StringIsDigit.....

    Danke.

    leertaste

  • Grundsätzlicher Programmaufbau

    • leertaste
    • 9. Dezember 2007 um 21:36

    Hallo,
    habs soweit verstanden.
    Kann man denn die Funktionen so aufrufen, ohne einer Abfrage?
    _Movetxtfile()
    _Movexlsfile()
    _Movedocfile()

    Wird die nächste Funktion nur gestartet wenn die vorhergehende fehlerfrei war?

    Danke.

    leertaste

  • Array sortieren

    • leertaste
    • 9. Dezember 2007 um 21:29

    Hallo zusammen,

    folgendes array möchte ich sortieren, aber es geht nicht wie gewünscht.

    [autoit]

    #include <array.au3>

    [/autoit][autoit][/autoit][autoit]

    Dim $array[8] = ["img12xx-A.jpg", "img12xx-5.jpg", "img12xx-7.jpg", "img12xx-B.jpg", "img23xx-B.jpg", "img23xx-6.jpg", "img23xx-7.jpg", "img23xx-A.jpg"]

    [/autoit][autoit][/autoit][autoit]

    _ArrayDisplay($array)
    _ArraySort($array,0)
    _ArrayDisplay($array)

    [/autoit]

    Ergebnis:
    img23xx-6.jpg
    img23xx-7.jpg
    img23xx-A.jpg
    img23xx-B.jpg
    img12xx-5.jpg
    img12xx-7.jpg
    img12xx-A.jpg
    img12xx-B.jpg

    Wunsch wäre aber so:
    img23xx-A.jpg
    img23xx-B.jpg
    img23xx-6.jpg
    img23xx-7.jpg
    img12xx-A.jpg
    img12xx-B.jpg
    img12xx-5.jpg
    img12xx-7.jpg

    _ArraySort($array,0) auf _ArraySort($array,1) bringt auch nichts.

    Hat jemand eine Idee?

    Danke.
    leertaste

  • Grundsätzlicher Programmaufbau

    • leertaste
    • 9. Dezember 2007 um 12:27

    Hallo zusammen,

    ist das Abarbeiten von Nutzerfunktionen richtig im Programmaufbau eingefügt?
    Wie frägt man den Erfolg ab, wenn die erste Funktion erfolgreich gelaufen ist.
    Aus der Hilfe konnte ich entnehmen, dass eine Nutzerfunktion 0 zurückgibt und ein anderer Return kann auch definiert werden.
    Wie schaut so eine Returndefinition bei Nichterfolg einer Nutzerfunktion aus?

    z.B.

    #include <File.au3>
    #include <Array.au3>

    $pfad = ""

    _Movetxtfile()
    _Movexlsfile()
    _Movedocfile()

    Func _Movetxtfile()
    EndFunc
    Func _Movexlsfile()
    EndFunc
    Func _Movedocfile()
    EndFunc

    Vielen Dank.

    Bis bald
    leertaste

  • Array beabeiten

    • leertaste
    • 9. Dezember 2007 um 11:55

    Hi,

    danke, funktioniert prima.

    leertaste

  • Array beabeiten

    • leertaste
    • 6. Dezember 2007 um 20:55

    Hab leider nicht so toll beschrieben was ich eigentlich erreichen möchte.

    In einem Verzeichnis sind zig verschiedene Dateien (*.jpg)

    IMG_123456
    IMG_123899
    IMG_123124
    IMG_123428 usw.

    Zu jeder Datei gibt es verschiedene Varianten z.B. zur IMG_123456

    IMG_123456_A
    IMG_123456_10
    IMG_123456_2
    IMG_123456_1

    Es soll nun die jüngste Datei erhalten bleiben, ist auch in der Regel die mit der höchsten laufenden Nr., als die _10. Manchmal habe ich auch mit Buchstaben angefangen und bin dann zu Zahlen übergegangen. Im Zweifelsfalle müsste man das Datum auch noch vergleichen. Dies ist mir aber zum Einstieg noch zu kompliziert.

    Das array sind so aus: Dateiname - Datum - Dateiname ohne laufender Nr.

    Wenn man nun absteigend nach Datum sortiert steht die jüngste Datei oben, bei jedem Dateinamen.

    Alle anderen Dateien einer Familie möchte ich löschen.

    Hoffentlich ist es verständlich.....

    Danke. leertaste

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™