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

Beiträge von BugFix

  • Excelarbeitsblatt in eine andere Exceldatei kopieren

    • BugFix
    • 20. Oktober 2010 um 19:11

    Der_Doc: Ich hatte doch schon beantwortet. Meine gezeigte Lösung funktioniert. Das Select ist nur unnütz, schadet aber nicht.

  • Excelarbeitsblatt in eine andere Exceldatei kopieren

    • BugFix
    • 20. Oktober 2010 um 18:28

    Du brauchst nur ein Objekt "Excel.Application". Ist eine Hierarchie: ExcelObjekt-Workbooks-Sheets
    Daraus resultierte auch der Fehler, weil die Workbooks in zwei getrennten Objekten "zu Hause" waren, konnten sie nicht miteinander kommunizieren.
    Ich verwende lieber die Tabellennummern, spart Schreibarbeit. :D Aber Name geht natürlich auch.

    [autoit]

    Local $oExcel = ObjCreate("Excel.Application")
    $oExcel.Visible = 1 ; oder 0 unsichtbar

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

    Local $sFilePathA = 'FileA.xls'
    Local $sFilePathB = 'FileB.xls'
    Local $oBookA = $oExcel.Workbooks.Open($sFilePathA)
    Local $oBookB = $oExcel.Workbooks.Open($sFilePathB)

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

    $oBookA.Sheets(1).Copy( Default, $oBookB.Sheets(1))

    [/autoit]
  • Erweiterte Dateiinfo (eine Datei od. alle eines Ordners)

    • BugFix
    • 20. Oktober 2010 um 17:58
    Zitat von hundi

    zum schreiben in die erweiterten Datei Infos?


    Danach habe ich bisher vergeblich gesucht. :wacko:

  • Subscript used with non-Array variable

    • BugFix
    • 19. Oktober 2010 um 22:28

    Diese Fehlermeldung kommt in deinem Fall sicher, weil IniRead fehlgeschlagen ist (Entschlüsseln versagt).
    Du hast mehrere Möglichkeiten anzusetzen, z.B.:
    - Fehler beim Entschlüsseln abfragen
    - Fehler beim Ini lesen abfragen
    Ein sauberes Fehlermanagement sollte dich zum Ziel bringen.

  • Transparente Buttons

    • BugFix
    • 19. Oktober 2010 um 21:44
    Zitat von Ilse

    Oder wie machen das die Profis hier?

    Ich bin mal so frei und fühl mich mit angesprochen. ;)
    Aber letztlich bin ich da kein guter Ratgeber, da ich keinen Wert auf Style lege. Ich bin ein reiner Funktionalist.

  • Fokus auf Button

    • BugFix
    • 19. Oktober 2010 um 21:18

    Wenn ich es richtig verstanden habe, soll das Input ausgelesen werden, wenn der Fokus im Input ist und ENTER gedrückt wird.
    Dazu brauchst du einen Hook:

    Spoiler anzeigen
    [autoit]

    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)
    OnAutoItExitRegister('OnAutoItExit')

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

    Global $hStub_KeyProc = DllCallbackRegister("_KeyProc", "long", "int;wparam;lparam")
    Global $hmod = _WinAPI_GetModuleHandle(0)
    Global $hHook = _WinAPI_SetWindowsHookEx($WH_KEYBOARD_LL, DllCallbackGetPtr($hStub_KeyProc), $hmod)
    Global $active = False, $gui, $input

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

    $gui = GUICreate('')
    GUISetOnEvent(-3, '_ende')
    $input = GUICtrlCreateInput('', 10,10,100)

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

    GUISetState()

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

    While 1
    If BitAND(WinGetState($gui), 8) Then
    $active = True
    Else
    $active = False
    EndIf
    Sleep(100)
    WEnd

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

    Func _ende()
    Exit
    EndFunc

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

    ;===========================================================
    ; callback function
    ;===========================================================
    Func _KeyProc($nCode, $wParam, $lParam)
    Local $tKEYHOOKS, $vkCode, $ID, $index
    $tKEYHOOKS = DllStructCreate($tagKBDLLHOOKSTRUCT, $lParam)
    If $nCode < 0 Or Not $active Then Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
    $vkCode = DllStructGetData($tKEYHOOKS, "vkCode")
    If $wParam = $WM_KEYDOWN And $vkCode = 13 Then ; ENTER gedrückt

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

    $ID = _WinAPI_GetDlgCtrlID(ControlGetHandle($gui, '', ControlGetFocus($gui)))
    If $ID <> $input Then Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
    ConsoleWrite(GUICtrlRead($input) & @CRLF) ; Hier darf auf keinen Fall eine MsgBox aufgerufen werden!

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

    EndIf
    Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
    EndFunc

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

    Func OnAutoItExit()
    _WinAPI_UnhookWindowsHookEx($hHook)
    DllCallbackFree($hStub_KeyProc)
    EndFunc

    [/autoit]
  • Transparente Buttons

    • BugFix
    • 19. Oktober 2010 um 18:47

    Meinst du so etwas:

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    $GUImain = GUICreate('Main', 255, 40, -1, -1, Default, $GUI_WS_EX_PARENTDRAG)
    GUICtrlCreatePic(@Systemdir & "\oobe\images\mslogo.jpg", 0, 0, 255, 40)
    GUICtrlSetState(-1, $GUI_DISABLE)

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

    $GUIBtn = GUICreate("", 80, 20, 155, 10, $WS_POPUP, $WS_EX_MDICHILD, $GUImain)
    WinSetTrans($GUIBtn, "", 150)
    $Btn = GUICtrlCreateButton('Button', 0, 0, 80, 20)

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

    GUISetState(@SW_SHOW, $GUIBtn)
    GUISetState(@SW_SHOW, $GUImain)

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    [/autoit]
  • Hilfe bei Arrays (mein erstes Mal!)

    • BugFix
    • 19. Oktober 2010 um 17:20

    Sag doch mal, aus welchem Programm du die Daten rauskopierst. Vielleicht kommst du ja mit ControlCommand/ ControlGetText etc. weiter. Hast du versucht die Controls mit dem AutoIt-Windows-InfoTool zu identifizieren?

  • Bitte um Hilfe beim Formatieren eines Befehls

    • BugFix
    • 19. Oktober 2010 um 10:52

    Es funktioniert problemlos:

    [autoit]


    ;=== Test_param.au3
    $param = ''
    If $CMDLINE[0] Then
    For $i = 1 To $CMDLINE[0]
    $param &= $CMDLINE[$i] & @CRLF
    Next
    EndIf
    MsgBox(0, '', $param)

    [/autoit]


    Mit folgendem Befehl aufrufen:

    [autoit]

    Run(@AutoItExe & ' Test_param.au3 "param1" "param2" "param3"')

    [/autoit]

    Edit: Die Gänsefüßchen für die Parameter sind nicht zwingend. Ich verwende sie für eine optisch bessere Abtrennung.

  • Teile aus einem Array löschen

    • BugFix
    • 18. Oktober 2010 um 16:50

    Der Fehler entsteht beim Splitten, du verwendest als Trenner @CRLF - auf Webseiten wird aber i.A. @LF verwendet. Probiers mal damit zu splitten.

  • DescribeIt - Funktionsheader leicht gemacht (Alpha)

    • BugFix
    • 18. Oktober 2010 um 14:30
    Zitat von Pitter

    keine SciTEUser.properties gibt.
    SciTe ist allerdings installiert.... und nu? ?(


    Dann hast du bisher noch keine Userspezifischen Einstellungen vorgenommen - erst dann wird diese Datei erstellt. Kannst sie also ohne Bedenken auch als leere Textdatei erstellen (Suffix ist .properties !).

  • Problem mit HotKeys

    • BugFix
    • 18. Oktober 2010 um 14:17

    Wenn man statt der Buchstaben deren ASCII-Werte verwendet, kann man das kpl. Skript mittels Array und Schleife in ein paar Zeilen unterbringen. ;)
    Aber wenn du echt zu faul bist die Zeilenumbrüche hier einzufügen, ist dir wohl nicht an Hilfe gelegen.

  • Problem mit HotKeys

    • BugFix
    • 18. Oktober 2010 um 14:00

    1. Wenn du hier nicht lesbaren Code reinstellst, brauchst du dich nicht über Nachfragen wundern.
    2. Herumschreien mögen wir hier gar nicht. Du möchtest Hilfe. Also befleißige dich eines vernünftigen Umgangstones.

  • Welche Dateien benötigt AutoIT auf Fremdsystemen ?

    • BugFix
    • 18. Oktober 2010 um 13:47

    Keinerlei Includes - dann sollte der Ordner "Aut2Exe" ausreichen. Enthält neben der "Aut2Exe.exe" auch die StandardIcon und die EXE-Komprimierung.
    Wie es verwendet wird, findest du in der Hilfe unter
    > Using AutoIt
    >> Compiling Scripts
    >>> Method 3 - The Command Line

  • Welche Dateien benötigt AutoIT auf Fremdsystemen ?

    • BugFix
    • 18. Oktober 2010 um 12:45

    Wie Hellboy richtig sagte, wenn es nur minimale Veränderungen sind einfach INI oder auch CmdLine nutzen.
    Was du zum Kompilieren brauchst, hängt davon ab, welche Includes deine Skripte erfordern. Denn diese müssen selbstverständlich neben der Aut2Exe.exe alle vorliegen.

  • Namen einer exe datei gehen

    • BugFix
    • 18. Oktober 2010 um 12:17
    Zitat von Baron1977

    der Windows Explorer.exe den möchte ich aber nicht offnen sondern das Kontextmenu wo steht eigenschaft und an taskleiste lösen.


    Uns wäre sehr geholfen, wenn bei Systemfragen auch das System benannt wird. Ich habe XP und bei mir gibt es dergleichen nicht.

  • Maximiertes Fenster herunterziehen wie bei Win7 für XP und Vista

    • BugFix
    • 18. Oktober 2010 um 12:06

    Habe WinXP und sehe mich mal wieder bestätigt, dass Win7 wohl eher etwas für Grafikenthusiasten und Effektliebhaber ist. OK, wer es mag. :rolleyes:

    Zitat von funkey

    Einfach ein maximiertes Fenster an der Titelleiste anklicken und herunterziehen um es wiederherzustellen, bzw. ein nicht maximiertes Fenster einfach nach oben schieben um es zu maximieren.

    Funktioniert (aber ein Klick auf "Verkleinern/Maximieren" bewirkt doch dasselbe und geht schneller).

    Zitat von funkey

    Ebenfalls kann man das Fenster nach rechts oder links schieben, um es auf genau der Hälfte des Bildschirmes anzuzeigen.

    Da regt sich auf meinem PC gar nix, aber kein Problem, da ich kein Freund von Effekten bin.
    @fukey: Nicht dass du mich mißverstehst, ich möchte deine Leistung nicht schmälern. Ich bin wohl einfach zu alt für solche Gimmicks. :D
    Meine PC's bekommen immer das Klassik-Design und wo es irgend geht verzichte ich eh auf Mausklickerei, Tastatur ist da weitaus schneller. ;)

  • FileGetShortcut und Dateiname des Icons

    • BugFix
    • 18. Oktober 2010 um 11:28

    Alternative, bei der du auch gleich die Position des Icon in der Icondatei bekommst:

    [autoit]

    $oWS = ObjCreate("WScript.Shell")
    $sLinkFile = 'C:\Dokumente und Einstellungen\All Users\Desktop\Nokia Ovi Suite.lnk'
    $oLink = $oWS.CreateShortcut($sLinkFile)

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

    ConsoleWrite( _
    "Arguments" & @TAB & @TAB & $oLink.Arguments & @CRLF & _
    "Description" & @TAB & @TAB & $oLink.Description & @CRLF & _
    "HotKey" & @TAB & @TAB & $oLink.HotKey & @CRLF & _
    "IconLocation, Index" & @TAB & $oLink.IconLocation & @CRLF & _
    "WindowStyle" & @TAB & @TAB & $oLink.WindowStyle & @CRLF & _
    "WorkingDirectory" & @TAB & $oLink.WorkingDirectory & @CRLF)

    [/autoit]
  • Word UDF Error

    • BugFix
    • 18. Oktober 2010 um 11:06

    Bau dir doch zusätzlich einen Object-Error-Handler ein.
    Aus der Hilfe:

    Spoiler anzeigen
    [autoit]

    $oMyError = ObjEvent("AutoIt.Error","MyErrFunc") ; Initialize a COM error handler

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

    ; This is my custom defined error handler
    Func MyErrFunc()
    Msgbox(0,"AutoItCOM Test","We intercepted a COM Error !" & @CRLF & @CRLF & _
    "err.description is: " & @TAB & $oMyError.description & @CRLF & _
    "err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _
    "err.number is: " & @TAB & hex($oMyError.number,8) & @CRLF & _
    "err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _
    "err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _
    "err.source is: " & @TAB & $oMyError.source & @CRLF & _
    "err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _
    "err.helpcontext is: " & @TAB & $oMyError.helpcontext _
    )
    Local $err = $oMyError.number
    If $err = 0 Then $err = -1

    $g_eventerror = $err ; to check for after this function returns
    Endfunc

    [/autoit]
  • FileGetShortcut und Dateiname des Icons

    • BugFix
    • 18. Oktober 2010 um 10:53

    Funktioniert doch tadellos:

    [autoit]

    #include <Array.au3>
    $aLnk = FileGetShortcut('C:\Dokumente und Einstellungen\All Users\Desktop\Nokia Ovi Suite.lnk')
    _ArrayDisplay($aLnk)

    [/autoit]


    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

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™