A Microsoft Outlook email forum. Outlook Banter

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » Outlook Banter forum » Microsoft Outlook Email Newsgroups » Outlook and VBA
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

Run-time Error '13' Type mismatch



 
 
Thread Tools Search this Thread Display Modes
  #1  
Old September 27th 07, 07:16 PM posted to microsoft.public.outlook.program_vba
RS
external usenet poster
 
Posts: 28
Default Run-time Error '13' Type mismatch

Hello,

I'm trying to get all the subject lines from a specific folder. Sometimes I
get the error 13 saying type mismatch for the following line:
Set oCurrentEmail = oFolderEMail.Items.Item(i)

I think its because either it came across a read receipt or an email item
that it could not recognize. How can I skip that item and move on to the
next one. Also, sometimes it does go thru with read recipts but it wont pick
up the subject line.

Any help would be greatly appreciated.

Thanks.

Ads
  #2  
Old September 27th 07, 07:21 PM posted to microsoft.public.outlook.program_vba
Ken Slovak - [MVP - Outlook]
external usenet poster
 
Posts: 5,848
Default Run-time Error '13' Type mismatch

Either handle the error if it occurs and then move on, or test for the Class
or MessageClass of the item before assigning it to a MailItem type object.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"RS" wrote in message
...
Hello,

I'm trying to get all the subject lines from a specific folder. Sometimes
I
get the error 13 saying type mismatch for the following line:
Set oCurrentEmail = oFolderEMail.Items.Item(i)

I think its because either it came across a read receipt or an email item
that it could not recognize. How can I skip that item and move on to the
next one. Also, sometimes it does go thru with read recipts but it wont
pick
up the subject line.

Any help would be greatly appreciated.

Thanks.


  #3  
Old September 27th 07, 07:46 PM posted to microsoft.public.outlook.program_vba
RS
external usenet poster
 
Posts: 28
Default Run-time Error '13' Type mismatch

I tried to handle the message by saying
ErrorHandler:
If Err.Number 0 Then
i = i + 1
Resume Next
End If

It goes to the next message but it duplicated the subject line from previous
message eventhough I'm using oCurrentEmail.Subject to get the subject line.

What type of message class would be an email item. I did go thru help and I
think it would be olMail but then read receipt would probably come under the
same class.

Thanks.
"Ken Slovak - [MVP - Outlook]" wrote:

Either handle the error if it occurs and then move on, or test for the Class
or MessageClass of the item before assigning it to a MailItem type object.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"RS" wrote in message
...
Hello,

I'm trying to get all the subject lines from a specific folder. Sometimes
I
get the error 13 saying type mismatch for the following line:
Set oCurrentEmail = oFolderEMail.Items.Item(i)

I think its because either it came across a read receipt or an email item
that it could not recognize. How can I skip that item and move on to the
next one. Also, sometimes it does go thru with read recipts but it wont
pick
up the subject line.

Any help would be greatly appreciated.

Thanks.



  #4  
Old September 27th 07, 08:08 PM posted to microsoft.public.outlook.program_vba
Ken Slovak - [MVP - Outlook]
external usenet poster
 
Posts: 5,848
Default Run-time Error '13' Type mismatch

If you are looping always clear your variables in each pass so they don't
have data from a previous item if there's a failure of some kind. That's a
general rule, not specific to this case only.

Class == olMail is what you want.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"RS" wrote in message
...
I tried to handle the message by saying
ErrorHandler:
If Err.Number 0 Then
i = i + 1
Resume Next
End If

It goes to the next message but it duplicated the subject line from
previous
message eventhough I'm using oCurrentEmail.Subject to get the subject
line.

What type of message class would be an email item. I did go thru help and
I
think it would be olMail but then read receipt would probably come under
the
same class.

Thanks.


  #5  
Old September 27th 07, 09:23 PM posted to microsoft.public.outlook.program_vba
RS
external usenet poster
 
Posts: 28
Default Run-time Error '13' Type mismatch

I tried it and it didnt work....any other suggestions.

"Ken Slovak - [MVP - Outlook]" wrote:

If you are looping always clear your variables in each pass so they don't
have data from a previous item if there's a failure of some kind. That's a
general rule, not specific to this case only.

Class == olMail is what you want.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"RS" wrote in message
...
I tried to handle the message by saying
ErrorHandler:
If Err.Number 0 Then
i = i + 1
Resume Next
End If

