Runtime error in VBA for Outlook -
so trying write module in outlook parse emails out of emails being sent in body of message. getting 'runtime 424 error" @ line of code
each outlookmessage in outlookfolder.items it says object required, i'm pretty sure error in reference for each outlookmessage in outlookfolder.items
can please me out, not vba , need help.
here portion of code talking about:
' top level folders , find our target email folder.... ictr = 1 outlooknamespace.folders.item(1).folders.count ' handle case sensitivity can't type worth crap if lcase(outlooknamespace.folders.item(1).folders(ictr).name) = lcase(strtargetfolder) 'found our target :) set outlookfolder = outlooknamespace.folders.item(1).folders(ictr) exit ' found lets move on end if next 'set header data dump, csv stremailcontents = "user,remote,forwarder,encoding,timestamp" & vbcrlf 'likely should have error handling here, in case have found no target folder 'set myfolderitem = outlookfolder.items ' have commenteted out items illustrate call sue'stremailcontents function each outlookmessage in outlookfolder.items strmsgbody = outlookmessage.body ' assign message body var ' use sue moshers code stuff in body ' of following stuff in quotes "" specific needs stremailcontents = stremailcontents & parsetextlinepair(strmsgbody, "e-mail:") ' stremailcontents = stremailcontents & "," & parsetextlinepair(strmsgbody, "remote_addr=") ' stremailcontents = stremailcontents & "," & parsetextlinepair(strmsgbody, "http_user_agent=") ' stremailcontents = stremailcontents & "," & parsetextlinepair(strmsgbody, "http_via=") ' stremailcontents = stremailcontents & "," & parsetextlinepair(strmsgbody, "http_x_forwarded_for=") ' stremailcontents = stremailcontents & "," & parsetextlinepair(strmsgbody, "encoding=") 'add email message time stamp, cause want stremailcontents = stremailcontents & "," & outlookmessage.receivedtime & vbcrlf 'debug message comment out production 'wscript.echo stremailcontents next thank in advanced!
based on discussion far, following code should work you. maybe hitting meeting invite or other nonmail item?
strtargetfolder = "inbox" dim outlookfolder object set outlooknamespace = application.getnamespace("mapi") ictr = 1 outlooknamespace.folders.item(1).folders.count ' handle case sensitivity can't type worth crap if lcase(outlooknamespace.folders.item(1).folders(ictr).name) = lcase(strtargetfolder) 'found our target :) set outlookfolder = outlooknamespace.folders.item(1).folders(ictr) exit ' found lets move on end if next stremailcontents = "user,remote,forwarder,encoding,timestamp" & vbcrlf if not outlookfolder nothing each outlookmessage in outlookfolder.items if typeof outlookmessage mailitem strmsgbody = outlookmessage.body ' assign message body var stremailcontents = stremailcontents & parsetextlinepair(strmsgbody, "e-mail:") stremailcontents = stremailcontents & "," & outlookmessage.receivedtime & vbcrlf end if next end if
Comments
Post a Comment