Opgelost cc bijplaatsen in mail

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

DeArie

Gebruiker
Lid geworden
15 jul 2016
Berichten
159
Ik ben aan het proberen een CC bij te laten plaatsen als ik een mail laat verzenden, nu is het zo dat er niet altijd een CC in de adressen lijst staat en deze dan ook niet verzonden hoeft te worden.
ik heb de volgende code om te mailen:

Code:
Dim Bestand As String
    Dim OutApp As Object
    Dim OutMail As Object
    Dim signature As String
    
    Bestand = Environ("TEMP") & "\" & ActiveSheet.Name & " " & Range("B17").Value & ".pdf"
    ActiveSheet.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=Bestand
    
    mailto = ActiveSheet.Range("G12")
    Subject = "Factuur van de afgelopen periode. "
    Body = "Geachte relatie, <br><br>" & _
           "Hierbij doen wij u onze factuur toekomen van de door ons verleende diensten van de afgelopen periode. <br>" & _
           "Met het vriendelijke verzoek om voor betaling zorg te dragen." _


    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
        .display
        signature = .HTMLBody
        .to = mailto
       ' .CC = ""
      '  .BCC = ""
        .HTMLBody = "<Body style='color:black(33,38,227);font-family:calibri;font-size:15'></font></p>" & Body & "<br>" & .HTMLBody
        .Subject = Subject
        .Attachments.Add Bestand
        .Send
        If ActiveSheet.Range("G15").Value <> "" Then Add.Range("G15").Value
         End If
    End With
    Kill Bestand

Ik had bij CC het volgende staan:
Code:
ActiveSheet.range ("g15").Value
Alleen als er dan geen CC in de adressenlijst staat komt er bij CC in Outlook een 0 te staan en gaat hij dus niet verder.
Nu dacht ik dat met het volgende te kunnen opvangen maar krijg het niet goed in de code opgenomen.
Had een mailto2 = gemaakt en onderstaande erachter geplaatst en bij .CC = mailto2 gezet maar dat werkt niet

Code:
If ActiveSheet.Range("G15").Value <> "" Then Add.Range("G15").Value
end if

Weet iemand hoe dat wel moet?

Alvast dank.
 
Test deze eens:
Code:
Sub MailIt()
    Dim Signature As String
    Dim Bestand As String
    Dim OutMail As Object
    Dim OutApp As Object
    Dim MailTo As String
 
    Bestand = Environ("TEMP") & "\" & ActiveSheet.Name & " " & Range("B17").Value & ".pdf"
    ActiveSheet.ExportAsFixedFormat 0, Bestand
 
    MailTo = ActiveSheet.Range("G12")
    Subject = "Factuur van de afgelopen periode. "
    Body = "Geachte relatie, <br><br>" & _
           "Hierbij doen wij u onze factuur toekomen van de door ons verleende diensten van de afgelopen periode. <br>" & _
           "Met het vriendelijke verzoek om voor betaling zorg te dragen."

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
        .Display
        Signature = .HTMLBody
        .To = MailTo
        .CC = IIf(Range("G15") <> "", Range("G15"), "")
        .BCC = ""
        .HTMLBody = "<Body style='color:black(33,38,227);font-family:calibri;font-size:15'></font></p>" & Body & "<br>" & .HTMLBody & "<br>" & Signature
        .Subject = Subject
        .Attachments.Add Bestand
        '.Send
    End With
End Sub

Signature ook toegevoegd.
Vergeet niet na de test de .Send weer aan te zetten.
 
Laatst bewerkt:
Edmoor, denk dat je MailTo bedoelde met toegevoegd?

Als er geen CC is ingevuld in de adressen lijst geeft hij nog steeds 0 weer bij Outlook CC.
 
De code die ik plaatste werkt zoals je vroeg.
Kijk bij .CC

En je had de signature niet in de HTMLBody staan, die heb ik toegevoegd.
 
Laatst bewerkt:
Uiteraard heb ik het geen je bij .cc hebt ook veranderd in de code maar hij geeft dan nog die 0 bij CC in outlook.

Heb ook alles overgenomen en geprobeerd maar hij blijft die 0 invullen op het moment dat er geen CC is ingevuld in de adressenlijst.
 
Plaats dan je document hier.
 
Dat is een .xlsx document, die bevat per definitie geen code.
 
Daar werkt niks in omdat werkbladen anders zijn en ranges fouten bevatten.
Hier heb ik niks aan.
Plaats het document waarin je die 0 in de CC krijgt.
 
Het komt omdat er een formule in staat en is die cel dus niet leeg.
Die formule retourneert de 0.
Maak er in de VBA dan dit van:
Code:
.CC = IIf(Range("G15") > 0, Range("G15"), "")
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan