• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Mail gönderirken seçilen ek içinden veri almak

Katılım
26 Ocak 2017
Mesajlar
37
Excel Vers. ve Dili
Microsoft 365 EN 64 bit
Merhaba,

aşgıdaki kod ile mail gönderiyorum ancak, başta ek olarak sectiğim dosyanın içinden mailin konu baslıgında kullanmam gereken bilgiler var.
seçtiğim dosyadan hücre yolunu nasıl gösterebilirim?


Kod:
Sub Mail_Gonder()
    Dim Exc_File As Variant
    Dim Outlook_App As Object
    Dim Outook_Mail As Object
    
        
    Exc_File = Application.GetOpenFilename("Excel Files, *.xlsx", 1, "Please select a file to send", True)

    If TypeName(Exc_File) = "Boolean" Then
        MsgBox "You never get one if you dont want to!", vbCritical
        Exit Sub
    End If
    
    On Error Resume Next
    Set Outlook_App = GetObject(, "Outlook.Application")
    On Error GoTo 0
    
    If Outlook_App Is Nothing Then Call Shell("Outlook.exe", vbHide)
    
    Set Outlook_App = CreateObject("Outlook.Application")
    Set OutLook_Mail = Outlook_App.CreateItem(0)

       Mesaj = "TOTAL: " & ActiveWorkbook.Sheets("Daily Bookings").Range("AG17") & " TEUS = " & ActiveWorkbook.Sheets("Daily Bookings").Range("AH17") & " MT"
    
    On Error Resume Next
    
    With OutLook_Mail
        .Display
        .To = ""
        .CC = ""
        .BCC = ""
        .Subject = "TURKEY TO CANADA SERV.//" & " " & ActiveWorkbook.Sheets("Daily Bookings").Range("A8").Value & " " & "- Forecasts" & " " & Format(Now, "dd.mm.yyyy")
        .HTMLBody = "<br>" & "Good day," & "<br><br>" & Mesaj & "<br><br>" & "Best regards," & .HTMLBody
        .Attachments.Add Exc_File
        .Display
        '.Send
    End With
    
    On Error GoTo 0

    Set OutLook_Mail = Nothing
    Set Outlook_App = Nothing
    
    'MsgBox "Mail gönderim işlemi tamamlanmıştır.", vbInformation
End Sub
 
Bir hücreden mi veri alacaksınız?
 
Aşağıdaki kodu kendi kodlarınızın arasına uyarlayınız.

C++:
Option Explicit

Sub Makro1()
    Dim Exc_File As Variant, Yol As String, Dosya_Adi As String, Sayfa_Adi As String, Adres As String, Konu As String
    
    Exc_File = Application.GetOpenFilename("Excel Files, *.xlsx", 1, "Please select a file to send", True)
    
    Dosya_Adi = CreateObject("Scripting.FileSystemObject").GetFileName(Exc_File)
    Sayfa_Adi = "Sheet1"
    Yol = Replace(Exc_File, Dosya_Adi, "") & "\"
    Adres = "'" & Yol & "[" & Dosya_Adi & "]" & Sayfa_Adi & "'!R1C1" 'Buradaki R1C1 kapalı dosyadaki A1 hücresidir.
    Konu = ExecuteExcel4Macro(Adres)
    MsgBox Konu
End Sub
 
Korhan Bey,

"Konu = ExecuteExcel4Macro(Adres)"

bu kısım hata verdi.

ana kodum üzerinden anlatmam gerekirse;

++
.Subject = "TURKEY TO CANADA SERV.//" & " " & ActiveWorkbook.Sheets("Daily Bookings").Range("A8").Value & " " & "- Forecasts" & " " & Format(Now, "dd.mm.yyyy")
++

renklendirdiğim alan yerine , seçtiğim dosyanın A8 hücresindeki veriyi eklemesini istiyorum. nasıl yapabiliriz?
 
Seçtiğiniz dosyadaki SAYFA ADI nedir?
 
Benim paylaştığım kod da aşağıdaki gibidir. Kendinize uyarlarsınız demiştim. Sanırım dikkatinizden kaçtı.

Sayfa_Adi = "Sheet1"
 
Korhan Bey, uyarladığım halde hata aldım.

"Konu = ExecuteExcel4Macro(Adres)"

bu satırda hata veriyor.
 
Peki, o satırı aşağıdaki gibi düzeltip dener misiniz?

Konu = Application.ExecuteExcel4Macro(Adres)
 
Uyarladığınız halini paylaşınız.
 
Korhan Bey merhaba,

kaydetmemiştim. Size göndermek için tekrar uyarladım. İkinci belirttiğiniz kod ile çalıştı. bir yerde fark etmeden yazım hatası fln yaptım sanıyorum.
bu yazışmayı yapmamız lazımmış demekki :)
Teşekkürler.
 
Geri
Üst