• 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.

Excel crash na verzenden mail met bijlage

  • Onderwerp starter Onderwerp starter JEC.
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.
Alles even getest, zonder succes helaas.

De argumenten moet ik gebruiken omdat er anders te veel wordt meegenomen in de PDF, wat je eigenlijk niet zou verwachten.
Subject heeft uiteraard een inhoud. Het probleem zit in de bijlage. Zonder bijlage werkt het wel.:confused:
 
Heb je al eens getest wat er gebeurd als je die bijlage handmatig met Outlook naar die reeks van adressen verstuurd?
 
Dat gaat helemaal goed
 
De argumenten moet ik gebruiken omdat er anders te veel wordt meegenomen in de PDF, wat je eigenlijk niet zou verwachten.
Wat als je het gebied naar een nieuw werkblad (evt. werkboek) kopieert en dat als pdf opslaat ?
 
Het is opgelost door een vertraging in te bouwen, zoals HSV al eerder stelde!
Outlook heeft blijkbaar nog wat tijd nodig na .display wanneer er een bijlage bij zit.
Ik blijf het vreemd vinden dat het zonder vertraging eerst ook werkte...

Bedankt voor het meedenken. Ik ben blij dat deze is opgelost:thumb:

Code:
Sub mailstand()
If MsgBox("PDF maken en doorsturen?", vbYesNo, "Let op!") = vbYes Then
  With Sheets(1)
      Filenaam = "C:\Users\xx\xx\xx\" & "Tussenstand " & Date & ".pdf"
     .Range("A1:L47").ExportAsFixedFormat xlTypePDF, Filenaam, , , , 1, 1, False
  End With
  With CreateObject("Outlook.Application").CreateItem(0)
     .To = Join(Application.Transpose(Sheets("Emails").ListObjects("Emails").DataBodyRange), ";")
     .Subject = "test"
     .Body = "test"
     .Attachments.Add Filenaam
     .send
  End With
  [COLOR="#008000"]Application.Wait DateAdd("s", 3, Now)[/COLOR]
End If
End Sub
 
Probleem doet zich weer voor helaas. Ook met langere wachttijden…Mochten er nog andere suggesties zijn hoor ik dat graag! Extreem irritant probleem.
 
Ik zou de wachttijd elders instellen

Code:
Sub mailstand()
If MsgBox("PDF maken en doorsturen?", vbYesNo, "Let op!") = vbYes Then
  With Sheets(1)
      Filenaam = "C:\Users\xx\xx\xx\Tussenstand" & Date & ".pdf"
     .Range("A1:L47").ExportAsFixedFormat 0, Filenaam
  End With

  Application.Wait DateAdd("s", 3, Now)

  With CreateObject("Outlook.Application").CreateItem(0)
     .To = Join(Application.Transpose(Sheets("Emails").ListObjects("Emails").DataBodyRange), ";")
     .Subject = "test"
     .Body = "test"
     .Attachments.Add Filenaam
     .send
  End With
End If
End Sub

Het opslagmedium (harde schijf - SSD ?) is minder snel dan de code.
 
Laatst bewerkt:
Het is heel vreemd, zonder bijlage geen probleem, met bijlage gaat het mis (ging voorheen wel goed).
Vooralsnog heb ik één persoon op internet kunnen vinden met hetzelfde probleem en ook daar is het niet opgelost helaas.

@Snb, die had ik ook al geprobeerd, zonder succes.
 
Gebruik dan deze 'vertraging' voordat je outlook 'start'

Code:
Do
 doevents
loop until dir(filenaam)<>""

Do
 doevents
loop until filelen(filenaam)>0

PS. heb je de overbodige parameters bij exportasfixedformat verwijderd (zie mijn code)
 
Laatst bewerkt:
Thanks! Deze ga ik vanavond testen. De parameters heb toen gelijk weggehaald, al zou dat niet voor problemen moeten zorgen.
 
Heb je het al eens zo geprobeerd?
Code:
Sub mailstand()
If MsgBox("PDF maken en doorsturen?", vbYesNo, "Let op!") = vbYes Then

  [COLOR="#FF0000"]DoEvents[/COLOR]

  With Sheets(1)
      Filenaam = "C:\Users\xx\xx\xx\" & "Tussenstand " & Date & ".pdf"
     .Range("A1:L47").ExportAsFixedFormat xlTypePDF, Filenaam, , , , 1, 1, False
  End With
  
  With CreateObject("Outlook.Application").CreateItem(0)
     .To = Join(Application.Transpose(Sheets("Emails").ListObjects("Emails").DataBodyRange), ";")
     .Subject = "test"
     .Body = "test"
     .Attachments.Add Filenaam
     .send
  End With
End If
End Sub

Of gebruik Timer om een aantal seconden te wachten terwijl de verwerking gewoon door gaat:
Code:
Public Sub Wachten(Seconden As Single)
    Dim Einde As Single
    Einde = Timer + Seconden
    While Timer < Einde
        DoEvents
    Wend
End Sub
 
Laatst bewerkt:
@Edmoor, bedankt voor je suggestie. Ook deze zal ik vanavond testen!
 
Ik zie net pas dat snb al iets dergelijks voorstelde :rolleyes:
 
Bovenstaande suggestie getest maar heeft het niet opgelost helaas.

Vermoedelijk de oplossing gevonden(moet het nog meerdere keren testen)!
Bestand bevat een aantal matrixformules die telkens herberekenen.
Ik heb de berekeningsopties op het begin van de macro op handmatig gezet en Excel lijkt nu niet meer te crashen.

Ik denk dat er tijdens de uitvoering van de macro berekeningen gedaan worden door de matrixformules die het programma laat crashen tijdens het opstellen van de mail.
Heel soms, waarschijnlijk als er toevallig geen herberekening wordt gedaan tijdens het mailen, crasht Excel niet. Hopelijk is dit een blijvende oplossing.:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan