• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Objectvariabele of blokvariabele with is niet ingesteld

Status
Niet open voor verdere reacties.

nieuweharing

Gebruiker
Lid geworden
27 sep 2021
Berichten
42
Goedemorgen,

Via Excel probeer ik naar een 2-tal adressen een mail te versturen met een attachment.
Bij de uitvoering ervan krijg ik bovenstaande foutmelding.
De foutmelding verwijst naar Set myAttachments = OutLookMailitem.Attachments
In B200 en B201 staan de email adressen.
Kunnen jullie zien waar de fout zit?

Alvast bedankt!

Groetjes

Anne

Code:

Sub Send_Mail_with_signature()
ChDir "C:\Users\Tests\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\Tests\Desktop\Bijlage.pdf"

Dim OutLookApp As Object
Dim OutLookMailitem As Object
Dim myAttachments As Object
Dim sign As String
Dim i As Integer

Set OutLookApp = CreateObject("Outlook.application")
Set myAttachments = OutLookMailitem.Attachments
Set msg = OutLookApp.CreateItem(0)

sign = msg.HTMLBody

For i = 200 To sh.Range("B" & Application.Rows.Count).End(xlUp).Row
With msg
.To = sh.Range("B" & i).Value
.Subject = "Bijlage per" & Format(Date, " dd.mm.yyyy")
.HTMLBody = "Beste collega's, <br/> <br/>Hierbij de bijlage. <br/>
myAttachments.Add "C:\Users\Test\Desktop\Bijlage.pdf"
.send
End With
Next i
Set OutLookMailitem = Nothing
Set OutLookApp = Nothing

End Sub
 
Vergeet dat myAttachments en maak er gewoon dit van:
Code:
With msg
    .To = sh.Range("B" & i).Value
    .Subject = "Bijlage per" & Format(Date, " dd.mm.yyyy")
    .HTMLBody = "Beste collega's, <br/> <br/>Hierbij de bijlage. <br/>"
    .Attachments.Add "C:\Users\Test\Desktop\Bijlage.pdf"
    .Send
End With

Vergeet ook die CHDir opdracht.
 
Laatst bewerkt:
Hoi Ed,

Bedankt voor je snelle reactie!

Ik heb e.e.a. aangepast en krijg nu deze melding:

Het item is verplaatst of verwijderd

en er wordt verwezen naar:

.To = sh.Range("B" & i).Value

Toegevoegd had ik deze regel:
Set sh = ThisWorkbook.Sheets("overzicht")

zodat de hele code er nu als volgt uit ziet:

Sub Send_Mail_with_signature()

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\Tests\Desktop\Bijlage.pdf"

Dim OutLookApp As Object
Dim OutLookMailitem As Object
Dim myAttachments As Object
Dim sh As Worksheet
Dim sign As String
Dim i As Integer

Set sh = ThisWorkbook.Sheets("overzicht")
Set OutLookApp = CreateObject("Outlook.application")
Set msg = OutLookApp.CreateItem(0)

sign = msg.HTMLBody

For i = 200 To sh.Range("B" & Application.Rows.Count).End(xlUp).Row
With msg
.To = sh.Range("B" & i).Value
.Subject = "Bijlage per" & Format(Date, " dd.mm.yyyy")
.HTMLBody = "Beste collega's, <br/> <br/>Hierbij de bijlage. <br/>
.Attachments. Add "C:\Users\Test\Desktop\Bijlage.pdf"
.send
End With
Next i
Set OutLookMailitem = Nothing
Set OutLookApp = Nothing


Weet jij wat er nu verkeerd gaat?

Alvast bedankt weer!

Anne
 
Je hebt de dubbele quote aan het einde van de HTMLBody regel weg gehaald.
Zet die terug en probeer het dan nog eens.
 
Ik krijg deze melding: 'die nieuwe haring heeft alweer geen code tags gebruikt in haar/zijn bericht'
 
de nieuwe haring wordt oud :(

maar euh, in mijn bericht was ik idd de "' vergeten maar in de code stond die er wel degelijk.
de foutmelding blijft komen en verwijst naar .To = sh.Range("B" & i).Value
 
Dan is er zonder een voorbeeld document weinig over te zeggen, anders dan de verwijzingen te controleren.
 
Laatst bewerkt:
het is me gelukt!

Onderstaande regel heb ik binnen de loop gehaald en nu werkt het.

Set msg = OutLookApp.CreateItem(0)

Bedankt voor jullie hulp en prettige dag verder!

Groetjes

Anne
 
Nu de handtekening nog op de juiste manier toevoegen ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan