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

Beiträge von Windi

  • ControlClick Problem

    • Windi
    • 27. Januar 2020 um 13:29

    History

    3.3.14.5 (16th March, 2018) (Release)
    Hab neu installiert.Fehler noch der selbe.

    Gruß Windi

  • ControlClick Problem

    • Windi
    • 27. Januar 2020 um 12:57

    Danke (auto)Bert,

    aber der Fehler kommt immer noch:

    Habe es so eingefügt ich weiß natürlich nicht ob es so richtig ist.

    Bin absoluter Anfänger.

    Code
    #include <WinAPISys.au3>
    ;Function _WinAPI_EnumChildWindows
    Global $classMain = '[CLASS:OMain]'
    Global $classSub = '[CLASS:OFormSub; INSTANCE:11]'
    ; aktiviere Main Window
    WinActivate($classMain)
    ; warte bis aktiv und speichere Handle
    Global $hMain = WinWaitActive($classMain)
    If Not IsHWnd($hMain) Then Exit MsgBox(0, 'FEHLER', 'Main Window nicht ermittelbar')
    ; Abfrage Handle SubForm (enthält Button)
    Global $hSub = WinGetHandle($classSub)
    If Not IsHWnd($hSub) Then Exit MsgBox(0, 'FEHLER', 'Sub Window nicht ermittelbar')
    ; versuchen auf die in der SubForm enthaltenen Elemente zuzugreifen - das sind Child-Windows der SubForm
    ; Auflisten der enthaltenen Child-Windows
    Global $aEnum = Function_WinAPI_EnumChildWindows($hSub, False) ; "False"=auch nicht sichtbare Childs auflisten
    If @error Then
        Exit MsgBox(0, 'FEHLER', 'Childs der SubForm lassen sich nicht ermitteln')
    Else
        ConsoleWrite(StringFormat('! hControl \thParent  \t  ID  \tClassname     \tControlText') & @CRLF)
        For $i = 1 To $aEnum[0][0]
            ConsoleWrite(StringFormat('> %s\t%s\t%7s\t%-15s\t%s', $aEnum[$i][0], Function_WinAPI_GetParent($aEnum[$i][0]), Function_WinAPI_GetDlgCtrlID($aEnum[$i][0]), $aEnum[$i][1], ControlGetText($hSub, '', Function_WinAPI_GetDlgCtrlID($aEnum[$i][0]))) & @CRLF)
        Next
    EndIf
    Alles anzeigen

    mfg Windi

  • ControlClick Problem

    • Windi
    • 27. Januar 2020 um 12:05

    Folgende Fehlermeldung wird angezeigt:

    >"C:\Program Files (x86)\AutoIt3\SciTE\..\au3check.exe" -q "C:\Users\xx2\Desktop\test klick 1.au3"

    "C:\Users\xx2\Desktop\test klick 1.au3"(13,54) : error: _WinAPI_EnumChildWindows(): undefined function.

    Global $aEnum = _WinAPI_EnumChildWindows($hSub, False)

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

    "C:\Users\xx2\Desktop\test klick 1.au3"(19,109) : error: _WinAPI_GetParent(): undefined function.

    ConsoleWrite(StringFormat('> %s\t%s\t%7s\t%-15s\t%s', $aEnum[$i][0], _WinAPI_GetParent($aEnum[$i][0])

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

    "C:\Users\xx2\Desktop\test klick 1.au3"(19,146) : error: _WinAPI_GetDlgCtrlID(): undefined function.

    ConsoleWrite(StringFormat('> %s\t%s\t%7s\t%-15s\t%s', $aEnum[$i][0], _WinAPI_GetParent($aEnum[$i][0]), _WinAPI_GetDlgCtrlID($aEnum[$i][0])

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

    C:\Users\xx2\Desktop\test klick 1.au3 - 3 error(s), 0 warning(s)

    >Exit code: 2 Time: 0.07282

    Bilder

    • P3.JPG
      • 11,52 kB
      • 204 × 135
  • ControlClick Problem

    • Windi
    • 26. Januar 2020 um 17:01

    Es wird kein Button angezeigt.

    Er liegt auf dem Auswahlrahmen mit allen Button.

    Hab mir mal die Hilfe angeschaut von _WinAPI_EnumChildWindows

    Komme damit überhaupt nicht klar.

  • ControlClick Problem

    • Windi
    • 26. Januar 2020 um 16:24

    Hallo BugFix,

    Danke für deine Rückmeldung.

    Es ist eine MSAcces Software.

    Die Maske wurde wahrscheinlich mit VBA ode VB erstellt.

    Auf den Button Rechnungen soll geklickt werden.


    Code
    >>>> Window <<<<
    Title:    Winitas
    Class:    OMain
    Position:    -8, -8
    Size:    1936, 1056
    Style:    0x17CF0000
    ExStyle:    0x00000100
    Handle:    0x0000000000030AD8
    
    >>>> Control <<<<
    Class:    OFormSub
    Instance:    11
    ClassnameNN:    OFormSub11
    Name:    
    Advanced (Class):    [CLASS:OFormSub; INSTANCE:11]
    ID:    
    Text:    
    Position:    3, 156
    Size:    196, 879
    ControlClick Coords:    40, 313
    Style:    0x56000000
    ExStyle:    0x00000000
    Handle:    0x0000000000050CE0
    
    >>>> Mouse <<<<
    Position:    51, 476
    Cursor ID:    0
    Color:    0xFFFFFF
    
    >>>> StatusBar <<<<
    
    >>>> ToolsBar <<<<
    
    >>>> Visible Text <<<<
    MsoDockTop
    Ribbon
    Ribbon
    Kunden
    Start
    Navigationsbereichshost
    ODocTabs
    
    
    >>>> Hidden Text <<<<
    MsoDockLeft
    MsoDockRight
    MsoDockBottom
    Alles anzeigen
    Code
    Folgendes kam aus deinem Script:[attach=87582][/attach]

    Bilder

    • P1.JPG
      • 10,63 kB
      • 131 × 134
    • P2.JPG
      • 29,84 kB
      • 199 × 879
  • ControlClick Problem

    • Windi
    • 26. Januar 2020 um 13:26

    Hallo,

    komme mal wieder nicht weiter mit ControlClick.

    Finde nicht die richtigen Einstellungen, da die Bottuns nicht angezeigt werden.

    Bin Anfänger bitte um Hilfe.

    AutoIt
    WinActivate("Winitas", "")
    WinWaitActive("Winitas","")
    Global $hWnd = WinGetHandle("Winitas")
    ControlClick($hWnd, "", "[Class:OFormSub; Instance:11]", "Left", 1 , 104, 555)
    Sleep (2000)
    Ausgabe des AutoIt Window Info Tools

    >>>> Window <<<<

    Title: Winitas

    Class: OMain

    Position: -8, -8

    Size: 1936, 1056

    Style: 0x17CF0000

    ExStyle: 0x00000100

    Handle: 0x00000000000A0EFE

    >>>> Control <<<<

    Class: OFormSub

    Instance: 11

    ClassnameNN: OFormSub11

    Name:

    Advanced (Class): [CLASS:OFormSub; INSTANCE:11]

    ID:

    Text:

    Position: 3, 156

    Size: 196, 879

    ControlClick Coords: 93, 393

    Style: 0x56000000

    ExStyle: 0x00000000

    Handle: 0x0000000000051026

    >>>> Mouse <<<<

    Position: 104, 556

    Cursor ID: 0

    Color: 0xD80027

    >>>> StatusBar <<<<

    >>>> ToolsBar <<<<

    >>>> Visible Text <<<<

    MsoDockTop

    Ribbon

    Ribbon

    Kunden

    Start

    Auftrag

    Vertikal

    Navigationsbereichshost

    ODocTabs

    >>>> Hidden Text <<<<

    MsoDockLeft

    MsoDockRight

    MsoDockBottom

    Horizontal

    Vertikal

    SPTR17

    Horizontal

    Vertikal

    Überweisung

    Horizontal

    SPTR17

  • Druckeinstellungen im Druckerordner

    • Windi
    • 19. Januar 2020 um 12:27

    Hallo Musashi,

    ganz lieben Dank, es war genau was ich gesucht habe.

    Gruß Windi



    86598-musashi-c64-png

  • Druckeinstellungen im Druckerordner

    • Windi
    • 18. Januar 2020 um 18:21

    Hallo ihr Spezilalisten,

    ich hätte da mal eine Frage zum Druckerordner.

    Wie kann ich auf einen bestimmten Drucker zugreifen und die Druckeinstellungen bearbeiten.

    Es handelt sich um einen Etikettendrucker mit verschiedenen Etikettengrößen.

    Der Drucker lässt sich nicht wie in früheren Versionen mehrmals einrichten.

    Aus diesem Grunde möchte ich eine GUI erstellen.

    Ich wäre dankbar wenn ihr mir helfen könntet.

    Erklärungen bitte leicht verständlich da ich noch Anfänger bin.

    Hier mein Script:

    Habe versucht mit Send zu steuern, dieses funktioniert nicht mehr wenn ein Drucker gelöscht oder neu installiert wird.

    Run("rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL PrintersFolder")

    ; Drucker Seite öffnen

    Global $hWnd = WinGetHandle("Drucker")

    WinActivate("Drucker")

    WinWaitActive ( "[CLASS:ModernSearchBox; INSTANCE:1]" , "" ,1) ; warte 1 Sekunde

    Send(" + {TAB 3} ")

    Sleep (500)

    Send ("Color Label 900 " )

    Sleep (1000)

    Send("{Enter}")

    Sleep(500)

    Send ("!+{D}")

    Send("+{DOWN 2}")

    Send("{Enter}")


    MfG

    Windi

  • Fehlermeldung im Menü

    • Windi
    • 9. Januar 2020 um 17:26

    Hallo,

    ich wollte mich nochmal ganz herzlich bei euch allen bedanken.

    Ohne eure Hilfe wäre das nichts geworden.

    Es sind noch ein paar kleine Änderungen notwendig aber das kriege ich auch noch hin.

    Liebe Grüße

    Windi

  • Fehlermeldung im Menü

    • Windi
    • 7. Januar 2020 um 11:33

    Hallo BugFix,

    Danke für das Beispiel.

    ich komme schon wieder nicht weiter.

    Wenn ich das 1. Controlclick ausführe mit Mause Koordinaten wird ein neues Fenster geöffnet.

    Ab Hier komme ich nicht weiter.

    Hier das script:

    ; Handle abfragen mit Titel

    ;Global $hWnd = WinGetHandle("Winitas")

    Global $hWnd = WinGetHandle("[CLASS:OMain]")

    ; Controlclick

    ;Klick Ausgabe

    ControlClick($hWnd, "", "[CLASS:NetUIHWND; INSTANCE: 1]" , "Left" , 1 ,700 , 92 )

    Sleep(100)

    Global $hWnd = WinGetHandle("[OFormNoClose]")

    ;Klick Ladeliste

    ControlClick($hWnd, "", "[CLASS:OFormSub: INSTANCE: 2]" , "Left" , 1 ,762 , 179)

    Sleep(100)

    Im Bild ist die 1. Position (Ladeliste nach Auftrag)

    Die Daten Wininfo:

    >>>> Window <<<<

    Title: Winitas

    Class: OMain

    Position: -8, -8

    Size: 1936, 1056

    Style: 0x17CF0000

    ExStyle: 0x00000100

    Handle: 0x0000000000050994

    >>>> Control <<<<

    Class: OFormSub

    Instance: 2

    ClassnameNN: OFormSub2

    Name:

    Advanced (Class): [CLASS:OFormSub; INSTANCE:2]

    ID:

    Text:

    Position: 266, 364

    Size: 1391, 592

    ControlClick Coords: 767, 181

    Style: 0x56000000

    ExStyle: 0x00000000

    Handle: 0x0000000000070DF6

    >>>> Mouse <<<<

    Position: 1041, 552

    Cursor ID: 0

    Color: 0xFFFFFF

    >>>> StatusBar <<<<

    >>>> ToolsBar <<<<

    >>>> Visible Text <<<<

    MsoDockLeft

    MsoDockRight

    MsoDockTop

    Ribbon

    Ribbon

    MsoDockBottom

    Ausgabe

    Auftrag

    Start

    Einstellungen

    Kunden

    Navigationsbereichshost

    ODocTabs


    >>>> Hidden Text <<<<

    Horizontal

    Vertikal

    DM15-2

    Horizontal

    Vertikal

    Horizontal

    Vertikal

    DM15-2

    Horizontal

    Vertikal

    8,2

    C:\Winitas\Serienbrief\SERIENBRIEF.doc

    Horizontal

    Vertikal

    Sonderartikel

    Horizontal

    Vertikal

    19,00%

    Horizontal

    Vertikal

    1

    Horizontal

    Vertikal

    Überweisung

    Horizontal

    Vertikal

    DHL

    Horizontal

    Vertikal

    0,2

    Horizontal

    Vertikal

    Riesling

    Horizontal

    Vertikal

    lieblich

    Horizontal

    Vertikal

    Tafelwein

    Dateien

    B1.JPG 75,62 kB – 0 Downloads
  • Fehlermeldung im Menü

    • Windi
    • 6. Januar 2020 um 10:10

    Vielen Dank für eure zahlreichen Hilfestellungen.

    Ich werde entweder mit der Fehlermeldung leben und in der Gui vermerken.

    Die Programme laufen ja.

    Das alles umschreiben, auf Autoit, ist mir zu stressig da ich von Autoit sehr wenig Ahnung habe.

    Eine Option habe ich noch die ich testen will.

    Es gibt einen xlsm to exe Converter.

    Vielleicht geht es dann über den Run Befehl ohne Fehlermeldung.

    Eine Frage hab ich noch:

    In #2 Schreibt Oskar.

    Im übrigen ist eine Automatisierung mit MouseClick höchst fehleranfällig. Besser wäre ControlClick.

    Habe es mit ControlClick probiert bekomme es mit dem Wininfo nicht hin.

    Hier die Daten von Winifo:

    >>>> Window <<<<

    Title: Winitas

    Class: OMain

    Position: -8, -8

    Size: 1936, 1056

    Style: 0x17CF0000

    ExStyle: 0x00000100

    Handle: 0x00000000000C03B4

    >>>> Control <<<<

    Class: NetUIHWND

    Instance: 1

    ClassnameNN: NetUIHWND1

    Name:

    Advanced (Class): [CLASS:NetUIHWND; INSTANCE:1]

    ID:

    Text:

    Position: 0, 0

    Size: 1920, 153

    ControlClick Coords: 699, 85

    Style: 0x57030000

    ExStyle: 0x00000000

    Handle: 0x00000000001311F6

    >>>> Mouse <<<<

    Position: 699, 84

    Cursor ID: 0

    Color: 0xFFFFFF

    >>>> StatusBar <<<<

    >>>> ToolsBar <<<<

    >>>> Visible Text <<<<

    MsoDockTop

    Ribbon

    Ribbon

    Auftrag

    Vertikal

    Start

    Kunden

    Navigationsbereichshost

    ODocTabs


    >>>> Hidden Text <<<<

    MsoDockLeft

    MsoDockRight

    MsoDockBottom

    Horizontal

    Vertikal

    DT15

    Horizontal

    Vertikal

    Horizontal

    DT15

  • Fehlermeldung im Menü

    • Windi
    • 5. Januar 2020 um 13:20

    Danke für deine Rückmeldung!

    Die xlsm ist sehr umfangreich.

    Sehr viele Userforms, SpinButtons, Funktionen, Module, Barcodeerzeugung und Druckersteuerung.

    Wie muß ich denn vorgehen um alles über Autoit zu machen.

    Das ist das 1. mal wo ich was mit Autoit mache.

    Gruß Windi

  • Fehlermeldung im Menü

    • Windi
    • 5. Januar 2020 um 11:20

    Mit AI wird das Makro aufgerufen.

    Bearbeitet wird nur mit Userforms und Makros

    nicht mit Excel (läuft nur im Hintergrund.)

    Wenn das Makro abgearbeitet ist muss ich es ja mit einem Button beenden.

    Gebe ich per VBA den Befehl zum beenden, kommt die Fehlermeldung.

    Was (BugFix #23) geschrieben hat kann nicht funktionieren.

    Irgendwie muss ja AI erfahren wann das Makro beendet ist.

  • Fehlermeldung im Menü

    • Windi
    • 5. Januar 2020 um 09:04

    Die Makrodatei wird 2 mal durchlaufen und beim

    2. mal beendet.

    Ich habe einen Beenden Button in der Datei, der die Einträge in den Datenblätter löscht.

  • Fehlermeldung im Menü

    • Windi
    • 5. Januar 2020 um 08:43

    Die Schleife wird 2 mal durchlaufen,

    dann wird Excel ohne Fehler beendet.

  • Fehlermeldung im Menü

    • Windi
    • 4. Januar 2020 um 20:16

    Jetzt läuft es fehlerfrei, Excel wird nicht beendet und ist in einer Endlosschleife.

  • Fehlermeldung im Menü

    • Windi
    • 4. Januar 2020 um 18:30

    Den gleichen Fehler und Excel bleibt offen


    >"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\DHL-Versand\Test.au3"

    "C:\DHL-Versand\Test.au3" (24) : ==> The requested action with this object has failed.:

    $oWorkbook.Run("Versand")

    $oWorkbook^ ERROR

    >Exit code: 1 Time: 12.07

  • Fehlermeldung im Menü

    • Windi
    • 4. Januar 2020 um 15:09

    Habe das Makro so verändert das Excel nicht mehr durch das Makro gespeichert wird.

  • Fehlermeldung im Menü

    • Windi
    • 4. Januar 2020 um 15:08

    Folgende Fehler Meldung

    >"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\DHL-Versand\Test.au3"

    "C:\DHL-Versand\Test.au3" (24) : ==> The requested action with this object has failed.:

    $oWorkbook.Parent.Run("Versand")

    $oWorkbook.Parent^ ERROR

    >Exit code: 1 Time: 10.54

    kommt jetzt Makro und Excel werden nicht mehr beendet

  • Fehlermeldung im Menü

    • Windi
    • 4. Januar 2020 um 13:00

    Hier das Sript wie gewünscht.

    #include <Excel.au3>

    #include <MsgBoxConstants.au3>

    ; ===> COM Errorhandler : Kommentarzeichen bei Bedarf entfernen

    ;~ Local $oErrorHandler = ObjEvent("AutoIt.Error", "_COMErrFunc")

    ; Erstellt ein Excel Anwendungs-Objekt oder verbindet zu einer bereits Instanz

    Local $oExcel = _Excel_Open()

    If @error Then

    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_Open ", _

    "Fehler beim Erstellen des Excel Anwendungs-Objekt." & @CRLF & _

    "@error = " & @error & ", @extended = " & @extended)

    Else

    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_Open ", _

    "Excel Anwendung wurde erfolgreich geöffnet." & @CRLF)

    ; öffnet ein existierendes workbook und gibt den Objectidentifier zurück :

    Local $sWorkbook = "C:\DHL-Versand\Versand.xlsm"

    Local $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook)

    If @error Then

    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookOpen ", _

    "Fehler beim Öffnen des Workbooks : " & @CRLF & _

    "Dateiname : " & $sWorkbook & @CRLF & _

    "@error = " & @error & ", @extended = " & @extended)

    _Excel_Close($oExcel)

    Exit

    Else

    $oWorkbook.parent.run("Versand") ; Name des Makros

    EndIf

    Sleep(2000)

    ; Schließt das Excel Anwendungs-Objekt

    _Excel_Close($oExcel)

    If @error Then

    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_Close ", _

    "Fehler beim Schließen des Excel Anwendungs-Objekt." & @CRLF & _

    "@error = " & @error & ", @extended = " & @extended)

    Else

    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_Open ", _

    "Excel Anwendung wurde erfolgreich geschlossen." & @CRLF)

    EndIf

    EndIf

    ; ===> COM Errorhandler : Kommentarzeichen bei Bedarf entfernen

    Func _COMErrFunc($oError)

    MsgBox(16, "COM Error", "COM-Error ! " & @CRLF & _

    "Number is : " & "0x" & Hex($oError.number) & @CRLF & _

    "Retcode is : " & "0x" & Hex($oError.retcode) & @CRLF & _

    "Scriptline is : " & $oError.scriptline & @CRLF & _

    "Windescription is: " & $oError.windescription & @CRLF & _

    "Description is: " & $oError.description)

    Return SetError(1)

    EndFunc ;==>_COMErrFunc

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™