Zapisywanie pliku Excel na podstawie danych komórki, a następnie wysyłanie wiadomości e-mail za pomocą programu Outlook

0

Mam każdy z kodów, aby zrobić to, co powiedziałem powyżej ... ale nie mogę zmusić ich do współpracy.

Chcę, aby kod:

Najpierw - Zapisz plik programu Excel na podstawie komórki C: 6

Po drugie - automatyczne tworzenie wiadomości e-mail w programie Outlook

Po trzecie - ale nie chcę, aby wysyłało się automatycznie, chcę tylko, żeby otworzyło go i wyskoczyło dla użytkownika.

Oto co mam do tej pory:

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

Każda pomoc byłaby bardzo mile widziana. Dziękuję Ci!

Rami
źródło

Odpowiedzi:

0

Wygląda na to, że jesteś naprawdę blisko rozwiązania! Oto kilka rzeczy, które mogę zobaczyć.

~

Może warto zdefiniować zakres w tym zestawieniu:

Name = Range("C6").Value

Zamiast tego zrób coś takiego:

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

~

Następnie należy zdefiniować ścieżkę do pliku, aby dołączyć go do wiadomości e-mail. Zamiast tego:

.Attachments.Add ActiveWorkbook.FullName

Zrób to:

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

~

Na koniec dodaj .Displaywewnątrz With Outmailbloku (tuż poniżej .Attachmentslinii), aby wyświetlić wiadomość e-mail bez jej wysyłania. Jeśli kiedykolwiek chcesz, aby automatycznie wysyłał, możesz również dodać .Send.

Mikrofon
źródło