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

vba auto mail code probleem

Status
Niet open voor verdere reacties.

resmatrix

Gebruiker
Lid geworden
6 nov 2006
Berichten
173
Goedemorgen

ik stoei nu al dagen op onderstaande code, maar ik kom er niet uit
Eigenlijk werkt de code prima op 2 dingen na:

de content tekst van de body heeft een ander format als de normale mail tekst. Hoe kan ik dat verhelpen?
de tweede is de handtekening. ik krijg het simpelweg niet voor elkaar dat de handtekening onde de mail komt

ik hoop dat iemand kan helpen

Code:
Sub runmailing()


    Dim OutApp As Object
    Dim OutMail As Object
    Dim sh As Worksheet
    Dim cell As Range
    Dim FileCell As Range
    Dim rng As Range
    Dim FileName As String

    With Application
        .EnableEvents = False
        .ScreenUpdating = False
    End With

    Set sh = Sheets("Main_Data")

    Set OutApp = CreateObject("Outlook.Application")

    For Each cell In sh.Columns("B").Cells.SpecialCells(xlCellTypeConstants)

        
        Set rng = sh.Cells(cell.Row, 1).Range("C1:E1")

        If cell.Value Like "?*@?*.?*" And _
           Application.WorksheetFunction.CountA(rng) > 0 Then
            Set OutMail = OutApp.CreateItem(0)

            With OutMail
                .to = cell.Value
                .Subject = cell.Offset(0, 1).Value
                .CC = cell.Offset(0, 10).Value
                .BCC = cell.Offset(0, 11).Value
                Signature = True
                .HTMLBody = cell.Offset(0, -1).Value & vbNewLine & _
                "<br>" & _
                "<br>" & _
                cell.Offset(0, 9).Value & vbNewLine & _
                "<br>" & _
                "<br>" & _
                cell.Offset(0, 12).Value & vbNewLine & _
                "<br>" & _
                cell.Offset(0, 13).Value & vbNewLine & _
                cell.Offset(0, 14).Value
                                      
                Signature = True
                
                For Each FileCell In rng.SpecialCells(xlCellTypeConstants)
                    If Trim(FileCell) <> "" Then
                        If Dir(FileCell.Value) <> "" Then
                            .Attachments.Add FileCell.Value
                        End If
                    End If
                Next FileCell

                .Display
            End With

            Set OutMail = Nothing
        End If
    Next cell

    Set OutApp = Nothing
    With Application
        .EnableEvents = True
        .ScreenUpdating = True
    End With
End Sub
 
Wat betreft de tekst, gebruik de functie RangeToHTML van Ron de Bruin om de HTMLBody te maken:
https://www.rondebruin.nl/win/s1/outlook/bmail2.htm

Plaats de .Display direct onder de With Outmail.
Kopieer dan de HTMLBody en plak deze achter aan de te gebruiken HTMLbody vast.
Dan staat de handtekening er ook in.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan