Save attachments in Lotus Notes

MrTinkertrain

Board Regular
Joined
Feb 7, 2007
Messages
66
Office Version
  1. 365
  2. 2021
Hello Excelexperts,

A few years ago i've found some code on the site of XL-Dennis regarding saving attachments in Lotus Notes.
This code checks all emails in the In-box, saves the attached files and deletes the associated email message.

I must say that I haven't tried this piece of code yet, just kept it for possible use in the future.

Code:
Option Explicit
 
Const stPath As String = "c:\Attachments\"
Const EMBED_ATTACHMENT As Long = 1454

Const RICHTEXT As Long = 1
 
Sub Save_Attachments_Remove_Emails()
  Dim noSession As Object
  Dim noDatabase As Object
  Dim noView As Object
  Dim noDocument As Object
  Dim noRemoveDocument As Object
  Dim noNextDocument As Object
 
  'Embedded objects are of the datatype Variant.
  Dim vaItem As Variant
  Dim vaAttachment As Variant
 
  'Instantiate the Notes session.
  Set noSession = CreateObject("Notes.NotesSession")
 
  'Instantiate the actual Notes database.
  '(Here is the personal e-mail database used and since it's a
  'local database no reference is made to any server.)
  Set noDatabase = noSession.GETDATABASE("", "mail\xldennis.nsf")
 
  'Folders are views in Lotus Notes and in this example the Inbox
  'is used.
  Set noView = noDatabase.GetView("($Inbox)")
 
  'Get the first document in the defined view.
  Set noDocument = noView.GetFirstDocument
 
  'Iterate through all the e-mails in the view Inbox.
  Do Until noDocument Is Nothing
    Set noNextDocument = noView.GetNextDocument(noDocument)
    'Check if the document has an attachment or not.
    If noDocument.HasEmbedded Then
      Set vaItem = noDocument.GetFirstItem("Body")
      If vaItem.Type = RICHTEXT Then
        For Each vaAttachment In vaItem.EmbeddedObjects
          If vaAttachment.Type = EMBED_ATTACHMENT Then
            'Save the attached file into the new folder.
            vaAttachment.ExtractFile stPath & vaAttachment.Name
            'Set the e-mail object which will be deleted.
            Set noRemoveDocument = noDocument
          End If
        Next vaAttachment
      End If
    End If
    Set noDocument = noNextDocument
    'Delete the e-mails which have an attached file.
    If Not noRemoveDocument Is Nothing Then
      noRemoveDocument.Remove (True)
      Set noRemoveDocument = Nothing
    End If
  Loop
 
  'Release objects from memory.
  Set noRemoveDocument = Nothing
  Set noNextDocument = Nothing
  Set noDocument = Nothing
  Set noView = Nothing
  Set noDatabase = Nothing
  Set noSession = Nothing
 
  MsgBox "All the attachments in the Inbox have successfully been saved" & vbCrLf & _
         "and the associated e-mails have successfully been deleted.", vbInformation
 
End Sub

I would like to know if it's possible to have the attachments saved and emails deleted, if an email has a certain subject line ?

Thanks in advance for your advice.

Best regards,

Mike
 

Excel Facts

What did Pito Salas invent?
Pito Salas, working for Lotus, popularized what would become to be pivot tables. It was released as Lotus Improv in 1989.

Forum statistics

Threads
1,224,584
Messages
6,179,691
Members
452,938
Latest member
babeneker

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top