Seite 1 von 1
Outlook activeX Restrict Method [erledigt]
Verfasst: Do, 24. Feb 2011 4:32
von AUGE_OHR
hi,
aus dem Beispiel
http://msdn.microsoft.com/en-us/library ... 10%29.aspxhabe ich versucht das zu machen
Code: Alles auswählen
oOutlook := CreateObject( "Outlook.Application" )
IF Empty(oOutLook)
RETURN
ENDIF
oNameSpace := oOutlook:GetNamespace( "MAPI" )
oAppointment := oNameSpace:getDefaultFolder( olFolderCalendar )
oRest := oAppointment:items
oRest:treatDateAsString( .T. )
* oRest:Restrict("[LastModificationTime]" > '"20101231000001"'
oRest:Restrict("[LastModificationTime] > '20101231'")
iMax := oAppointment:items:count()
leider scheint der "Filter" nicht zu wirken
wieso ?
FindNext (Methode)
Verfasst: Do, 24. Feb 2011 4:39
von AUGE_OHR
und hier das was ich effektive suche mit der FindNext Methode
Nachdem die Find-Methode ausgeführt wurde, sucht diese Methode das nächste Microsoft Outlook-Element in der angegebenen Auflistung und gibt dieses zurück. Der Suchvorgang beginnt an der aktuellen Position, die dem Ausdruck entspricht, der zuvor mit der Find-Methode festgelegt wurde.
Ausdruck.FindNext
Ausdruck Erforderlich. Ein Ausdruck, der ein Items-Auflistungsobjekt zurückgibt.
Beispiel
In diesem Beispiel für Visual Basic für Applikationen (VBA) wird die GetDefaultFolder-Methode verwendet, um das MAPIFolder-Objekt zurückzugeben, das den Standardordner Kalender des aktuellen Benutzers darstellt. In diesem Fall werden die Find- und die FindNext-Methode verwendet, um alle Termine zu suchen, die am jeweiligen Tag (heute) vorkommen. Diese Termine werden dann in verschiedenen Meldungsfeldern angezeigt.
Code: Alles auswählen
Sub DemoFindNext()
Dim myOlApp As Outlook.Application
Dim myNameSpace As Outlook.NameSpace
Dim tdystart As Date
Dim tdyend As Date
Dim myAppointments As Outlook.Items
Dim currentAppointment As Outlook.AppointmentItem
Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
tdystart = VBA.Format(Now, "Short Date")
tdyend = VBA.Format(Now + 1, "Short Date")
Set myAppointments = myNameSpace.GetDefaultFolder(olFolderCalendar).Items
Set currentAppointment = myAppointments.Find("[Start] >= """ & tdystart & """ and [Start] <= """ & tdyend & """")
While TypeName(currentAppointment) <> "Nothing"
MsgBox currentAppointment.Subject
Set currentAppointment = myAppointments.FindNext
Wend
End Sub
es geht dabei um
currentAppointment wo ich nur NIL bekomme ...
a.) wie muss der "Find" String aussehen
dito wie / was macht VBA.Format(Now, "Short Date")
b.) was ist
TypeName() ?
Re: Outlook activeX Restrict Method
Verfasst: Do, 24. Feb 2011 5:37
von AUGE_OHR
hi,
der "Filter" String geht so
Code: Alles auswählen
cFilter := "[Start] >= '"+ cStart + "' and [Start] <= '"+ cEnd +"'"
oAppointment := oNameSpace:getDefaultFolder( olFolderCalendar ):Items
nun kann man den mit
oder mit
Code: Alles auswählen
currentAppointment := oAppointment:Find(cFilter)
...
currentAppointment := oAppointment:FindNext
verwenden