It goes to the next message but it duplicated the subject line from
previous
message eventhough I'm using oCurrentEmail.Subject to get the subject
line.

What type of message class would be an email item. I did go thru help and
I
think it would be olMail but then read receipt would probably come under
the
same class.

Thanks.



  #6  
Old September 28th 07, 02:41 AM posted to microsoft.public.outlook.program_vba
Dmitry Streblechenko
external usenet poster
 
Posts: 2,116
Default Run-time Error '13' Type mismatch

What did not work? What is your code?

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"RS" wrote in message
...
I tried it and it didnt work....any other suggestions.

"Ken Slovak - [MVP - Outlook]" wrote:

If you are looping always clear your variables in each pass so they don't
have data from a previous item if there's a failure of some kind. That's
a
general rule, not specific to this case only.

Class == olMail is what you want.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"RS" wrote in message
...
I tried to handle the message by saying
ErrorHandler:
If Err.Number 0 Then
i = i + 1
Resume Next
End If

It goes to the next message but it duplicated the subject line from
previous
message eventhough I'm using oCurrentEmail.Subject to get the subject
line.

What type of message class would be an email item. I did go thru help
and
I
think it would be olMail but then read receipt would probably come
under
the
same class.

Thanks.





  #7  
Old September 28th 07, 04:48 PM posted to microsoft.public.outlook.program_vba
RS
external usenet poster
 
Posts: 28
Default Run-time Error '13' Type mismatch

I'm running the program to pick up Subject lines from the email. So, I have
to loop through the mailbox based on a date criteria. But sometimes, for
unknown reason, I get Runtime Error 13 type mismatch while its looping
through emails. I cant figure out why would I get the error on certain
emails and not others. It is completely random. I have tried to take the
specific email out of the mailbox based on which email it was on while the
error occured and then run it again it still gives the same error...so I'm
just not sure what's causing the error. I get the error on the following
line of code:
For i = 1 To iCount
Set oCurrentEmail = oFolderEMail.Items.Item(i) --error 13


"Dmitry Streblechenko" wrote:

What did not work? What is your code?

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"RS" wrote in message
...
I tried it and it didnt work....any other suggestions.

"Ken Slovak - [MVP - Outlook]" wrote:

If you are looping always clear your variables in each pass so they don't
have data from a previous item if there's a failure of some kind. That's
a
general rule, not specific to this case only.

Class == olMail is what you want.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"RS" wrote in message
...
I tried to handle the message by saying
ErrorHandler:
If Err.Number 0 Then
i = i + 1
Resume Next
End If

It goes to the next message but it duplicated the subject line from
previous
message eventhough I'm using oCurrentEmail.Subject to get the subject
line.

What type of message class would be an email item. I did go thru help
and
I
think it would be olMail but then read receipt would probably come
under
the
same class.

Thanks.





  #8  
Old September 28th 07, 06:47 PM posted to microsoft.public.outlook.program_vba
Dmitry Streblechenko
external usenet poster
 
Posts: 2,116
Default Run-time Error '13' Type mismatch

As Ken has already mentioned, you need to test the Class property using late
binding (note the generic Object below) before you cast a variable to
Outlook.MailItem:

Dim Items As Outlook.Items
Dim DummyItem As Object
Dim CurrentEmail As Outlook.MailItem

set Items = oFolderEMail.Items
iCount = Items.Count
For i = 1 To iCount
set DummyItem = Items.Item(i)
if DummyItem.Class = 43 Then
Set oCurrentEmail = DummyItem


Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"RS" wrote in message
...
I'm running the program to pick up Subject lines from the email. So, I
have
to loop through the mailbox based on a date criteria. But sometimes, for
unknown reason, I get Runtime Error 13 type mismatch while its looping
through emails. I cant figure out why would I get the error on certain
emails and not others. It is completely random. I have tried to take the
specific email out of the mailbox based on which email it was on while the
error occured and then run it again it still gives the same error...so I'm
just not sure what's causing the error. I get the error on the following
line of code:
For i = 1 To iCount
Set oCurrentEmail = oFolderEMail.Items.Item(i) --error 13


"Dmitry Streblechenko" wrote:

What did not work? What is your code?

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"RS" wrote in message
...
I tried it and it didnt work....any other suggestions.

"Ken Slovak - [MVP - Outlook]" wrote:

If you are looping always clear your variables in each pass so they
don't
have data from a previous item if there's a failure of some kind.
That's
a
general rule, not specific to this case only.

