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

Tores333

Altın Üye
Katılım
26 Ocak 2017
Mesajlar
37
Excel Vers. ve Dili
Microsoft 365 EN 64 bit
Altın Üyelik Bitiş Tarihi
23-06-2025
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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,742
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bir hücreden mi veri alacaksınız?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,742
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 

Tores333

Altın Üye
Katılım
26 Ocak 2017
Mesajlar
37
Excel Vers. ve Dili
Microsoft 365 EN 64 bit
Altın Üyelik Bitiş Tarihi
23-06-2025
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?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,742
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Seçtiğiniz dosyadaki SAYFA ADI nedir?
 

Tores333

Altın Üye
Katılım
26 Ocak 2017
Mesajlar
37
Excel Vers. ve Dili
Microsoft 365 EN 64 bit
Altın Üyelik Bitiş Tarihi
23-06-2025
Sayfa adı: "VESSEL"
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,742
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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"
 

Tores333

Altın Üye
Katılım
26 Ocak 2017
Mesajlar
37
Excel Vers. ve Dili
Microsoft 365 EN 64 bit
Altın Üyelik Bitiş Tarihi
23-06-2025
Korhan Bey, uyarladığım halde hata aldım.

"Konu = ExecuteExcel4Macro(Adres)"

bu satırda hata veriyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,742
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Peki, o satırı aşağıdaki gibi düzeltip dener misiniz?

Konu = Application.ExecuteExcel4Macro(Adres)
 

Tores333

Altın Üye
Katılım
26 Ocak 2017
Mesajlar
37
Excel Vers. ve Dili
Microsoft 365 EN 64 bit
Altın Üyelik Bitiş Tarihi
23-06-2025
Maalesef bu da olmadı. yada ben yapamadım bilemiyorum :)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,742
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Uyarladığınız halini paylaşınız.
 

Tores333

Altın Üye
Katılım
26 Ocak 2017
Mesajlar
37
Excel Vers. ve Dili
Microsoft 365 EN 64 bit
Altın Üyelik Bitiş Tarihi
23-06-2025
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.
 
Üst