Мне нужна помощь в создании макроса VBA в Outlook 2010, который преобразует одно или несколько выбранных сообщений в формат простого текста. Я ищу макрос вместо правила входящей почты.
Я нашел следующий код, который работает, как правило, но для того, чтобы я мог его использовать, я должен поместить сообщения в папку и запустить правило вручную:
http://www.outlookcode.com/article.aspx?id=62
Sub ConvertToPlain(MyMail As MailItem)
Dim strID As String
Dim objMail As Outlook.MailItem
strID = MyMail.EntryID
Set objMail = Application.Session.GetItemFromID(strID)
objMail.BodyFormat = olFormatPlain
objMail.Save
Set objMail = Nothing
End Sub
Некоторое время назад я нашел некоторый код, который может удалить все вложения из выбранных сообщений, который идеально подходит для моих нужд, и, если возможно, я пытаюсь дублировать его функциональность; однако вместо того, чтобы возиться с вложениями, я хочу, чтобы оно преобразовало сообщение в обычный текст.
http://www.slipstick.com/developer/code-samples/delete-attachments-messages/
Sub RemoveAttachments()
Dim myAttachment As Attachment
Dim myAttachments As Attachments
Dim selItems As Selection
Dim myItem As Object
Dim lngAttachmentCount As Long
' Set reference to the Selection.
Set selItems = ActiveExplorer.Selection
' Loop though each item in the selection.
For Each myItem In selItems
Set myAttachments = myItem.Attachments
lngAttachmentCount = myAttachments.Count
' Loop through attachments until attachment count = 0.
While lngAttachmentCount > 0
myAttachments(1).Delete
lngAttachmentCount = myAttachments.Count
Wend
myItem.Save
Next
MsgBox "All Done. Attachments were removed.", vbOKOnly, "Message"
Set myAttachment = Nothing
Set myAttachments = Nothing
Set selItems = Nothing
Set myItem = Nothing
End Sub
Мои лучшие усилия по объединению 2 следующие:
Sub ConvertPlainText()
Dim selItems As Selection
Dim myItem As Object
Dim lngAttachmentCount As Long
Dim strID As String
Dim objMail As Outlook.MailItem
' Set reference to the Selection.
Set selItems = ActiveExplorer.Selection
' Loop though each item in the selection.
For Each myItem In selItems
Set myAttachments = myItem.Attachments
lngAttachmentCount = myAttachments.Count
strID = MyMail.EntryID
Set objMail = Application.Session.GetItemFromID(strID)
objMail.BodyFormat = olFormatPlain
objMail.Save
myItem.Save
Next
MsgBox "All Done. Email converted to Plaintext.", vbOKOnly, "Message"
Set objMail = Nothing
Set selItems = Nothing
Set myItem = Nothing
End Sub
Но я получаю сообщение об ошибке "Требуется объект", начиная со строки:
strID = MyMail.EntryID
Будем очень благодарны любой помощи!!