2016-02-05 2 views
0

Я хочу переместить почтовый элемент в другую папку, а затем вернуть ссылку на перемещенную почту. Не двигая это работает:Outlook VBA ссылка на перемещенную почту

Dim objMail As Outlook.MailItem 
Dim sFrag As String 
Set objMail = Application.ActiveExplorer.Selection.Item(i_item) 
sFrag = "<a href='outlook:" + objMail.EntryID + "'>" + objMail.Subject + "</a>"" 

Здесь строка sFrag обеспечивает на соответствующей гиперссылка на действительный элемент Outlook. Если я нажму на гиперссылку, содержащую это свойство, элемент откроется в Outlook.

Однако, если я продлить это:

Dim objMail As Outlook.MailItem 
Dim sFrag As String 
Dim oOlApp As Outlook.Application 
Dim targetFolder As folder 

Set objMail = Application.ActiveExplorer.Selection.Item(i_item) 
Set oOlApp = Outlook.Application 
Set objNmSpc = oOlApp.GetNamespace("MAPI") 
Set targetFolder = objNmSpc.PickFolder 
objMail.Move targetFolder 
sFrag = "<a href='outlook:" + objMail.EntryID + "'>" + objMail.Subject + "</a>" 

После того, что ссылка в sfrag терпит неудачу. Если я хочу открыть эту ссылку, в Outlook-окнах отображается Operation failed. Кажется, что objMail.EntryID не обновляется правильно после команды objMail.Move.

Почему? Как это исправить?

ответ

1

Move является функцией, а не к югу - это Retruns новый пункт:

set objMail = objMail.Move(targetFolder) 
+0

ли работу. спасибо за невероятную быструю помощь. – BerndGit

Смежные вопросы