Dann würde ich doch eher nach Mails suchen, die in der letzten 1/2 Stunde eingetroffen sind. Wenn das Ergebnis 0 ist, dann hat Du keine Mails bekommen.
Beiträge von water
-
-
Hi autoBert,
Ich setz es mal auf die ToDo-Liste.
Gruß
water -
Was fehlt Euch in der aktuellen UDF? Welche Funktionen müssen noch rein?
Tabellenbearbeitung, Grafiken, Einfügen von Objekten (Excel, Visio ..), sonst noch was? -
Ah, dachte ich mir doch, dass es im engl. Forum eine Lösung gibt.
-
Windows und Office sehen gut aus.
Welche Autoit Version verwendest Du? -
Oder reden wir aneinander vorbei?
Da Du von der Venus bist und ich vom Mars, ist das ja nicht wirklich unwahrscheinlich
Aber ernsthaft. Ich habe das schon öfter erlebt, dass der OP im Laufe der Diskussion mehr Einblick in das Thema bekam und sich dadurch seine Anforderungen etwas veränderten. Ich sichere mich daher mit Rückfragen immer wieder gerne ab.Du musst also auf jeden Fall das Start und Enddatum der Woche berechnen die Du durchsuchen willst.
Im Parameter $sOL_Restrict steht dann z.B. "[Start]>'2012-05-14 00:00' And [End]<'2012-05-18 23:59'" und im $sOL_SearchName steht dann "Subject" und im $sOL_SearchValue steht dann "ab 8 Uhr".Wobei ich mich frage, ob es nicht einfacher wäre, Anfangs und Endzeit des Termines selbst richtig zu setzen und diesen dann abzufragen. Denn eigentlich werden Kalender so rum verwendet.
-
Beschreib mal in Worten wie/wonach Du genau suchen willst.
-
Nachtrag:
Was mich wundert. Wenn ich das auf meinen eigenen Kalender losschicke. Ist das Array an Position 1 leer. 0 ist die Anzahl. Und 5 der Pfad. Was müsste an 1 stehen?
Denn der Befehl:
Global $aItems = _OL_ItemFind($oOutlook, $aFolder[1])
_ArrayDisplay($aItems)
gibt nix zurück.Element 1 ist nicht leer sondern enthält das Object zum Folder. Die genaue Beschreibung der Rückgabedaten sowie Fehlermeldungen findest Du in den Help-Files oder im UDF im Header der Funktionen.
-
Fehler 4 heisst: Specified folder could not be found
Wie gibst Du den Folder genau an? -
Habe Post 8 angepasst. Sollte nun funzen.
-
Vielleicht funktioniert _ExcelClose nicht sauber. Um das zu klären, sollten wir noch zusätzliche Infos haben:
- Welches Betriebssystem (Windows 7, XP, ...)
- 32 oder 64 bit?
- Welche Office Version?
- 32 oder 64 bit?
- Welche AutoIt Version?
- Ist das Skript für 32 oder 64 bit kompiliert?
-
Das geht sicher:
"Öffentliche Ordner - blubb@bla.de\Alle Öffentlichen Ordner\Technik" -
Wenn es ein öffentlicher Kalender ist, dann musst Du den kompletten Pfad angeben. Also das, was in der Folder-Übersicht links im Ooutlook angezeigt wird z.B. "Öffentliche Ordner\Technik".
[autoit]#include <OutlookEX.au3>
[/autoit]
Global $oOutlook = _OL_Open()
If @error then Exit MsgBox(16, "Error", "Error bei _OL_Open. @error = " & @error & ", @xtended = " & @extended)
Global $aFolder = _OL_FolderAccess($oOutlook, "Öffentliche Ordner - [email='blubb@bla.de'][/email]\Alle Öffentlichen Ordner\Technik", $olFolderCalendar)
If @error then Exit MsgBox(16, "Error", "Error bei _OL_FolderAccess. @error = " & @error & ", @xtended = " & @extended)
Global $aItems = _OL_ItemFind($oOutlook, $aFolder[1], $olAppointment, ....)
If @error then Exit MsgBox(16, "Error", "Error bei _OL_ItemFind.
@error = " & @error & ", @xtended = " & @extended) -
Per MsgBox bekommst Du von $aFolder auch keinen Inhalt, da es ein Array sein sollte.
-
[autoit]
#include <OutlookEX.au3>
[/autoit]
Global $oOutlook = _OL_Open()
Global $aFolder = _OL_FolderAccess($oOutlook, "*\Technik")
Global $aItems = _OL_ItemFind($oOutlook, $aFolder[1], $olAppointment, ....) -
Um Kalendereinträge zu suchen brauchst Du:
_OL_FolderAccess (Zugriff auf den zu durchsuchenden Kalender-Folder)
_OL_ItemFind (Suche nach Kalendereinträgen im vorher usgewählten Folder eingegrenzt nach Datum (Start- und Enddatum oder Inhalt oder ...)_OL_ReminderGet und _OL_AccountGet brauchst Du nicht.
-
Leider nein.
In der Funktion verwende ich die Methode "Restrict" bzw. filtere selbst die Datensätze. Outlook hat hier nicht die Möglichkeit eine Callback Funktion aufzurufen mit der dann ein Fortschrittsbalken etc. angezeigt werden kann.
Die methode AdvancedSearch arbeitet mit Events, die habe ich aber (noch) nicht implementiert. -
Falls Performance ein Thema ist, dann gibt es da verschiedene Möglichkeiten:
- Definition einer Rule für das Postfach, dass neue Mails in einen eigenen Folder kopiert (nicht verschoben) werden. Dieser Folder kann dann von Deinem Skript verarbeitet werden und abgearbeitete Mails kännen dann problemlos aus diesem Folder gelöscht werden.
- Mit einem Skript das Outlook Event "Neue Mail" abfangen und dann die eingegangene Mail verarbeiten. Geht natürlich viel schneller!
-
@error = 4 steht für: "Specified folder could not be found".
Wenn das ein zweites Postfach ist (=gehört einem anderen User), dann kann der Name nicht mit "*" (=eigener User) beginnen.
Was steht im Outlook in der Folderübersicht für ein Name für dieses Postfach? -
Auf das zweite Postfach greifst Du mit _OL_FolderAccess zu. Du bekommst einen Array zurück dessen Element[1] Du dann an die weiteren Funktionen weitergibst. _OL_FolderGet gibt Dir im Array auch die Anzahl der ungelesenen Mails zurück.
_OL_FolderSet kannst Du komplett streichen, da diese Funktion nur den selektierten Folder ändert (also für das GUI sinnvoll ist).