Bestand meemailen vanuit Excel d.m.v. IBM Notes (Lotus Notes)

Status
Niet open voor verdere reacties.

Robert Smidt

Gebruiker
Lid geworden
26 mei 2009
Berichten
901
Beste Helpmij'ers,

Ik ben al geruime tijd bezig om een bestand mee te mailen vanuit Excel. Het mailen gaat prima, echter wat ik ook probeer, het bestand wordt niet meegemaild.

De code is:
Code:
Const EMBED_ATTACHMENT As Long = 1454
Const vaCopyTo As Variant = "" 'copy mailen naar: "adres"

Sub mail()

Dim vaRecipients As Variant
Dim noSession As Object
Dim noDatabase As Object
Dim noDocument As Object
Dim noEmbedObject As Object
Dim noAttachment As Object
Dim stAttachment As String
Dim stFileName As String

If [Invulblad!H5] = "" Then MsgBox "Je hebt geen e-mailadres ingevuld in cel H5 !": Exit Sub
Sheets("Invulblad").Select
If vbNo = MsgBox("Verifieer voor de zekerheid het e-mailadres voordat de mail wordt verzonden!!! " & vbCrLf & vbCrLf & _
"Ben je zeker dat je de mail wil verzenden? ", vbYesNo) Then Exit Sub
If vbNo = MsgBox("Heb je IBM-notus open staan?", vbYesNo) Then Exit Sub
If [Afspraakgemaakt] = "" Then [Afspraakgemaakt] = "De bevestiging is gemaild!"

[COLOR="#FF0000"]'Bijlage meesturen
Const stPath As String = "C:\BEH\2. WAB onderzoeken\Instructies en voorbeelden"
stFileName = "testbestand.xlsx" 'Bestandsnaam
stAttachment = stPath & "\" & stFileName & ".xlsx" 'Pad[/COLOR]

vaRecipients = VBA.Array(Sheets("invulblad").Cells(5, 8).Value, Range("k16").Value)

'Bepaal de IBM Notes COM's Objecten.
Set noSession = CreateObject("Notes.NotesSession")
Set noDatabase = noSession.GETDATABASE("", "")
                  
'Als Lotus Notes niet open is open dan het mail-gedeelte ervan.
If noDatabase.IsOpen = False Then noDatabase.OPENMAIL
       
'Maak de e-mail en de bijlage.
Set noDocument = noDatabase.CreateDocument
Set noAttachment = noDocument.CreateRichTextItem("stAttachment")

                                 
'Voeg de gegevens toe aan de gemaakte e-mail eigenschappen.
With noDocument
    .Form = "Memo"
    .SendTo = vaRecipients
    .CopyTo = vaCopyTo
    .Subject = stsubject
    .Body = vamsg
    .SaveMessageOnSend = True
    .PostedDate = Now()
    .Send 0, vaRecipients
End With
                          
'Verwijder objecten uit het geheugen.
Set noEmbedObject = Nothing
Set noAttachment = Nothing
Set noDocument = Nothing
Set noDatabase = Nothing
Set noSession = Nothing
                  
MsgBox "De e-mail is correct verstuurd ", vbInformation

End Sub

Wat gaat er niet goed in het rode gedeelte en/of het voorgaande hiervan?

Alvast heel erg bedankt.

Robert
 
Laatst bewerkt:
De variabele stAttachment zal 2x .xlsx achter de bestandsnaam hebben staan.
 
Dank je voor jouw snelle reactie.

Ik heb het nu gewijzigd in:

Code:
'Bijlage meesturen
Const stPath As String = "C:\BEH\2. WAB onderzoeken\Instructies en voorbeelden"
stFileName = "testbestand.xlsx" 'Bestandsnaam
stAttachment = stPath & "\" & stFileName 'Pad

Ook nu wordt het bestand niet meegestuurd.
 
Ik ken Lotus Notes niet, dus daar kan ik verder helaas niet bij helpen.
 
In ieder geval heel erg bedankt dat je mee hebt gedacht, ik hoop dat iemand anders hier nog even naar wil kijken.
 
Misschien moet je hier eens kijken, zie https://www.rondebruin.nl/win/s1/notes/notes4.htm
En dan specifiek naar de regel
Code:
Set EmbedObject = obAttachment.EmbedObject(EMBED_ATTACHMENT, "", stAttachment)
(die jij niet hebt) en de bijbehorende code
 
Overigens hoort deze vraag natuurlijk niet in dit forum thuis; dit is geen voorbeeldje van een mooie applicatie. Wellicht een mooie taak voor de moderator om hem naar het VBA forum te verplaatsen?
 
Beste mensen,

Ik heb de oplossing naar aanleiding van jullie aanwijzingen kunnen vinden. De volgende regel - zoals is opgemerkt door Alphamax - ontbrak in mijn code:
Code:
Set noEmbedObject = noAttachment.EmbedObject(EMBED_ATTACHMENT, "", stAttachment)

Tot slot zie ik ook dat ik de vraag onder de verkeerde rubriek heb geplaatst, mijn verontschuldiging hiervoor.

Nogmaals heel erg bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan