2011-12-21 3 views
2

У меня есть несколько писем от моего предыдущего поставщика электронной почты, которые я переслал в папку входящих сообщений Outlook 2010 Received.Сохранить вложение в папку Outlook

Проблема у меня есть оригинальное письмо было отправлено как приложение не как вперед! так, что я хотел бы сделать, это:

  1. Открыть почту в Received папке & выполнения VBA код, который будет
  2. Извлечение вложения из пересылаемой почты в папке Received и сохранить эту привязанность к Forwarded папке
  3. Удалите пересылаемую почту в папке Received.

У меня нет понимания кода Outlook VBA, поэтому у меня даже нет начальной точки!

Любая помощь будет с благодарностью оценена!

ответ

1

Я использую Outlook Attachment Remover Add-In для удаления вложений и сохранения их в файловой системе. Я использую его в основном для сокращения пространства, которое требуется моему профилю на сервере. Замечательно, что инструмент добавляет ссылку на исходное приложение на почту. Таким образом, вы все равно можете открыть прикрепленный файл, но затем он открывается из файловой системы.

0

Используя мой более ранний код от VBA Code to save an attachment (excel file) from an Outlook email that was inside another email as an attachment, этот Outlook VBA должен сделать трюк.

Пожалуйста, убедитесь,

  • папки Forwarded и Полученное существуют под Входящие.
  • код требует каталог C:\temp\ для обработки встроенных электронных писем

    Sub SaveOlAttachments() 
    
    Dim olFolder As MAPIFolder 
    Dim olFolder2 As MAPIFolder 
    Dim msg As MailItem 
    Dim msg2 As MailItem 
    Dim strFilePath As String 
    Dim strTmpMsg As String 
    
    'path for creating attachment msg file for stripping 
    strFilePath = "C:\temp\" 
    strTmpMsg = "KillMe.msg" 
    
    'My testing done in Outlok using a "temp" folder underneath Inbox 
    Set olFolder = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox) 
    Set olFolder2 = olFolder.Folders("Forwarded") 
    Set olFolder = olFolder.Folders("Received") 
    
    For Each msg In olFolder.Items 
        If msg.Attachments.Count > 0 Then 
         If Right$(msg.Attachments(1).FileName, 3) = "msg" Then 
          msg.Attachments(1).SaveAsFile strFilePath & strTmpMsg 
          Set msg2 = Application.CreateItemFromTemplate(strFilePath & strTmpMsg) 
         End If 
         msg.Delete 
         msg2.Move olFolder2 
        End If 
    Next 
    End Sub 
    
Смежные вопросы