Kriegst Du eine MsgBox vom Error handler?
Beiträge von water
-
-
Verpass Deinem Skript mal einen COM error handler. Ein Beispiel findest Du in der Funktion ObjEvent.
[autoit]$oMyError = ObjEvent("AutoIt.Error","MyErrFunc") ; Initialize a COM error handler
[/autoit]
; Dein Code kommt hierher
; 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 _
)
EndFunc -
Sollte im Pfad nicht ein "\" statt "/" stehen?
Oder Du verwendest gleich RecFileListToArray -
Da Deine Mousaktionen nur funktionieren, wenn der User angemeldet ist, prüfe doch mal, ob Du einen entsprechenden Returncode kriegst.
Falls ja, könntest Du nach dem Skriptstart gleich eine Mausaktion durchführen und beenden, falls Du einen Fehler kriegst. -
Externe Adressen, die sich nicht Pingen lassen, weil sie nicht zurückgeben, könnte man über eventuell über Beispiel: http://www.downforeveryoneorjustme.com/google.com testen.
-
-
Die WinWait Aufrufe sollten funktionieren - ist ja eine der Hauptaufgaben von AutoIt.
[autoit]
Füge mal nach jedem Funktionsaufruf einConsoleWrite("Aufruf von Funktion WinWait: @error = " & @error & @CRLF)
[/autoit]ein. "WinWait" ersetzt Du natürlich durch den Namen der aufgerufenen Funktion. Dann siehst Du wenigstens, wie weit Du kommst.
-
Ja, könnte man. Vielleicht müsste man etwas experimentieren, aber generell sollte es funktionieren.
Nein, ich habe sowas noch nicht gemacht. Das lässt sich mit den Befehlen aus meiner vorigen Post aber leicht bauen.
Probier's mal und poste dann die Probleme auf die Du ev. stösst. -
Hallo zusammen,
ich habe mal eine bescheidene Frage.
Für mein Outlook(XP) suche ich eine Funktion die in Abhängigkeit der Dateigröße (PST-Datei) eine neue PST-Datei anlegt.
Dann diese neue PST-Datei einbindet und die ältesten Mails (älter als 3 Monate) aus dem Ordner (gesendet/ empfangen) in die neue PST-Datei verschiebt.Kann man das mit der Outlook UDF erreichen?
Gruß Schumi
Ich denke, das müsste gehen.
Die Größe der PST findest Du mit FileGetSize raus. Dann legst Du mit _OL_PSTCreate eine neue PST an. Suchst Dir mit _OL_ItemFind die zu verschiebenden Mails raus und schiebst sie dann mit _OL_ItemMove in die neue PST rüber.
Was leider nicht automatisch geht, ist eine PST dann zu komprimieren. Da gibt es leide keine Möglichkeit mit COM zuzugreifen. Da müssen die Fenster direkt angesprochen werden. -
Was verstehtst Du unter "auslesen"?
-
(Falls du noch Zuarbeit benötigst, ich habe sicher noch ein paar Grafik-Exel Umsetzungen rumliegen ;))
Hallo BugFix,
habe schon mal einen Screenshot des Demoscripts sowie den Beginn vom Anfang vom Einstieg in die UDF (also: early alpha) publiziert.
Damit ich nicht überall das Rad neu erfinden muss, würde ich gerne auf Dein Angebot zuückkommen. Was kannst Du denn so anbieten?
Schöne Grüße vom Bodensee
Water -
Einen ersten Screenshot sowie den ersten Versuch des UDFs habe ich hier und im nachfolgenden Posting freigegeben.
Das Beispielscript _XLChart_ChartCreate generiert drei Charts auf einem Arbeitsblatt und ein viertes Chart auf einem eigenen Grafikblatt.
_XLChart_FontSet setzt Attribute des Chart Titels in Chart 1 und den Titel der X-Ache in Chart 2.Welche Funktionen wünscht Ihr Euch vom UDF? Was soll ich zuerst realisieren?
-
Nee, leider nur mit Outlook 2007+. Outlook 2003 reicht die Events nicht so weiter, dass AutoIt sie abgreifen kann.
Aber vielleicht geht die Idee von chip unter Outlook 2003? Sprich eine Rule definieren, die beim Eingang einer neuen Mail (und weiteren Voraussetzungen wie Absender etc.) das AutoIt Skript startet. -
6GB RAM reichen für Ubuntu locker. Ich habe 4GB und komme prächtig damit aus.
-
Falls Du ausreichend Memory hast (das Gerät also nicht zu swappen beginnt), sollte ein zweites Betriebssystem kein Problem sein.
Jenachdem wie viel Du mit Ubuntu arbeiten möchtest. Sollte es nur das Trägersystem für weitere Betriebssysteme sein, dann würde ich eine LTS-Version (LTS -= Long Term Support) empfehlen. Also z.B. die Version10.04 LTS mit 36 Monaten Support.
Besorg Dir mal ne Live CD, dann kannst Du mit Ubuntu spielen. -
Ich habe derzeit 4 Betreibssysteme auf meinem PC. Eines läuft auf der echten Hardware (Ubuntu 10.10) der Rest (Ubuntu 10.10, Ubuntu 11.04, Windows 7) in einer virtuellen Maschine (VirtualBox). Funktioniert problemlos und schnell.
Da ein virtuelles Betriebssystem nur eine Datei auf dem "echten" Betriebssystem ist, lässt sich leicht ein Backup durch kopieren der Datei erstellen. Restore ist dann auch einfach: löschen und umbenennen.
Weiterer Vorteil: Du kannst mehrere Betriebssysteme gleichzeitig laufen lassen. -
Dann schau Dir mal hier das Beispielscript an. Wenn das läuft, fängt es die Events neuer EMails ab und ruft eine Funktion mit der EntryID der Mail auf. In der Funktion kannst Du dann mit der Mail tun was Du willst.
-
Wenn Du Outlook verwenden könntest, dann hätte ich eine Lösung. Bei Outlook generiert jede eintreffende Mail einen Event auf den dann Autoit reagieren könnte (macht im Prinzip das, was das VB script von TheLuBu macht).
-
Der OP spricht aber von Outlook Express und da sieht es doch gleich anders aus, oder?
-
Zitat
Ich dachte bisher immer, dass man diese While-Schleife nur mit 1 und nur ein mal am Ende eines Scripts verwenden kann
Da dachte ich doch, dass sich ein Blick in die Hilfe lohnen würde
Schliesslich gehören While und Do Until zu den Basiskonzepten beinahe jeder Programmiersprache.