Script to fetch data from mails in restricted collection and sending them to excel

Status
Not open for further replies.
A

AJBoink

Hi Could someone review the below given code and help me to sort out the error?
The script is meant to fetch data from mails in a particular date range using pattern matching with regex, and send those data to an excel file. But I have been getting errors while running this script. The script should run against a folder called 'arjun' and then look for mails which matches the required pattern.

Sub mailsInRestrcitedCollectionP1S3()
Dim objOutlook As Outlook.Application
Dim objNameSpace As Outlook.NameSpace
Dim objSourceFolder As Outlook.Folder
Dim drDate, StartDate, EndDate, StarD, EndD As Date
Dim mailCount As Integer
Dim objVariant, Row, Priority, i As Variant
Dim olItem
Dim itms As Outlook.Items
Dim filteredItms As Outlook.Items
Dim N As Integer
Dim strRestrict, subjct, mailBody, strtTime, resoTime, incTickt, Category, Location As String
Dim ExcelSheet As Object
Dim regexpSubjectCheck, regexpLocation, regexpCategory, regexpdataFromBody As RegExp
Dim M, P, D As MatchCollection
'Dim Category, Location As Object
Dim oMatch, oMatches

Set objOutlook = Application
Set objNameSpace = objOutlook.GetNamespace("MAPI")
Set objSourceFolder = objNameSpace.Folders("Arjun.SL@xe04.ey.com").Folders("Inbox").Folders("arjun")

Set ExcelSheet = CreateObject("Excel.Sheet")

StartDate = InputBox("the date in format m/d/yyyy", "Start Date")
EndDate = InputBox("the date in format m/d/yyyy", "End Date")

StarD = Format(StartDate, "m/d/yyyy")
EndD = Format(EndDate, "m/d/yyyy")

strRestrict = "[ReceivedTime] > '" & StarD & "' AND [ReceivedTime] < '" & EndD + 1 & "' "

Set itms = objSourceFolder.Items
Set filteredItms = itms.Restrict(strRestrict)

Set regexpSubjectCheck = New RegExp
With regexpSubjectCheck
.Pattern = "(\s*FINAL:\s*INCIDENT NOTICE:\s*OneNet\s*\(MPLS\))|(\s*FINAL:\s*INCIDENT NOTICE:\s*US WAN connectivity)|(FINAL:\s*INCIDENT NOTICE:\s*OneNet\s*\(iVPN\))|(\s*FINAL:\s*INCIDENT NOTICE:\s*WAN/MAN\s*Connectivity)|(\s*FINAL:\s*INCIDENT NOTICE:\s*VPN Connectivity)|(\s*FINAL:\s*INCIDENT NOTICE:\s*GWAN\s*II)"
.Global = True
End With

Set regexpLocation = New RegExp
With regexpLocation
.Pattern = ("-\s*\w*\,*\s*\w*")
.Global = True
End With

Set regexpCategory = New RegExp
With regexpCategory
.Pattern = "(\s*OneNet\s*\(MPLS\))|(\s*US WAN connectivity)|(\s*OneNet\s*\(iVPN\))|(\s*WAN/MAN Connectivity)|(\s*VPN Connectivity)|(\s*GWAN\s*II)|(\s*Internet VPN\s*\(I-VPN\))"
.Global = False
End With

Set regexpdataFromBody = New RegExp
With regexpdataFromBody
.Pattern = "(START TIME:\s*\d{2}-\w{3}-\d{4}\s*\d{2}:\d{2}\s*GMT)|(RESOLUTION TIME:\s*\d{2}-\w{3}-\d{4}\s*\d{2}:\d{2}\s*GMT)|(SERVICENOW TICKET: INC\d{7})"
.Global = True
End With

Row = 1

For i = filteredItms.count To 1 Step -1

Set objVariant = filteredItms.item(i)
subjct = objVariant.subject
mailBody = objVariant.Body

If regexpSubjectCheck.Test(subjct) Then
Priority = "P1S3"
End If

Set M = regexpLocation.Execute(subjct)
Location = M(0).Value


Set P = regexpCategory.Execute(subjct)
Category = P(0).Value

Set D = regexpdataFromBody.Execute(mailBody)
strtTime = D(0).Value
resoTime = D(1).Value
incTickt = D(2).Value

ExcelSheet.Application.Cells(Row, 1) = incTickt
ExcelSheet.Application.Cells(Row, 2) = oMatch
ExcelSheet.Application.Cells(Row, 3) = Category
ExcelSheet.Application.Cells(Row, 4) = Priority
ExcelSheet.Application.Cells(Row, 5) = strtTime
ExcelSheet.Application.Cells(Row, 6) = resoTime

