Excel Dosyasını Hücre Verilerine Dayalı Kaydetme ve Sonra Outlook Kullanarak E-posta Gönderme


0

Yukarıda söylediklerimi yapmak için kodların her birine sahibim ... ancak birlikte çalışmasını sağlayamıyorum.

Kodu istiyorum:

İlk - C: 6 hücresini temel alan excel dosyasını kaydedin

İkincisi - Outlook'ta Otomatik Olarak Bir E-posta Hazırlama

Üçüncüsü - Ama otomatik olarak gönderilmesini istemiyorum, sadece taslağını açmasını ve kullanıcı için açılmasını istiyorum.

Şu ana kadar sahip olduğum şey bu:

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

Herhangi bir yardım çok takdir edilecektir. Teşekkür ederim!

Yanıtlar:


0

Gerçekten bir çözüme yakın gibi görünüyorsun! İşte görebildiğim birkaç şey.

~

Bu ifadede menzilinizi tanımlamak iyi olabilir:

Name = Range("C6").Value

Bunun yerine, böyle bir şey yapın:

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

~

Ardından, e-postaya eklemek için dosyanızın yolunu tanımlamanız gerekir. Bunun yerine:

.Attachments.Add ActiveWorkbook.FullName

Bunu yap:

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

~

Son olarak, e-postayı göndermeden görüntülemek için bloğun .Displayiçine ( çizginin With Outmailhemen altına .Attachments) ekleyin . Otomatik olarak gönderilmesini hiç istemezseniz, siz de ekleyebilirsiniz .Send.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.