![]() |
Why did my macro suddenly stop working?
Hello all,
I have the following Outlook macro which has stopped working/is behaving erratically between machines. It's always behaved perfectly before. We have a client who sends 15 text files embedded in an email (not an attachment). We have to save them out as text files to our network. "If TypeOf obj Is Outlook.MailItem" seems to be the culprit. ExportMailToTxt is just bypassed. I have no idea why it would suddenly stop working. The only thing I can come up with is something in the client's emails are playing havoc with the macro. Can anyone give me a clue to this puzzle? Public Sub SAVESALES() 'LoopMailFolder() Dim oSel As Outlook.Selection Dim obj As Object Dim cnt As Long Dim SALEDate As String Set oSel = Application.ActiveExplorer.Selection cnt = oSel.Count SALEDate = InputBox("What is today's date?") If cnt = 15 Then For i = 1 To cnt Set obj = oSel(i) If TypeOf obj Is Outlook.MailItem Then ' ///Item is not recognized as a MailItem? ExportMailToTxt obj, Chr$(96 + i), SALEDate ' ///This code is bypassed End If Next End If Shell "d:\Program Files\UltraEdit\uedit32.exe Q:efiles\email\sale" & SALEDate & "*.txt", vbNormalFocus End Sub Public Function ExportMailToTxt(oMail As Outlook.MailItem, _ sExt As String, sDate As String _ ) As Boolean On Error Resume Next Dim sPath As String: sPath = "Q:efiles\email\" '"c:\" Dim sName As String sName = "SALE" & sDate _ & sExt & ".txt" oMail.SaveAs sPath & sName, olTXT ExportMailToTxt = (Err.Number = 0) End Function |
Why did my macro suddenly stop working?
Sorry, in rereading my post I shoud have said"
We have a client who sends 15 emails. We have to save them out as text files to our network .. "Dale" D-Man wrote in message ... Hello all, I have the following Outlook macro which has stopped working/is behaving erratically between machines. It's always behaved perfectly before. We have a client who sends 15 text files embedded in an email (not an attachment). We have to save them out as text files to our network. "If TypeOf obj Is Outlook.MailItem" seems to be the culprit. ExportMailToTxt is just bypassed. I have no idea why it would suddenly stop working. The only thing I can come up with is something in the client's emails are playing havoc with the macro. Can anyone give me a clue to this puzzle? Public Sub SAVESALES() 'LoopMailFolder() Dim oSel As Outlook.Selection Dim obj As Object Dim cnt As Long Dim SALEDate As String Set oSel = Application.ActiveExplorer.Selection cnt = oSel.Count SALEDate = InputBox("What is today's date?") If cnt = 15 Then For i = 1 To cnt Set obj = oSel(i) If TypeOf obj Is Outlook.MailItem Then ' ///Item is not recognized as a MailItem? ExportMailToTxt obj, Chr$(96 + i), SALEDate ' ///This code is bypassed End If Next End If Shell "d:\Program Files\UltraEdit\uedit32.exe Q:efiles\email\sale" & SALEDate & "*.txt", vbNormalFocus End Sub Public Function ExportMailToTxt(oMail As Outlook.MailItem, _ sExt As String, sDate As String _ ) As Boolean On Error Resume Next Dim sPath As String: sPath = "Q:efiles\email\" '"c:\" Dim sName As String sName = "SALE" & sDate _ & sExt & ".txt" oMail.SaveAs sPath & sName, olTXT ExportMailToTxt = (Err.Number = 0) End Function |
Why did my macro suddenly stop working?
Change this:
If TypeOf obj Is Outlook.MailItem Then to this: If obj.Class = olMail Then -- Eric Legault (Outlook MVP, MCDBA, old school WOSA MCSD, B.A.) Try Picture Attachments Wizard for Outlook: http://www.collaborativeinnovations.ca Blog: http://blogs.officezealot.com/legault/ "Dale" wrote: Sorry, in rereading my post I shoud have said" We have a client who sends 15 emails. We have to save them out as text files to our network .. "Dale" D-Man wrote in message ... Hello all, I have the following Outlook macro which has stopped working/is behaving erratically between machines. It's always behaved perfectly before. We have a client who sends 15 text files embedded in an email (not an attachment). We have to save them out as text files to our network. "If TypeOf obj Is Outlook.MailItem" seems to be the culprit. ExportMailToTxt is just bypassed. I have no idea why it would suddenly stop working. The only thing I can come up with is something in the client's emails are playing havoc with the macro. Can anyone give me a clue to this puzzle? Public Sub SAVESALES() 'LoopMailFolder() Dim oSel As Outlook.Selection Dim obj As Object Dim cnt As Long Dim SALEDate As String Set oSel = Application.ActiveExplorer.Selection cnt = oSel.Count SALEDate = InputBox("What is today's date?") If cnt = 15 Then For i = 1 To cnt Set obj = oSel(i) If TypeOf obj Is Outlook.MailItem Then ' ///Item is not recognized as a MailItem? ExportMailToTxt obj, Chr$(96 + i), SALEDate ' ///This code is bypassed End If Next End If Shell "d:\Program Files\UltraEdit\uedit32.exe Q:efiles\email\sale" & SALEDate & "*.txt", vbNormalFocus End Sub Public Function ExportMailToTxt(oMail As Outlook.MailItem, _ sExt As String, sDate As String _ ) As Boolean On Error Resume Next Dim sPath As String: sPath = "Q:efiles\email\" '"c:\" Dim sName As String sName = "SALE" & sDate _ & sExt & ".txt" oMail.SaveAs sPath & sName, olTXT ExportMailToTxt = (Err.Number = 0) End Function |
Why did my macro suddenly stop working?
Thanx for the reply Eric.
What is the difference? Dale "Eric Legault [MVP - Outlook]" wrote in message ... Change this: If TypeOf obj Is Outlook.MailItem Then to this: If obj.Class = olMail Then -- Eric Legault (Outlook MVP, MCDBA, old school WOSA MCSD, B.A.) Try Picture Attachments Wizard for Outlook: http://www.collaborativeinnovations.ca Blog: http://blogs.officezealot.com/legault/ "Dale" wrote: Sorry, in rereading my post I shoud have said" We have a client who sends 15 emails. We have to save them out as text files to our network .. "Dale" D-Man wrote in message ... Hello all, I have the following Outlook macro which has stopped working/is behaving erratically between machines. It's always behaved perfectly before. We have a client who sends 15 text files embedded in an email (not an attachment). We have to save them out as text files to our network. "If TypeOf obj Is Outlook.MailItem" seems to be the culprit. ExportMailToTxt is just bypassed. I have no idea why it would suddenly stop working. The only thing I can come up with is something in the client's emails are playing havoc with the macro. Can anyone give me a clue to this puzzle? Public Sub SAVESALES() 'LoopMailFolder() Dim oSel As Outlook.Selection Dim obj As Object Dim cnt As Long Dim SALEDate As String Set oSel = Application.ActiveExplorer.Selection cnt = oSel.Count SALEDate = InputBox("What is today's date?") If cnt = 15 Then For i = 1 To cnt Set obj = oSel(i) If TypeOf obj Is Outlook.MailItem Then ' ///Item is not recognized as a MailItem? ExportMailToTxt obj, Chr$(96 + i), SALEDate ' ///This code is bypassed End If Next End If Shell "d:\Program Files\UltraEdit\uedit32.exe Q:efiles\email\sale" & SALEDate & "*.txt", vbNormalFocus End Sub Public Function ExportMailToTxt(oMail As Outlook.MailItem, _ sExt As String, sDate As String _ ) As Boolean On Error Resume Next Dim sPath As String: sPath = "Q:efiles\email\" '"c:\" Dim sName As String sName = "SALE" & sDate _ & sExt & ".txt" oMail.SaveAs sPath & sName, olTXT ExportMailToTxt = (Err.Number = 0) End Function |
Why did my macro suddenly stop working?
You got me - I'm not really sure. I've actually never seen Outlook.MailItem
used in an evaluative expression before, and I never use TypeOf with Outlook (no particular reason). I'm just more comfortable using Class or MessageClass properties to evaluate objects. Does the code make a difference for you anyway? -- Eric Legault (Outlook MVP, MCDBA, old school WOSA MCSD, B.A.) Try Picture Attachments Wizard for Outlook: http://www.collaborativeinnovations.ca Blog: http://blogs.officezealot.com/legault/ "Dale" wrote: Thanx for the reply Eric. What is the difference? Dale "Eric Legault [MVP - Outlook]" wrote in message ... Change this: If TypeOf obj Is Outlook.MailItem Then to this: If obj.Class = olMail Then -- Eric Legault (Outlook MVP, MCDBA, old school WOSA MCSD, B.A.) Try Picture Attachments Wizard for Outlook: http://www.collaborativeinnovations.ca Blog: http://blogs.officezealot.com/legault/ "Dale" wrote: Sorry, in rereading my post I shoud have said" We have a client who sends 15 emails. We have to save them out as text files to our network .. "Dale" D-Man wrote in message ... Hello all, I have the following Outlook macro which has stopped working/is behaving erratically between machines. It's always behaved perfectly before. We have a client who sends 15 text files embedded in an email (not an attachment). We have to save them out as text files to our network. "If TypeOf obj Is Outlook.MailItem" seems to be the culprit. ExportMailToTxt is just bypassed. I have no idea why it would suddenly stop working. The only thing I can come up with is something in the client's emails are playing havoc with the macro. Can anyone give me a clue to this puzzle? Public Sub SAVESALES() 'LoopMailFolder() Dim oSel As Outlook.Selection Dim obj As Object Dim cnt As Long Dim SALEDate As String Set oSel = Application.ActiveExplorer.Selection cnt = oSel.Count SALEDate = InputBox("What is today's date?") If cnt = 15 Then For i = 1 To cnt Set obj = oSel(i) If TypeOf obj Is Outlook.MailItem Then ' ///Item is not recognized as a MailItem? ExportMailToTxt obj, Chr$(96 + i), SALEDate ' ///This code is bypassed End If Next End If Shell "d:\Program Files\UltraEdit\uedit32.exe Q:efiles\email\sale" & SALEDate & "*.txt", vbNormalFocus End Sub Public Function ExportMailToTxt(oMail As Outlook.MailItem, _ sExt As String, sDate As String _ ) As Boolean On Error Resume Next Dim sPath As String: sPath = "Q:efiles\email\" '"c:\" Dim sName As String sName = "SALE" & sDate _ & sExt & ".txt" oMail.SaveAs sPath & sName, olTXT ExportMailToTxt = (Err.Number = 0) End Function |
Why did my macro suddenly stop working?
Eric,
It worked great on my machine. On the affected machine it gave a type mismach error. F8'ing thru it was going to execute the ExportMailToTxt function but apparently one of the items being passed was of the wrong type. Dale "Eric Legault [MVP - Outlook]" wrote in message ... You got me - I'm not really sure. I've actually never seen Outlook.MailItem used in an evaluative expression before, and I never use TypeOf with Outlook (no particular reason). I'm just more comfortable using Class or MessageClass properties to evaluate objects. Does the code make a difference for you anyway? -- Eric Legault (Outlook MVP, MCDBA, old school WOSA MCSD, B.A.) Try Picture Attachments Wizard for Outlook: http://www.collaborativeinnovations.ca Blog: http://blogs.officezealot.com/legault/ "Dale" wrote: Thanx for the reply Eric. What is the difference? Dale "Eric Legault [MVP - Outlook]" wrote in message ... Change this: If TypeOf obj Is Outlook.MailItem Then to this: If obj.Class = olMail Then -- Eric Legault (Outlook MVP, MCDBA, old school WOSA MCSD, B.A.) Try Picture Attachments Wizard for Outlook: http://www.collaborativeinnovations.ca Blog: http://blogs.officezealot.com/legault/ "Dale" wrote: Sorry, in rereading my post I shoud have said" We have a client who sends 15 emails. We have to save them out as text files to our network .. "Dale" D-Man wrote in message ... Hello all, I have the following Outlook macro which has stopped working/is behaving erratically between machines. It's always behaved perfectly before. We have a client who sends 15 text files embedded in an email (not an attachment). We have to save them out as text files to our network. "If TypeOf obj Is Outlook.MailItem" seems to be the culprit. ExportMailToTxt is just bypassed. I have no idea why it would suddenly stop working. The only thing I can come up with is something in the client's emails are playing havoc with the macro. Can anyone give me a clue to this puzzle? Public Sub SAVESALES() 'LoopMailFolder() Dim oSel As Outlook.Selection Dim obj As Object Dim cnt As Long Dim SALEDate As String Set oSel = Application.ActiveExplorer.Selection cnt = oSel.Count SALEDate = InputBox("What is today's date?") If cnt = 15 Then For i = 1 To cnt Set obj = oSel(i) If TypeOf obj Is Outlook.MailItem Then ' ///Item is not recognized as a MailItem? ExportMailToTxt obj, Chr$(96 + i), SALEDate ' ///This code is bypassed End If Next End If Shell "d:\Program Files\UltraEdit\uedit32.exe Q:efiles\email\sale" & SALEDate & "*.txt", vbNormalFocus End Sub Public Function ExportMailToTxt(oMail As Outlook.MailItem, _ sExt As String, sDate As String _ ) As Boolean On Error Resume Next Dim sPath As String: sPath = "Q:efiles\email\" '"c:\" Dim sName As String sName = "SALE" & sDate _ & sExt & ".txt" oMail.SaveAs sPath & sName, olTXT ExportMailToTxt = (Err.Number = 0) End Function |
Why did my macro suddenly stop working?
To be extra safe, change the "oMail As Outlook.MailItem" argument in the
ExportMailToTxt procedure to "oMail As Object". -- Eric Legault (Outlook MVP, MCDBA, old school WOSA MCSD, B.A.) Try Picture Attachments Wizard for Outlook: http://www.collaborativeinnovations.ca Blog: http://blogs.officezealot.com/legault/ "Dale" wrote: Eric, It worked great on my machine. On the affected machine it gave a type mismach error. F8'ing thru it was going to execute the ExportMailToTxt function but apparently one of the items being passed was of the wrong type. Dale "Eric Legault [MVP - Outlook]" wrote in message ... You got me - I'm not really sure. I've actually never seen Outlook.MailItem used in an evaluative expression before, and I never use TypeOf with Outlook (no particular reason). I'm just more comfortable using Class or MessageClass properties to evaluate objects. Does the code make a difference for you anyway? -- Eric Legault (Outlook MVP, MCDBA, old school WOSA MCSD, B.A.) Try Picture Attachments Wizard for Outlook: http://www.collaborativeinnovations.ca Blog: http://blogs.officezealot.com/legault/ "Dale" wrote: Thanx for the reply Eric. What is the difference? Dale "Eric Legault [MVP - Outlook]" wrote in message ... Change this: If TypeOf obj Is Outlook.MailItem Then to this: If obj.Class = olMail Then -- Eric Legault (Outlook MVP, MCDBA, old school WOSA MCSD, B.A.) Try Picture Attachments Wizard for Outlook: http://www.collaborativeinnovations.ca Blog: http://blogs.officezealot.com/legault/ "Dale" wrote: Sorry, in rereading my post I shoud have said" We have a client who sends 15 emails. We have to save them out as text files to our network .. "Dale" D-Man wrote in message ... Hello all, I have the following Outlook macro which has stopped working/is behaving erratically between machines. It's always behaved perfectly before. We have a client who sends 15 text files embedded in an email (not an attachment). We have to save them out as text files to our network. "If TypeOf obj Is Outlook.MailItem" seems to be the culprit. ExportMailToTxt is just bypassed. I have no idea why it would suddenly stop working. The only thing I can come up with is something in the client's emails are playing havoc with the macro. Can anyone give me a clue to this puzzle? Public Sub SAVESALES() 'LoopMailFolder() Dim oSel As Outlook.Selection Dim obj As Object Dim cnt As Long Dim SALEDate As String Set oSel = Application.ActiveExplorer.Selection cnt = oSel.Count SALEDate = InputBox("What is today's date?") If cnt = 15 Then For i = 1 To cnt Set obj = oSel(i) If TypeOf obj Is Outlook.MailItem Then ' ///Item is not recognized as a MailItem? ExportMailToTxt obj, Chr$(96 + i), SALEDate ' ///This code is bypassed End If Next End If Shell "d:\Program Files\UltraEdit\uedit32.exe Q:efiles\email\sale" & SALEDate & "*.txt", vbNormalFocus End Sub Public Function ExportMailToTxt(oMail As Outlook.MailItem, _ sExt As String, sDate As String _ ) As Boolean On Error Resume Next Dim sPath As String: sPath = "Q:efiles\email\" '"c:\" Dim sName As String sName = "SALE" & sDate _ & sExt & ".txt" oMail.SaveAs sPath & sName, olTXT ExportMailToTxt = (Err.Number = 0) End Function |
Why did my macro suddenly stop working?
Sounds like a plan. Thanx (immensely) for the help.
BTW. I had some luck. We updated the version of outlook to service pack 2 and wa-la. She flies! "Eric Legault [MVP - Outlook]" wrote in message ... To be extra safe, change the "oMail As Outlook.MailItem" argument in the ExportMailToTxt procedure to "oMail As Object". -- Eric Legault (Outlook MVP, MCDBA, old school WOSA MCSD, B.A.) Try Picture Attachments Wizard for Outlook: http://www.collaborativeinnovations.ca Blog: http://blogs.officezealot.com/legault/ "Dale" wrote: Eric, It worked great on my machine. On the affected machine it gave a type mismach error. F8'ing thru it was going to execute the ExportMailToTxt function but apparently one of the items being passed was of the wrong type. Dale "Eric Legault [MVP - Outlook]" wrote in message ... You got me - I'm not really sure. I've actually never seen Outlook.MailItem used in an evaluative expression before, and I never use TypeOf with Outlook (no particular reason). I'm just more comfortable using Class or MessageClass properties to evaluate objects. Does the code make a difference for you anyway? -- Eric Legault (Outlook MVP, MCDBA, old school WOSA MCSD, B.A.) Try Picture Attachments Wizard for Outlook: http://www.collaborativeinnovations.ca Blog: http://blogs.officezealot.com/legault/ "Dale" wrote: Thanx for the reply Eric. What is the difference? Dale "Eric Legault [MVP - Outlook]" wrote in message ... Change this: If TypeOf obj Is Outlook.MailItem Then to this: If obj.Class = olMail Then -- Eric Legault (Outlook MVP, MCDBA, old school WOSA MCSD, B.A.) Try Picture Attachments Wizard for Outlook: http://www.collaborativeinnovations.ca Blog: http://blogs.officezealot.com/legault/ "Dale" wrote: Sorry, in rereading my post I shoud have said" We have a client who sends 15 emails. We have to save them out as text files to our network .. "Dale" D-Man wrote in message ... Hello all, I have the following Outlook macro which has stopped working/is behaving erratically between machines. It's always behaved perfectly before. We have a client who sends 15 text files embedded in an email (not an attachment). We have to save them out as text files to our network. "If TypeOf obj Is Outlook.MailItem" seems to be the culprit. ExportMailToTxt is just bypassed. I have no idea why it would suddenly stop working. The only thing I can come up with is something in the client's emails are playing havoc with the macro. Can anyone give me a clue to this puzzle? Public Sub SAVESALES() 'LoopMailFolder() Dim oSel As Outlook.Selection Dim obj As Object Dim cnt As Long Dim SALEDate As String Set oSel = Application.ActiveExplorer.Selection cnt = oSel.Count SALEDate = InputBox("What is today's date?") If cnt = 15 Then For i = 1 To cnt Set obj = oSel(i) If TypeOf obj Is Outlook.MailItem Then ' ///Item is not recognized as a MailItem? ExportMailToTxt obj, Chr$(96 + i), SALEDate ' ///This code is bypassed End If Next End If Shell "d:\Program Files\UltraEdit\uedit32.exe Q:efiles\email\sale" & SALEDate & "*.txt", vbNormalFocus End Sub Public Function ExportMailToTxt(oMail As Outlook.MailItem, _ sExt As String, sDate As String _ ) As Boolean On Error Resume Next Dim sPath As String: sPath = "Q:efiles\email\" '"c:\" Dim sName As String sName = "SALE" & sDate _ & sExt & ".txt" oMail.SaveAs sPath & sName, olTXT ExportMailToTxt = (Err.Number = 0) End Function |
All times are GMT +1. The time now is 07:05 PM. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com