Outlook Banter

Outlook Banter (http://www.outlookbanter.com/)
-   Outlook and VBA (http://www.outlookbanter.com/outlook-vba/)
-   -   Mark as read (http://www.outlookbanter.com/outlook-vba/91584-mark-read.html)

mkboynton via OfficeKB.com June 15th 09 08:18 PM

Mark as read
 
I have the following code in my Outlook today page to list the emails in my
inbox and provide a link to open them. My question is how do I mark the
emails as read when I click on them?


script language="VBScript" type="text/vbscript"

Function GetInboxSubjects()
Dim theApp
Dim theOLNS
Dim inboxFolder
Dim mSubject, MyArray, MyMsg

Set theApp = window.external.OutlookApplication
Set theOLNS = theApp.GetNameSpace("MAPI")
Set inboxFolder = theOLNS.GetDefaultFolder(6)

For Each InboxItem In inboxFolder.Items

'Check if message has been read or not
If InboxItem.UnRead = True then
TF = "No"
Else
TF = "Yes"
End If

'Email information table
mList = "TABLE WIDTH='100%' BORDER='0' CELLPADDING='3' CELLSPACING='0'
FRAME='below' style='table-layout:fixed'TRTD WIDTH='25%' style='border-
color:black; border-width:0' nowrapA HREF='outlook:inbox/"& InboxItem.
EntryID & "' title='Read " & InboxItem.Subject & "'" & InboxItem.SenderName
& "/A/TDTD WIDTH='43%' style='border-color:black; border-width:0'
nowrapA HREF='outlook:inbox/"& InboxItem.EntryID & "' title='Read " &
InboxItem.Subject & "'" & InboxItem.Subject & "/A/TDTD WIDTH=25%'
style='border-color:black; border-width:0' nowrap" & InboxItem.SentOn &
"/TDTD WIDTH='7%' style='border-color:black; border-width:0' nowrap" & TF
& "/TD/TR" & mList
Next

'Header table
mList = "TABLE WIDTH='100%' BGCOLOR='Silver' BORDER='1' CELLPADDING='3'
CELLSPACING='0' FRAME='rhs' style='table-layout:fixed'TRTD WIDTH='25%'
style='border-color:black; border-width:0'Sender/TDTD WIDTH='43%'
style='border-color:black'Subject/TDTD WIDTH='25%' style='border-color:
black; border-width:0'Date/TDTD WIDTH='7%' style='border-color:
silver'Read/TD/TR/TABLE" & mList

'Fill the div
document.getElementById("Subject").innerHTML = mList

'Update the table every 30 seconds
cTimer = setTimeout("GetInboxSubjects()",30000)

Set theApp = Nothing
Set theOLNS = Nothing
Set inboxFolder = Nothing

End Function
/Script

--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...g-vba/200906/1


Dmitry Streblechenko June 16th 09 05:56 AM

Mark as read
 
Have you tried to set teh Unread property to false?
Do not loop through all the messages in a folder. Use Items.Find/FindNext

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"mkboynton via OfficeKB.com" u10467@uwe wrote in message
news:97a684095974e@uwe...
I have the following code in my Outlook today page to list the emails in my
inbox and provide a link to open them. My question is how do I mark the
emails as read when I click on them?


script language="VBScript" type="text/vbscript"

Function GetInboxSubjects()
Dim theApp
Dim theOLNS
Dim inboxFolder
Dim mSubject, MyArray, MyMsg

Set theApp = window.external.OutlookApplication
Set theOLNS = theApp.GetNameSpace("MAPI")
Set inboxFolder = theOLNS.GetDefaultFolder(6)

For Each InboxItem In inboxFolder.Items

'Check if message has been read or not
If InboxItem.UnRead = True then
TF = "No"
Else
TF = "Yes"
End If

'Email information table
mList = "TABLE WIDTH='100%' BORDER='0' CELLPADDING='3' CELLSPACING='0'
FRAME='below' style='table-layout:fixed'TRTD WIDTH='25%'
style='border-
color:black; border-width:0' nowrapA HREF='outlook:inbox/"& InboxItem.
EntryID & "' title='Read " & InboxItem.Subject & "'" &
InboxItem.SenderName
& "/A/TDTD WIDTH='43%' style='border-color:black; border-width:0'
nowrapA HREF='outlook:inbox/"& InboxItem.EntryID & "' title='Read " &
InboxItem.Subject & "'" & InboxItem.Subject & "/A/TDTD WIDTH=25%'
style='border-color:black; border-width:0' nowrap" & InboxItem.SentOn &
"/TDTD WIDTH='7%' style='border-color:black; border-width:0' nowrap" &
TF
& "/TD/TR" & mList
Next

'Header table
mList = "TABLE WIDTH='100%' BGCOLOR='Silver' BORDER='1'
CELLPADDING='3'
CELLSPACING='0' FRAME='rhs' style='table-layout:fixed'TRTD WIDTH='25%'
style='border-color:black; border-width:0'Sender/TDTD WIDTH='43%'
style='border-color:black'Subject/TDTD WIDTH='25%'
style='border-color:
black; border-width:0'Date/TDTD WIDTH='7%' style='border-color:
silver'Read/TD/TR/TABLE" & mList

'Fill the div
document.getElementById("Subject").innerHTML = mList

'Update the table every 30 seconds
cTimer = setTimeout("GetInboxSubjects()",30000)

Set theApp = Nothing
Set theOLNS = Nothing
Set inboxFolder = Nothing

End Function
/Script

--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...g-vba/200906/1




mkboynton via OfficeKB.com June 16th 09 01:29 PM

Mark as read
 
Dmitry Streblechenko wrote:
Have you tried to set teh Unread property to false?
Do not loop through all the messages in a folder. Use Items.Find/FindNext

I have the following code in my Outlook today page to list the emails in my
inbox and provide a link to open them. My question is how do I mark the

[quoted text clipped - 59 lines]
End Function
/Script


I have tried to set the Unread property to false using an onclick event, but
it seems to ignore the onclick since I have a a href

--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...g-vba/200906/1


Dmitry Streblechenko June 17th 09 12:42 AM

Mark as read
 
What is the relevant snippet of your code? Do you call MailItem.Save?

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"mkboynton via OfficeKB.com" u10467@uwe wrote in message
news:97af83df491db@uwe...
Dmitry Streblechenko wrote:
Have you tried to set teh Unread property to false?
Do not loop through all the messages in a folder. Use Items.Find/FindNext

I have the following code in my Outlook today page to list the emails in
my
inbox and provide a link to open them. My question is how do I mark the

[quoted text clipped - 59 lines]
End Function
/Script


I have tried to set the Unread property to false using an onclick event,
but
it seems to ignore the onclick since I have a a href

--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...g-vba/200906/1




mkboynton via OfficeKB.com June 17th 09 08:15 PM

Mark as read
 
Dmitry Streblechenko wrote:
What is the relevant snippet of your code? Do you call MailItem.Save?

Have you tried to set teh Unread property to false?
Do not loop through all the messages in a folder. Use Items.Find/FindNext

[quoted text clipped - 9 lines]
but
it seems to ignore the onclick since I have a a href



Here is what I have so far...it doen's even fire the MsgBox.
Sub MarkAsRead()
Dim theApp
Dim theOLNS

Set theApp = window.external.OutlookApplication
Set theOLNS = theApp.ActiveExplorer.Selection(1)

MsgBox "Marking as read"

If theOLNS.UnRead = True then
theOLNS.UnRead = False
theOLNS.Save
End If

Set theApp = Nothing
Set theOLNS = Nothing

End Sub

--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...g-vba/200906/1


Dmitry Streblechenko June 17th 09 09:59 PM

Mark as read
 
Which is a good indication that the MarkAsRead sub does not even get called,
right?

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"mkboynton via OfficeKB.com" u10467@uwe wrote in message
news:97bfa27ab6127@uwe...
Dmitry Streblechenko wrote:
What is the relevant snippet of your code? Do you call MailItem.Save?

Have you tried to set teh Unread property to false?
Do not loop through all the messages in a folder. Use
Items.Find/FindNext

[quoted text clipped - 9 lines]
but
it seems to ignore the onclick since I have a a href



Here is what I have so far...it doen's even fire the MsgBox.
Sub MarkAsRead()
Dim theApp
Dim theOLNS

Set theApp = window.external.OutlookApplication
Set theOLNS = theApp.ActiveExplorer.Selection(1)

MsgBox "Marking as read"

If theOLNS.UnRead = True then
theOLNS.UnRead = False
theOLNS.Save
End If

Set theApp = Nothing
Set theOLNS = Nothing

End Sub

--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...g-vba/200906/1





All times are GMT +1. The time now is 10:39 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