tags:

views:

428

answers:

4

How do I track e-mails in and out of a shared in-box in Outlook using excel? We have a large number of e-mails coming in and we need to track responses to make sure that e-mails don't get lost.

Is there as way to get the results from advanced find to an excel sheet?

+2  A: 

Maybe you should invest in a tool like FogBugz that can handle incoming email, filters spam and tracks responses.

Clint
+1 -- use the right tools...
Austin Salonen
That would be great, but I can't choose my tools, I've only got outlook and excel
Niall
A: 

I've found a stop gap measure; just highlight all results you get from advanced find, then ctrl + A, then ctrl + C, you can then paste the results into excel (ctrl + V).

Still I'd like to hear of any other solutions.

Niall
A: 

Excel doesn't do this well. At my company we simply use flags for anything urgent. When someone responds to a customer, they drag the original message to their folder within the shared mailbox.

NickSentowski
+3  A: 

What view are you setting up in advanced find ? As you can write a VBA macros to pull items from your inbox and put them into you speadsheet. Alot of the advance find option are not in the outlook object model so it depends on the view you are trying to set up. So can you tell me what you are doing in advanced find ..? 76mel

Ok using outlook tables you can put this in your Excel as a macro
Use "sfilter" to define your advance search criteria.
You will have to pump the data into Excel at the bottom.

Sub GetMail()


Dim oApp As Outlook.Application
Dim oFolder  As Outlook.Folder
Dim oNameSpace As Outlook.Namespace
Dim emailCount As Integer
Dim counter As Integer
Dim sfilter As String
Dim oRow As Outlook.Row
Dim oTable As Outlook.Table
Dim i As Outlook.MailItem



Set oApp = CreateObject("Outlook.Application")
Set oNameSpace = oApp.Session
Set oFolder = oNameSpace.GetDefaultFolder(olFolderInbox)


'Add what ever filter you want here using DASL
sfilter = "[LastModificationTime] > '5/1/2005'"
'Restrict with Filter
Set oTable = oFolder.GetTable(sfilter)

'Remove all columns in the default column set
oTable.Columns.RemoveAll
'Specify desired properties

With oTable.Columns

    .Add ("EntryID")
    .Add ("Subject")
    .Add ("ReceivedTime")

End With

'Enumerate the table using test for EndOfTable
'Pump it into your worksheet
Do Until (oTable.EndOfTable)
    Set oRow = oTable.GetNextRow()
    Debug.Print (oRow("EntryID"))
    Debug.Print (oRow("Subject"))
    Debug.Print (oRow("ReceivedTime"))
Loop


'Clean up
Set oTable = Nothing
Set oFolder = Nothing
Set oNameSpace = Nothing
Set oApp = Nothing

End Sub

76mel
I was using advanced find to search the inbox by date; I don't want to alter any of the e-mails in the inbox, but just to make a copy of the subject line and date received of each e-mail in an excel sheet.Basically what I'm trying to do is distinguish between replies to already existing issues and 'fresh' problems we need to address, the purpose of which is to produce a list of outstanding issues so that we can easily spot long unresolved problems brought to us.We've had some problems with e-mails sitting unanswered and forgotten about.
Niall
Ok, that do-able .. There are a number of ways. 1.Write an addin in outlook to export > Excel 2.Write a Marco and VBA in Excel that queries the mailbox and insert the data
76mel
Have added some code for the Excel Macro way above.
76mel