Hi guys,
The below code extracts outlook email contents to excel workbook but I want to save the workbook down in pipe delimited .txt file format.
Can anyone please amend the code accordingly ?
Sub Extract()
On Error Resume Next
Set myOlApp = Outlook.Application
Set mynamespace = myOlApp.GetNamespace("mapi")
'open the current folder
Set myfolder = myOlApp.ActiveExplorer.CurrentFolder
Set xlobj = CreateObject("excel.application")
xlobj.Visible = True
xlobj.Workbooks.Add
Dim objFS As New Scripting.FileSystemObject
Dim objFile As Scripting.TextStream
Dim FilePath As String
'open the current folder
Dim sFilePath As String
Dim fileNumber As Integer
'Set Heading
For I = 1 To myfolder.Items.Count
Set myitem = myfolder.Items(I)
msgtext = myitem.Body
'search for specific text
delimtedMessage = Replace(msgtext, "Name", "###")
delimtedMessage = Replace(delimtedMessage, "Contact Number", "###")
delimtedMessage = Replace(delimtedMessage, "Address", "###")
delimtedMessage = Replace(delimtedMessage, "Telephone Number", "###")
delimtedMessage = Replace(delimtedMessage, "Email", "###")
delimtedMessage = Replace(delimtedMessage, "Account number", "###")
delimtedMessage = Replace(delimtedMessage, "Hobbies", "###")
delimtedMessage = Replace(delimtedMessage, "DOB", "###")
delimtedMessage = Replace(delimtedMessage, "University", "###")
delimtedMessage = Replace(delimtedMessage, "Subjects", "###")
delimtedMessage = Replace(delimtedMessage, "Score", "###")
messageArray = Split(delimtedMessage, "###")
'write to excel
xlobj.Range("a" & I + 1).Value = messageArray(1)
xlobj.Range("b" & I + 1).Value = messageArray(2)
xlobj.Range("c" & I + 1).Value = messageArray(3)
xlobj.Range("d" & I + 1).Value = messageArray(4)
xlobj.Range("e" & I + 1).Value = messageArray(5)
xlobj.Range("f" & I + 1).Value = messageArray(6)
xlobj.Range("g" & I + 1).Value = messageArray(7)
xlobj.Range("h" & I + 1).Value = messageArray(8)
xlobj.Range("i" & I + 1).Value = messageArray(9)
xlobj.Range("j" & I + 1).Value = messageArray(10)
xlobj.Range("k" & I + 1).Value = messageArray(11)
myPath = "C:\test\"
myFileName = "a" & Format(Now, "ddmmyyyyhhmmss")
xlobj.SaveAs FileName:=myPath & sFilePath & ".csv", FileFormat:=xlCSV, Local:=True
Next
End Sub
Bookmarks