Class == olMail is what you want.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"RS" wrote in message
...
I tried to handle the message by saying
ErrorHandler:
If Err.Number 0 Then
i = i + 1
Resume Next
End If

It goes to the next message but it duplicated the subject line from
previous
message eventhough I'm using oCurrentEmail.Subject to get the
subject
line.

What type of message class would be an email item. I did go thru
help
and
I
think it would be olMail but then read receipt would probably come
under
the
same class.

Thanks.







  #9  
Old September 28th 07, 07:22 PM posted to microsoft.public.outlook.program_vba
Ken Slovak - [MVP - Outlook]
external usenet poster
 
Posts: 5,848
Default Run-time Error '13' Type mismatch

Or even using:

If Items.Item(i).Class = 43 Then
Set oCurrentEmail = Items.Item(i)
' etc.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"Dmitry Streblechenko" wrote in message
...
As Ken has already mentioned, you need to test the Class property using
late binding (note the generic Object below) before you cast a variable to
Outlook.MailItem:

Dim Items As Outlook.Items
Dim DummyItem As Object
Dim CurrentEmail As Outlook.MailItem

set Items = oFolderEMail.Items
iCount = Items.Count
For i = 1 To iCount
set DummyItem = Items.Item(i)
if DummyItem.Class = 43 Then
Set oCurrentEmail = DummyItem


Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool


  #10  
Old September 28th 07, 07:24 PM posted to microsoft.public.outlook.program_vba
RS
external usenet poster
 
Posts: 28
Default Run-time Error '13' Type mismatch

Thanks...That worked. Initially, I was setting my dummyitem as mail item
which was why I continued to get the error message. After setting it up as
an object it worked fine.

"Dmitry Streblechenko" wrote:

As Ken has already mentioned, you need to test the Class property using late
binding (note the generic Object below) before you cast a variable to
Outlook.MailItem:

Dim Items As Outlook.Items
Dim DummyItem As Object
Dim CurrentEmail As Outlook.MailItem

set Items = oFolderEMail.Items
iCount = Items.Count
For i = 1 To iCount
set DummyItem = Items.Item(i)
if DummyItem.Class = 43 Then
Set oCurrentEmail = DummyItem


Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"RS" wrote in message
...
I'm running the program to pick up Subject lines from the email. So, I
have
to loop through the mailbox based on a date criteria. But sometimes, for
unknown reason, I get Runtime Error 13 type mismatch while its looping
through emails. I cant figure out why would I get the error on certain
emails and not others. It is completely random. I have tried to take the
specific email out of the mailbox based on which email it was on while the
error occured and then run it again it still gives the same error...so I'm
just not sure what's causing the error. I get the error on the following
line of code:
For i = 1 To iCount
Set oCurrentEmail = oFolderEMail.Items.Item(i) --error 13


"Dmitry Streblechenko" wrote:

What did not work? What is your code?

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"RS" wrote in message
...
I tried it and it didnt work....any other suggestions.

"Ken Slovak - [MVP - Outlook]" wrote:

If you are looping always clear your variables in each pass so they
don't
have data from a previous item if there's a failure of some kind.
That's
a
general rule, not specific to this case only.

Class == olMail is what you want.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"RS" wrote in message
...
I tried to handle the message by saying
ErrorHandler:
If Err.Number 0 Then
i = i + 1
Resume Next
End If

It goes to the next message but it duplicated the subject line from
previous
message eventhough I'm using oCurrentEmail.Subject to get the
subject
line.

What type of message class would be an email item. I did go thru
help
and
I
think it would be olMail but then read receipt would probably come
under
the
same class.

Thanks.








 




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Please help on this VBA macro. Error 13, type mismatch John Z Outlook and VBA 3 August 15th 07 10:36 PM
Runtime Error 13 - Type Mismatch [email protected] Outlook and VBA 1 May 30th 07 12:28 AM
Strange behaviour with Type Error Tobias Schröer Outlook and VBA 0 January 31st 07 10:48 AM
Script Error - Type mismatch: 'Mycontrols' Line No. 415 sclark Outlook - Using Forms 2 April 13th 06 09:00 PM
Why do I get a type mismatch when trying to access mail items? Pete Dawson (Leeds Uni) Outlook and VBA 3 March 3rd 06 02:16 PM


All times are GMT +1. The time now is 08:09 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-2025 Outlook Banter.
The comments are property of their posters.