Salvando o arquivo do Excel com base nos dados da célula e enviando e-mails usando o Outlook

0

Eu tenho cada um dos códigos para fazer o que eu disse acima ... no entanto, eu não posso fazê-los trabalhar juntos.

Eu quero o código para:

Primeiro - Salve o arquivo excel com base na célula C: 6

Segundo - crie um e-mail automaticamente no Outlook

Terceiro - Mas eu não quero que ele seja enviado automaticamente, só quero que ele seja aberto e exibido para o usuário.

Isso é o que eu tenho até agora:

Sub SendEmail()

    Name = Range("C6").Value
    ActiveWorkbook.SaveAs Filename:=Name

    Dim OutApp As Object
    Dim OutMail As Object

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)   

    On Error Resume Next
    With OutMail
        .to = "example email"
        .CC = ""
        .BCC = ""
        .Subject = "Form"
        .Body = "Test"
        .Attachments.Add ActiveWorkbook.FullName
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing

End Sub

Qualquer ajuda seria muito apreciada. Obrigada!

    
por Rami 24.04.2018 / 19:34

1 resposta

0

Parece que você está realmente perto de uma solução! Aqui estão algumas coisas que posso ver.

~

Pode ser bom definir o seu alcance nesta declaração:

Name = Range("C6").Value

Em vez disso, faça algo assim:

Name = ThisWorkbook.Sheets("MySheet").Range("C6").Value

~

Em seguida, você deve definir o caminho para o seu arquivo para anexá-lo ao email. Em vez disso:

.Attachments.Add ActiveWorkbook.FullName

Faça isso:

.Attachments.Add "C:\Users\Bob\...\Work_Documents\" & Name & ".xlsx"

~

Por fim, adicione .Display dentro do bloco With Outmail (logo abaixo da linha .Attachments ) para exibir o e-mail sem enviá-lo. Se você quiser enviar automaticamente, também pode adicionar .Send .

    
por 24.04.2018 / 19:55