i'm new vba , trying generate list of has sent email outlook account within past 8 hours , put them senderlist, right not entering while loop. i'm sure problem .find("[receivedtime] > checktime") , don't know how else check this. appreciated.
dim mynamespace outlook.namespace dim myinbox outlook.folder dim myfolder outlook.folder dim myitems outlook.items dim myitem object dim senderlist string dim checktime string checktime = format(now - 0.3, "ddddd h:nn ampm") set mynamespace = application.getnamespace("mapi") set myinbox = mynamespace.getdefaultfolder(olfolderinbox) set myfolder = myinbox.folders("daily logs") set myitems = myfolder.items set myitem = myitems.find("[receivedtime] > checktime") while typename(myitem) <> "nothing" senderlist = senderlist & myitem.sendername set myitem = myitems.findnext wend
the find clause needs compare time, written comparing text "checktime."
this because "checktime" inside quotes makes part of string rather outside of quotes acting variable.
try moving variable out of double-quotes , concatenating & operator. single quotes should used qualify date string (this how find function expects it):
set myitem = myitems.find("[receivedtime] > '" & checktime & "'") you able readily see difference if run code , in immediate window:
debug.print "[receivedtime] > checktime" debug.print "[receivedtime] > '" & checktime & "'" reference
Comments
Post a Comment