If regexpCategory.Test(subjct) Then
Row = Row + 1
End If

Next

ExcelSheet.SaveAs "C:\Script\p1s3.xls"

Set ExcelSheet = Nothing

End Sub
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
R Script for simplifying spam control Outlook VBA and Custom Forms 8
J Outlook Rules VBA Run a Script - Multiple Rules Outlook VBA and Custom Forms 0
N Outlook 2021 'Run Script" Rules? Outlook VBA and Custom Forms 4
K Run a script rule to auto 'send again' on undeliverable emails? Outlook VBA and Custom Forms 1
W Designer Form 2013 and Script ? how ? Outlook VBA and Custom Forms 1
G print attachment straight away; working script edit not working Outlook VBA and Custom Forms 0
G Save attachment run a script rule Outlook VBA and Custom Forms 0
FryW Need help modifying a VBA script for in coming emails to auto set custom reminder time Outlook VBA and Custom Forms 0
G Script does not exist Outlook VBA and Custom Forms 0
G Trigger script without restaring outlook Outlook VBA and Custom Forms 7
A VBA Script - Print Date between first email in Category X and last email in Category Y Outlook VBA and Custom Forms 3
L Modifying VBA script to delay running macro Outlook VBA and Custom Forms 3
L Need help modifying a VBA script for emails stuck in Outbox Outlook VBA and Custom Forms 6
L VB script only runs manually Outlook VBA and Custom Forms 5
E Having some trouble with a run-a-script rule (moving mail based on file type) Outlook VBA and Custom Forms 5
D.Moore VB script to Digitaly Sign newly created outlook message Outlook VBA and Custom Forms 2
Aussie Rules Run a Script on an Incoming Email OK and then the Email reverts Outlook VBA and Custom Forms 0
D.Moore VBA script fail after Office 365 update Using Outlook 8
M Outlook 2013 Script Assistance - Save Opened Link with Subject Added Outlook VBA and Custom Forms 1
F Script for zip file attachment Outlook VBA and Custom Forms 1
S Change VBA script to send HTML email instead of text Outlook VBA and Custom Forms 3
Y Outlook 2013 Run A Script Outlook VBA and Custom Forms 4
Z Script to set account? Using Outlook 0
dweller Outlook 2010 Rule Ignores VBA Script Outlook VBA and Custom Forms 2
N VBA Script to Open highlighted e-mail and Edit Message Outlook VBA and Custom Forms 5
B Outlook rule run a Script doesn't work Outlook VBA and Custom Forms 1
J Calling a Public sub-routine from the script editor via VB script Outlook VBA and Custom Forms 4
K Outlook Archive to PST Files by Date Range VBA Script? Outlook VBA and Custom Forms 1
Peter H Williams Enable script containing VBA Outlook VBA and Custom Forms 12
H VB script in outlook form doesn't work anymore Outlook VBA and Custom Forms 2
B Wanting to run a script that will filter any body that has a russian link in it. Outlook VBA and Custom Forms 5
Bri the Tech Guy Registry Tweak to make "Run a Script" Action Available Outlook VBA and Custom Forms 2
V VB script code to save a specific email attachment from a given email Outlook VBA and Custom Forms 14
Bri the Tech Guy Run Script rule not running for newly arriving messages Outlook VBA and Custom Forms 25
M Subject Line Automation - Trigger Script Delayed Outlook VBA and Custom Forms 2
Q Script to create a pst file for Archiving Using Outlook 1
Vijay Error in rule- Run a script Using Outlook 1
R VBA Script Quick Parts Using Outlook 1
Vijay Run script doesn't work in outlook Using Outlook 1
Q VBA Script to move item in secondary mailbox Outlook VBA and Custom Forms 2
Diane Poremsky Run a Script Rule: Send a New Message when a Message Arrives Using Outlook 2
F Avoid sending duplicate using Outlook script Outlook VBA and Custom Forms 2
oliv- How to Run a Script IN AN ADDIN with Outlook's Rules and Alerts Outlook VBA and Custom Forms 2
L Run a Script Rule doesn't work Using Outlook 5
N Outlook script to forward emails based on senders' address Outlook VBA and Custom Forms 2
S using script rule to save attachments on arrival Outlook 2010 Outlook VBA and Custom Forms 9
X Outlook script to run excel data Outlook VBA and Custom Forms 1
N VBA Script to Send Automatic Emails from Outlook 2010 Outlook VBA and Custom Forms 1
Davzell Change default pop3 account with script, prf or registery ? Outlook VBA and Custom Forms 0
D RUN SCRIPT WHEN OUTLOOK IS CLOSE Outlook VBA and Custom Forms 1

Similar threads

Back
Top