Ana içeriğe atla

Excel eğitimi – Excel'den e-posta gönderin

Normalde, e-posta göndermek için Outlook, Gmail vb. e-posta istemcilerini kullanırız. Ancak, birçok kişi verileri Excel çalışma kitaplarında depolar ve onunla çalışırken bazı verileri diğerlerine de göndermeleri gerekir. Bu nedenle, bir e-posta istemcisini çalıştırma zamanından tasarruf sağlayan Excel çalışma kitabından doğrudan e-posta göndermeleri gerekir. Bu adım adım öğretici, farklı koşullar altında Excel'den nasıl e-posta göndereceğinizi gösterecektir.

not: Aşağıdaki yöntemleri uygulamadan önce bilgisayarınızda bir Outlook e-posta istemcisi yapılandırmanız ve bunu varsayılan e-posta istemciniz olarak ayarlamanız gerekir.

İçindekiler: [ Saklamak ]

(İlgili bölüme gitmek için aşağıdaki içindekiler tablosundaki veya sağdaki herhangi bir başlığa tıklayın.)

1. Excel'den e-posta göndermenin temelleri

Bu bölümde, Excel'den e-posta göndermenin temelleri anlatılmaktadır.

1.1 Excel'in yerleşik işlevleriyle Excel'den e-posta gönderin

Yalnızca Kime, Konu, Bilgi ve gövde alanları dahil olmak üzere yalnızca Excel'den basit e-postalar göndermek istiyorsanız. Excel'deki yerleşik işlevler yardımcı olabilir.


1.1.1 Excel'den bir formülle e-posta gönderin

Aşağıdaki tabloda gösterildiği gibi, verilen alanlara göre Excel'den farklı e-postalar göndermek için, bunu yapmak için farklı Köprü formülleri oluşturmak için verilen alanların hücre referanslarını kullanabilirsiniz. E-posta köprülerini oluşturduktan sonra, otomatik olarak bir e-posta göndermek için ihtiyacınız olan köprüye tıklayabilirsiniz.

Not: Kime veya Bilgi alanlarında birden fazla alıcı varsa, lütfen bunları noktalı virgülle ayırın.

Bu bölüm, e-posta adresi, Cc alıcıları, konu satırı ve gövde metnini Köprü formülüne ayrı ayrı ekleme adımlarını göstermek için dört bölüme ayrılmıştır. Lütfen aşağıdaki gibi yapın.

Sözdizimi ve argümanlar KÖPRÜ işlevi aşağıdaki gibidir.

Sözdizimi

HYPERLINK(link_location, [friendly_name])

Argümanlar

Bağlantı_konumu (gerekli): Açılacak belgenin yolu ve dosya adı;
İpuçları: Bu öğreticide, alıcının e-posta adresi, Cc alıcı(lar)ı, konu satırı ve gövde metni gibi bir e-posta için ihtiyaç duyduğumuz tüm alanlar, "bağlantı_konumu" ilk argümanına yerleştirilmelidir.
Kolay_adı (isteğe bağlı): Hücrede görüntülenen atlama değeri.

1.1.1.1 Köprü formülüne e-posta adresi ekleyin

Burada kullanıyoruz "posta:" bir e-posta alıcısı eklemek için formülün bir parçası olarak. Bu örnekte, ilk alıcının e-posta adresi B2 hücresindedir, bu nedenle "mailto:" eklememiz ve onu B2 hücresine göndermemiz gerekiyor.

“mailto:”&B2

1. Köprüyü görüntülemek için bir hücre seçin. Bu durumda F2 hücresini seçiyorum.

2. Ardından içine aşağıdaki formülü girin.

=HYPERLINK("mailto:"&B2)

not: tuşuna basarsanız Keşfet tuşuna bastığınızda, aşağıdaki ekran görüntüsünde gösterildiği gibi bir köprü oluşturulacaktır. Bağlantıya tıkladığınızda, bir Outlook e-postası oluşturulur ve alıcının e-posta adresi Kime alanına otomatik olarak doldurulur.

Alıcının e-posta adresi artık Köprü formülüne eklenir. Konu satırını, Cc alıcılarını ve gövde metnini ihtiyaç duyduğunuz şekilde eklemek için lütfen aşağıdaki adımlarla devam edin.


1.1.1.2 Köprü formülüne Cc alıcıları ekleyin

Bilgi alıcısını/alıcılarını Köprü işlevine eklemek için lütfen "?cc=" aşağıdaki gibi formülün bir parçası olarak.

"?cc=" & C2
burada C2, cc alıcısının e-posta adresini içerir.

F2 hücresindeki formül aşağıdaki gibi olmalıdır:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2)


1.1.1.3 Köprü formülüne konu satırı ekleme

Konu satırını Köprü işlevine eklemek için lütfen ekleyin "&konu=" aşağıdaki gibi formülün bir parçası olarak.

"&konu="& D2
burada C2 e-posta konusunu içerir.

F2 hücresindeki formül şimdi aşağıdaki gibi görünmelidir:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2)


1.1.1.4 Köprü formülüne satır sonları içeren gövde metni ekleme

Son adım, gövde metnini Köprü formülüne eklemektir. Örnekte görebileceğiniz gibi, E2'deki iki metin satırı bir satır sonu ile ayrılmıştır ve satır sonunu e-posta gövdesinde tutmak istiyorsunuz. Outlook bu durumda satır sonunu tanıyor mu? Kontrol edelim.

Gövde metnini Köprü formülüne eklemek için eklemeniz gerekir. “&gövde=” aşağıdaki gibi formülün bir parçası olarak.

"&gövde="& E2
burada E2, e-postanın gövde metnini içerir.

F2 hücresindeki formül şimdi aşağıdaki gibi görüntülenir:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2)

Not: Basarsanız Keşfet tuşuna basın ve bağlantıya tıklayın. Yeni e-postada, e-posta gövdesindeki içeriğin aynı satırda görüntülendiğini görebilirsiniz.

E-posta gövdesini ayrı satırlarda görüntülemek için, satır başı karakter kodunu ekleyerek hücre içeriğini değiştirmeniz gerekir. % 0A satır sonu eklemeniz gereken metne. Ekran görüntüsüne bakın:


1.1.1.5 Köprü için görüntülenecek metni belirtin

Yukarıdaki adımlarda, Link_location argümanını e-posta alanlarıyla bitirdik. İşte bu bölümde, bir sonraki argümanı [arkadaşça_adı] bitireceğiz.

Bu durumda, köprü hücresinin metni " olarak görüntülemesini istiyorum.xx'e e-posta gönder”, burada xx, A2'deki alıcının adıdır. Bu nedenle, F2'deki formül şu şekilde değiştirilmelidir:

=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2, "Email to "&A2)

Basın Keşfet sonucu almak için anahtar.

Bu formül hücresini seçin ve Otomatik Doldurma Kolu diğer e-posta köprülerini oluşturmak için aşağı Ekran görüntüsüne bakın:


1.1.2 Köprü işleviyle Excel'den e-posta gönderin

Yukarıdaki Köprü formülünü kullanmanın dışında, manuel olarak bir e-posta köprüsü oluşturabilirsiniz. Ekle Köprü Excel'de işlev. Bu bölüm size adımları gösterecek.

1. Köprü eklemek istediğiniz e-postayı sağ tıklayın, Link sağ tıklama menüsünden.

2. Açılırken Köprüyü Ekle iletişim kutusu, aşağıdaki gibi yapılandırmanız gerekir.

2.1) Seç E-posta Adresi sol bölmede
2.2) içinde Görüntülenecek metin metin kutusuna, hücrede görüntülemek istediğiniz metni yazın;
İpuçları: Bu iletişim kutusunda hücre referanslarını kullanamazsınız, bu nedenle e-posta alanlarını aşağıdaki gibi manuel olarak yazmalısınız.
2.3) içinde E-posta adresi metin kutusuna aşağıdaki e-posta adreslerini yazmanız gerekir.
mailto:e-posta adresi
Lütfen " metnini değiştirine” gerçek e-posta adresinizle. Birden fazla e-posta adresiniz varsa, bunları noktalı virgülle ayırın.
2.4) içinde Konu metin kutusu, e-posta konunuzu ve e-posta gövdesini burada belirtebilirsiniz. Lütfen aşağıdaki gibi yapılandırın:
E-posta konusu ve gövdesi=E-posta gövdesi
bu durumda şunu yazarım Aylık satış&body=Merhaba,%0AEmail alındı.
> Konu Aylık satış ise;
ve
> e-posta gövdesi:
Merhaba,
E-posta alındı. (% 0A Outlook tarafından tanınabilen satır başı karakter kodudur)
2.5) OK Köprüyü kaydetmek için düğmesine basın. Ekran görüntüsüne bakın:

Köprüye tıkladığınızda, aşağıdaki ekran görüntüsünde gösterildiği gibi belirtilen Kime, Konu ve Gövde alanları ile bir Outlook e-postası oluşturulacaktır.

notlar:

1) Bu yöntemle, e-posta köprülerini her birini manuel olarak oluşturmanız gerekiyordu.
2) Bu yöntemle e-postalara Cc alanı ekleyemezsiniz. Bu nedenle, Bilgi alanına ihtiyacınız varsa, lütfen yeni açılış e-posta penceresinden ekleyin.

1.2 VBA komut dosyasıyla hücrelerde birden çok alıcıya e-posta gönderin

Yukarıdaki örnekte, bir hücrede noktalı virgülle ayrılmış birden çok e-posta adresinin görüntülendiğini görebilirsiniz. Aşağıdaki ekran görüntüsünde gösterildiği gibi bir e-posta adresleri listeniz varsa ve hepsine bir e-posta veya bağımsız e-posta göndermek istiyorsanız, aşağıdaki VBA kodu size bir iyilik yapabilir.


1.2.1 VBA komut dosyasıyla hücrelerde birden çok alıcıya e-posta gönderin

1. E-postayı göndermek istediğiniz tüm e-posta adreslerini içeren çalışma sayfasında. basın Ara Toplam + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic pencere.

2. içinde Uygulamalar için Microsoft Visual Basic Pencere, tıklayın Ekle > Modül, ve ardından aşağıdaki kodu içine yapıştırın Modül (Kod) pencere.

VBA kodu: Bir e-posta adresleri listesine e-posta gönderin

Sub sendmultiple()
'updateby Extendoffice 20220802
    Dim xOTApp As Object
    Dim xMItem As Object
    Dim xCell As Range
    Dim xRg As Range
    Dim xEmailAddr As String
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Set xOTApp = CreateObject("Outlook.Application")
    For Each xCell In xRg
        If xCell.Value Like "*@*" Then
            If xEmailAddr = "" Then
                xEmailAddr = xCell.Value
            Else
                xEmailAddr = xEmailAddr & ";" & xCell.Value
            End If
        End If
    Next
    Set xMItem = xOTApp.CreateItem(0)
    With xMItem
        .To = xEmailAddr
        .Subject = "Test"
        .Body = "Dear " _
                & vbNewLine & vbNewLine & _
                "This is a test email " & _
                "sending in Excel"
        .Display
    End With
End Sub

3. Tuşuna basın. F5 kodu çalıştırmak için anahtar ve bir Kutools for Excel iletişim kutusu açılır. E-posta adreslerinin listesini seçin ve tıklayın. OK.

Notlar:

1) Yukarıdaki iletişim kutusunun açılmasını istemiyorsanız ve doğrudan kodda e-posta adresleri aralığını belirtmek istiyorsanız, lütfen bu satırı değiştirin:
Set xRg = Application.InputBox("Lütfen adres listesini seçin:", "Kutools for Excel", xTxt, , , , , 8)
ile
xRg = Aralık ("A2:A7") olarak ayarla
2) Kendi e-posta konunuzu ve gövdesini aşağıdaki satırlarda belirtebilirsiniz:
.Subject = "Test"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) Aşağıdaki yeni mesaj penceresini açmadan e-postayı doğrudan göndermek için bu satırı değiştirmeniz gerekir:
.Görüntüle
ile
`s

Kodu çalıştırdıktan sonra, seçilen aralıktaki tüm e-posta adresleri mesaj penceresinin Kime alanında görüntülenir. Ekran görüntüsüne bakın:


1.2.2 VBA komut dosyasıyla hücrelerde listelenen her alıcıya ayrı ayrı e-posta gönderin

Yukarıdaki kod, seçilen aralıktaki tüm e-posta adreslerini mesaj penceresinin Kime alanına ekler. Hücrelerde listelenen her e-posta adresine, birbirlerinin e-posta adreslerini görmelerine izin vermeden ayrı ayrı e-posta göndermek istiyorsanız, aşağıdaki VBA betiğini deneyebilirsiniz.

1. E-postaları göndermek istediğiniz tüm e-posta adreslerini içeren çalışma sayfasında. basın Ara Toplam + F11 anahtarları Uygulamalar için Microsoft Visual Basic penceresini açın.

2. içinde Uygulamalar için Microsoft Visual Basic Pencere, tıklayın Ekle > modülve ardından aşağıdaki kodu Modül (Kod) penceresine yapıştırın.

VBA kodu: Hücrelerde listelenen her e-posta adresine ayrı ayrı e-posta gönderin

Sub SendEmailToAddressInCells()
'Updated by Extendoffice 20220802
    Dim xRg As Range
    Dim xRgEach As Range
    Dim xRgVal As String
    Dim xAddress As String
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the addresses list", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues)
    For Each xRgEach In xRg
        xRgVal = xRgEach.Value
        If xRgVal Like "?*@?*.?*" Then
            Set xMailOut = xOutApp.CreateItem(olMailItem)
            With xMailOut
                .To = xRgVal
                .Subject = "Test"
                .Body = "Dear " _
                      & vbNewLine & vbNewLine & _
                        "This is a test email " & _
                        "sending in Excel"
                .Display
                '.Send
            End With
        End If
    Next
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

3. Sonra tıklayın Tools > Referanslar. içinde Referanslar - VBAProject iletişim kutusunu bulun ve kontrol edin. Microsoft Outlook 16.0 Nesne Kitaplığı kutusunu işaretleyin ve ardından OK butonuna basarak değişiklikleri kaydedin.

4. Tuşuna basın. F5 kodu çalıştırmak için anahtar ve bir Kutools for Excel iletişim kutusu açılır. E-posta adresi listesini seçin ve tıklayın Tamam.

Notlar:

1) Yukarıdaki iletişim kutusunun açılmasını istemiyorsanız ve doğrudan kodda e-posta adresleri aralığını belirtmek istiyorsanız, lütfen bu satırı değiştirin:
Set xRg = Application.InputBox("Lütfen adres listesini seçin:", "Kutools for Excel", xTxt, , , , , 8)
ile
xRg = Aralık ("A2:A7") olarak ayarla
2) Kendi e-posta konunuzu ve gövdesini aşağıdaki satırlarda belirtebilirsiniz:
.Subject = "Test"
.Body = "Dear " _
        & vbNewLine & vbNewLine & _
        "This is a test email " & _
        "sending in Excel"
3) Aşağıdaki mesaj pencerelerini açmadan e-postayı doğrudan göndermek için bu satırı değiştirmeniz gerekir:
.Görüntüle
ile
`s

Bu örnekte, seçilen aralıkta altı e-posta adresi vardır, bu nedenle, aşağıdaki ekran görüntüsünde gösterildiği gibi, Kime alanında listelenen ayrı e-posta adresiyle otomatik olarak altı Outlook mesaj penceresi oluşturulacaktır.

5. Sonunda, tıklayın Gönder E-postayı tek tek göndermek için düğmesine basın.


2. Excel'den gönderilen e-postalara ekler veya Outlook imzası ekleyin (VBA komut dosyalarıyla)

Bu bölüm, Excel'den gönderilen e-postalara ekleri veya Outlook varsayılan imzasını nasıl ekleyeceğinizi gösterecektir.

2.1 Excel'den gönderilen e-postalara ekler ekleyin

Burada ataşman takmanın farklı durumlarını açıklıyoruz ve yöntemi ihtiyaçlarınıza göre seçebilirsiniz. Bu bölümde şunları öğrenebilirsiniz (ilgili yönteme gitmek için aşağıdaki bağlantılardan herhangi birine tıklayın):


2.1.1 Belirli bir dosyayı ek olarak e-posta ile gönderin

Bir klasördeki bir veya daha fazla dosyayı Excel'den ek olarak e-postayla göndermek için aşağıdaki VBA kodunu uygulayabilirsiniz.

1. Tuşuna basın. Ara Toplam + F11 anahtarlar.

2. Açılışta Uygulamalar için Microsoft Visual Basic Pencere, tıklayın Ekle > modül. Ardından aşağıdaki VBA kodunu Modül (Kod) penceresine yapıştırın.

VBA kodu: Bir klasördeki dosyaları Excel'den ek olarak e-postayla gönderin

Sub EmailWithAttachments()
'Updated by Extendoffice 20220802
    Dim xStrFile As String
    Dim xFilePath As String
    Dim xFileDlg As FileDialog
    Dim xFileDlgItem As Variant
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
    If xFileDlg.Show = -1 Then
        With xMailOut
            .BodyFormat = olFormatRichText
            .To = ""
            .Subject = "test"
            .HTMLBody = "test"
            For Each xFileDlgItem In xFileDlg.SelectedItems
                .Attachments.Add xFileDlgItem
            Next xFileDlgItem
            .Display
        End With
    End If
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

notlar:

1) satırda .Kime = , lütfen değiştirin kendi alıcınızın e-posta adresiyle;
2) E-posta konusunu ve e-posta gövdesini satırda ayrı ayrı değiştirin .Subject = "test" ve .HTMLBody = "test";
3) İhtiyacınız kadar Cc ve Bcc alıcıları ekleyebilirsiniz. Aşağıdaki iki satırı satırın altına eklemeniz yeterlidir.için = .
.CC = "e-posta adresi"
.BCC = "e-posta adresi"

3. Sonra tıklayın Tools > Referanslar. içinde Referanslar - VBAProject iletişim kutusunu bulun ve kontrol edin. Microsoft Outlook 16.0 Nesne Kitaplığı kutusunu işaretleyin ve ardından OK butonuna basarak değişiklikleri kaydedin.

4. Tuşuna basın. F5 kodu çalıştırmak için anahtar, ardından a Araştır penceresi açılır, lütfen e-postaya eklemeniz gereken dosyaları seçin ve ardından OK.

Ardından bir mesaj penceresi açılır. Ekli alanında seçilen dosyaların ek olarak görüntülendiğini görebilirsiniz.


2.1.2 Mevcut çalışma sayfasını ek olarak e-posta ile gönder

Mevcut çalışma sayfasını Excel'den ek olarak e-posta ile göndermek istiyorsanız, bu bölümde VBA komut dosyasını uygulayabilirsiniz.

1. Tuşuna basın. Ara Toplam + F11 anahtarlar.

2. Açılışta Uygulamalar için Microsoft Visual Basic Pencere, tıklayın eklemek > modül. Ardından aşağıdaki VBA kodunu yapıştırın. Modül (Kod) pencere.

VBA kodu: Geçerli çalışma sayfasını ek olarak e-postayla gönder

Sub SendWorkSheet()
'Update by Extendoffice 20220802
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
ActiveSheet.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte features"
    .Body = "Please check and read this document."
    .Attachments.Add Wb2.FullName
    .Display
    '.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Application.ScreenUpdating = True
End Sub

Notlar:

1) Sırada.için = , lütfen değiştirin gerçek alıcının e-posta adresi ile. Birden fazla e-posta adresine ihtiyacınız varsa, lütfen bunları noktalı virgülle ayırın.
2) E-posta konusunu ve e-posta gövdesini satırda ayrı ayrı değiştirin .Subject = "kte özellikleri" ve .Body = " Lütfen bu belgeyi kontrol edin ve okuyun.";
3) Aşağıdaki iki satırda:
.CC = "e-posta adresi"
.BCC = "e-posta adresi"
cc ve bcc alıcılarını eklemek istiyorsanız, " metnini değiştirin.e” ihtiyacınız olan e-posta adreslerinin olduğu satırlarda.
cc ve bcc alıcılarına ihtiyacınız yoksa, bir kesme işareti eklemeniz yeterlidir. ' her satırdan önce.

3. Tuşuna basın. F5 tuşuna basın, ardından geçerli çalışma sayfası bir Excel çalışma kitabı olarak kaydedilir ve ek olarak bir mesaj penceresine otomatik olarak eklenir. Ekran görüntüsüne bakın:

Not: Yalnızca geçerli çalışma sayfasını içeren ekli çalışma kitabı, özgün çalışma kitabıyla aynı ada sahiptir. Kodu çalıştırdığınız zaman da çalışma kitabı adına eklenir.


2.1.3 Geçerli çalışma kitabını ek olarak e-postayla gönderin

Geçerli çalışma sayfasını Excel'den ek olarak e-postayla göndermek için VBA kodunu öğrendikten sonra, burada tüm çalışma kitabını ek olarak e-postayla göndermenize yardımcı olacak başka bir VBA komut dosyası sunuyoruz. Lütfen aşağıdaki gibi yapın.

1. Tuşuna basın. Ara Toplam + F11 anahtarlar.

2. Açılışta Uygulamalar için Microsoft Visual Basic Pencere, tıklayın Ekle > Modülü. Ardından aşağıdaki VBA kodunu Modül (Kod) penceresine yapıştırın.

VBA kodu: Geçerli çalışma kitabını Excel'den ek olarak e-postayla gönderin

Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

Notlar:

1) satırda .Kime = , lütfen değiştirin gerçek alıcının e-posta adresi ile. Birden fazla e-posta adresine ihtiyacınız varsa, lütfen bunları noktalı virgülle ayırın.
2) E-posta konusunu ve e-posta gövdesini satırda ayrı ayrı değiştirin .Subject = "kte özellikleri" ve .Body = " Lütfen bu belgeyi kontrol edin ve okuyun.";
3) Aşağıdaki iki satırda:
.CC = "e-posta adresi"
.BCC = "e-posta adresi"
cc ve bcc alıcılarını eklemek istiyorsanız, " metnini değiştirin.e” ihtiyacınız olan e-posta adreslerinin olduğu satırlarda.
cc ve bcc alıcılarına ihtiyacınız yoksa, bir kesme işareti eklemeniz yeterlidir. ' her satırdan önce.

3. Tuşuna basın. F5 tuşuna basın, ardından geçerli çalışma kitabı otomatik olarak ek olarak bir ileti penceresine eklenir. Ekran görüntüsüne bakın:


2.1.4 Çalışma kitabının tamamını bir PDF eki olarak e-posta ile gönderin

Çoğu insan, bir Excel çalışma kitabını bir PDF dosyası olarak kaydetme ve ardından onu ek olarak başkalarına gönderme eğilimindedir. Bu bölümde, çalışma kitabını manuel olarak bir PDF dosyası olarak kaydetmeye gerek kalmadan, mevcut açık çalışma kitabını PDF eki olarak Excel'den doğrudan e-posta göndermenin bir yolunu göstereceğim.

1. Tuşuna basın. Ara Toplam + F11 anahtarlar.

2. Açılışta Uygulamalar için Microsoft Visual Basic Pencere, tıklayın Ekle > Modülü. Ardından aşağıdaki VBA kodunu Modül (Kod) penceresine yapıştırın.

VBA kodu: Çalışma kitabının tamamını bir PDF eki olarak e-postayla gönderin

Sub SendWorkBookAsPDF()
'Update 20220803
Dim Wb As Workbook
Dim FilePath As String
Dim FileName As String
Dim xOutApp As Object
Dim xOutMail As Object
On Error Resume Next

Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) - 1)) & Format(Now, "dd-mmm-yy h-mm-ss") & ".pdf"
FilePath = Environ$("temp") & "\" & FileName

Wb.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
    FilePath, Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
    False

Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
With xOutMail
       .To = ""
       .CC = "Email Address"
       .BCC = "Email Address"
       .Subject = "test"
       .Body = "test"
       .Attachments.Add FilePath
       .Display   'or use .Send
   End With
Kill FilePath
Set xOutMail = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub

Notlar:

1) satırda .Kime = , lütfen değiştirin gerçek alıcının e-posta adresi ile. Birden fazla e-posta adresine ihtiyacınız varsa, lütfen bunları noktalı virgülle ayırın.
2) E-posta konusunu ve e-posta gövdesini satırda ayrı ayrı değiştirin .Subject = "test" ve .Body = "test";
3) Aşağıdaki iki satırda:
.CC = "E-posta Adresi"
.BCC = "E-posta Adresi"
cc ve bcc alıcılarını eklemek istiyorsanız, " metnini değiştirin.Eposta Adresi” ihtiyacınız olan e-posta adreslerinin olduğu satırlarda.
cc ve bcc alıcılarına ihtiyacınız yoksa, bir kesme işareti eklemeniz yeterlidir. ' her satırdan önce.
4) PDF dosyasının adı, orijinal çalışma kitabının adıyla aynı olacaktır. Kodu çalıştırdığınız zaman da çalışma kitabı adına eklenecektir. Dosya adına zaman damgası eklemeniz gerekmiyorsa, lütfen kaldırın & Format(Şimdi, "gg-aa-yy s-aa-ss") aşağıdaki satırdan.
DosyaAdı = Sol(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) - 1)) & Format(Şimdi, "gg-aa-yy h-aa-ss") & ".pdf "

3. Tuşuna basın. F5 kodu çalıştırmak için anahtar. Ardından, geçerli çalışma kitabı otomatik olarak yeni bir mesaj penceresine bir PDF dosyası eki olarak eklenir. Ekran görüntüsüne bakın:


2.1.5 Geçerli çalışma sayfasını bir PDF eki olarak e-posta ile gönderin

Örneğin, “Aylık satışlar” adlı bir çalışma kitabı var ve “satış raporu” adlı bir çalışma sayfasındaki satış raporu tablosunu bitirdiniz ve bu çalışma sayfasını PDF dosyası olarak iş arkadaşlarınıza göndermek istiyorsunuz. Aşağıdaki VBA kodu size bir iyilik yapabilir.

1. Tuşuna basın. Ara Toplam + F11 anahtarlar.

2. Açılışta Uygulamalar için Microsoft Visual Basic Pencere, tıklayın eklemek > Modülü. Ardından aşağıdaki VBA kodunu Modül (Kod) penceresine yapıştırın.

VBA kodu: Geçerli çalışma sayfasını bir PDF eki olarak e-postayla gönderin

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .Body = "test"
    .Attachments.Add FileName
    .Display
    '.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

Notlar:

1) satırda .Kime = , lütfen değiştirin gerçek alıcının e-posta adresi ile. Birden fazla e-posta adresine ihtiyacınız varsa, lütfen bunları noktalı virgülle ayırın.
2) E-posta konusunu ve e-posta gövdesini satırda ayrı ayrı değiştirin .Subject = "test" ve .Body = "test";
3) Aşağıdaki iki satırda:
.CC = "E-posta Adresi"
.BCC = "E-posta Adresi"
cc ve bcc alıcılarını eklemek istiyorsanız, " metnini değiştirin.Eposta Adresi” ihtiyacınız olan e-posta adreslerinin olduğu satırlarda.
cc ve bcc alıcılarına ihtiyacınız yoksa, bir kesme işareti eklemeniz yeterlidir. ' her satırdan önce.
4) PDF dosyasının adı şöyle olacaktır: orijinal çalışma kitabının adı_orijinal çalışma sayfasının adı. Bu durumda, PDF'nin adı Aylık satış_satış raporu olacaktır.

3. Tuşuna basın. F5 kodu çalıştırmak için anahtar. Ardından, geçerli çalışma sayfası otomatik olarak yeni bir mesaj penceresine bir PDF dosyası eki olarak eklenir. Ekran görüntüsüne bakın:


2.2 Excel'den gönderilen e-postalara Outlook imzası ekleyin

Yukarıdaki durumu örnek olarak alın, mevcut çalışma sayfasını Excel'den bir PDF dosyası eki olarak göndermek için yukarıdaki VBA kodunu uygularsınız, ancak mesaj penceresine Outlook imzası eklenemez. Excel'den gönderilen e-postada Outlook varsayılan imzasını korumak için aşağıdaki yöntem yardımcı olacaktır.

İki VBA kodu aşağıda listelenmiştir.

VBA kodu 1: Kod, Outlook imzasını korumaya yardımcı olur.

VBA kodu 2: Kod, geçerli çalışma sayfasını bir PDF eki olarak e-postayla göndermeye yardımcı olur.

VBA kodu 1: Outlook imzasını koru

.HTMLBody = "Email body" & "
" & .HTMLBody

VBA kodu 2: Geçerli çalışma sayfasını PDF eki olarak e-postayla gönder

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .Body = "test"
    .Attachments.Add FileName
    .Display
    '.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

1. Normalde, düğmesine basmanız gerekir. Ara Toplam + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic pencere.

2. içinde Uygulamalar için Microsoft Visual Basic Pencere, tıklayın Ekle > modül. Ardından yukarıdaki VBA kodu 2'yi Modül (Kod) penceresine yapıştırın.

3. Excel'den gönderilen e-postada Outlook varsayılan imzasını korumak için VBA kodu 2'yi aşağıdaki gibi değiştirmeniz gerekir:

1) Değiştirin .Vücut ile çizgi VBA kodu 1;
2) Çizgiyi taşı .Görüntüle çizginin altında OutlookMail ile (veya diğer kodlarda xMailOut ile). Ekran görüntüsüne bakın:

İşte değişiklikten sonra tam kod.

Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .Display
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "test"
    .HTMLBody = "Email body" & "
" & .HTMLBody .Attachments.Add FileName '.Send End With Kill FileName Set OutlookMail = Nothing Set OutlookApp = Nothing End Sub

4. Tuşuna basın. F5 kodu çalıştırmak için anahtar. Ardından, mevcut çalışma sayfasının PDF dosyası olarak eklendiği yeni bir mesaj penceresi göreceksiniz, Outlook varsayılan imzası ise e-posta gövdesinin sonuna otomatik olarak eklenecektir.


3. Bir koşul karşılandığında Excel'den otomatik olarak e-posta gönderin (VBA komut dosyalarıyla)

Yukarıdaki örneklerde, e-posta teslimini gerçekleştirmek için kodu manuel olarak çalıştırmanız gerekir. Bir hücre belirli bir değere ulaştığında, bir hücrenin değeri değiştiğinde, bir tarihe ulaşıldığında vb. belirli bir koşul karşılandığında kodu otomatik olarak tetiklemek isterseniz, e-posta otomatik olarak gönderilir. Bu bölüm, belirli bir koşul karşılandığında Excel'den otomatik olarak e-posta göndermenize yardımcı olmak için Excel kullanıcılarının Google'da sıklıkla aradığı koşulları listeler.

3.1 Hücre belirli bir değere ulaştığında otomatik olarak e-posta gönder

Aşağıdaki ekran görüntüsünde gösterildiği gibi, satış toplamını içeren D6 hücreli bir satış tablonuz olduğunu varsayalım. Satış toplamına göre patronunuza otomatik olarak bir e-posta göndermek istiyorsunuz, örneğin satış toplamı 10000'i aştığında otomatik olarak bir e-posta oluşturun veya gönderin, ancak satış toplamı 10000'e eşit veya daha az ise herhangi bir işlem yapılmaz.

1. Satış tablosunu içeren çalışma sayfasında, sayfa sekmesine sağ tıklayın ve Kodu görüntüle sağ tıklama menüsünden.

2. Açılışta Uygulamalar için Microsoft Visual Basic penceresinde aşağıdaki VBA kodunu yapıştırın. Sayfa (Kod) pencere.

VBA kodu: Excel'de bir hücre belirli bir değere ulaştığında otomatik olarak bir e-posta gönderin

Dim xRg As Range
'Update by Extendoffice 20200803
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells.Count > 1 Then Exit Sub
Set xRg = Intersect(Range("D6"), Target)
If xRg Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value > 10000 Then
Call Mail_small_Text_Outlook
End If
End Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
On Error Resume Next
With xOutMail
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "test"
.Body = xMailBody
.Display 'or use .Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub

Private Sub Worksheet_Calculate()
Dim xI As Integer
Dim xRg As Range
Set xRg = Range("D6")
On Error GoTo Err01
xI = Int(xRg.Value)
If xI > 10000 Then
Call Mail_small_Text_Outlook
End If
Err01:
End Sub

notlar:

1) D6 değerine göre e-posta göndereceğiniz hücredir.
2) > 10000 D6'daki değer 10000'den büyük olduğunda bir e-posta gönderileceği anlamına gelen durumdur.
3) Aralık(“D6”) aşağıdaki satırda, e-posta gövdesinin D6'daki değere başvuracağı anlamına gelir.
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
4) satırda .Kime = , lütfen değiştirin gerçek alıcının e-posta adresi ile. Birden fazla e-posta adresine ihtiyacınız varsa, lütfen bunları noktalı virgülle ayırın.
5) Satırdaki e-posta konusunu değiştirin .Subject = "test".
6) Aşağıdaki iki satırda:
.CC = "E-posta Adresi"
.BCC = "E-posta Adresi"
cc ve bcc alıcılarını eklemek istiyorsanız, " metnini değiştirin.Eposta Adresi” ihtiyacınız olan e-posta adreslerinin olduğu satırlarda.
cc ve bcc alıcılarına ihtiyacınız yoksa, bir kesme işareti eklemeniz yeterlidir. ' her satırdan önce.

Şu andan itibaren D6 hücresindeki değer 10000'i aştığında aşağıdaki ekran görüntüsünde gösterildiği gibi bir e-posta oluşturulacaktır.


3.2 Hücre değeri değiştiğinde otomatik olarak e-posta gönder

Aşağıdaki ekran görüntüsünde gösterildiği gibi, farklı çalışma sayfalarında aylık satışları ve bir çalışma sayfasında satış toplamını içeren bir çalışma kitabı aldığınızı varsayalım. Satış toplamını doğrulamanız ve satış toplamı değiştirilirse çalışma kitabını gönderene geri göndermeniz ve göndericiye hücrenin değiştirildiğini bildirmeniz gerekir.

1. Satış tablosunu içeren çalışma sayfasında, sayfa sekmesine sağ tıklayın ve Kodu görüntüle sağ tıklama menüsünden.

2. Açılışta Uygulamalar için Microsoft Visual Basic penceresinde, aşağıdaki VBA kodunu Sayfa (Kod) penceresine yapıştırın.

VBA kodu: Belirtilen hücre değeri değiştiğinde otomatik olarak bir e-posta gönder

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220803
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
Dim xBoolean As Boolean
Dim xItsRG As Range
Dim xDDs As Range
Dim xDs As Range
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xBoolean = False
Set xRg = Range("B14")

Set xItsRG = Intersect(Target, xRg)
Set xDDs = Intersect(Target.DirectDependents, xRg)
Set xDs = Intersect(Target.Dependents, xRg)
If Not (xItsRG Is Nothing) Then
Set xRgSel = xItsRG
xBoolean = True
ElseIf Not (xDDs Is Nothing) Then
Set xRgSel = xDDs
xBoolean = True
ElseIf Not (xDs Is Nothing) Then
Set xRgSel = xDs
xBoolean = True
End If

ActiveWorkbook.Save
If xBoolean Then
Debug.Print xRgSel.Address

Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "The cell " & xRgSel.Address(False, False) & _
" in the worksheet '" & Me.Name & "' were modified on " & _
Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
" by " & Environ$("username") & "."

With xMailItem
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "Worksheet modified"
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

notlar: Kodda,

1) B14 kodda, B14 hücresinin değeri değiştiğinde bir e-posta göndereceğiniz anlamına gelir.
2) satırda .Kime = , lütfen değiştirin gerçek alıcının e-posta adresi ile. Birden fazla e-posta adresine ihtiyacınız varsa, lütfen bunları noktalı virgülle ayırın.
3) Satırdaki e-posta konusunu değiştirin .Subject = "Çalışma sayfası değiştirildi".
4) Aşağıdaki iki satırda:
.CC = "E-posta Adresi"
.BCC = "E-posta Adresi"
cc ve bcc alıcılarını eklemek istiyorsanız, " metnini değiştirin.Eposta Adresi” ihtiyacınız olan e-posta adreslerinin olduğu satırlarda.
cc ve bcc alıcılarına ihtiyacınız yoksa, bir kesme işareti eklemeniz yeterlidir. ' her satırdan önce.

Şu andan itibaren, B14 hücresindeki değer değiştiğinde, aşağıdaki ekran görüntüsünde gösterildiği gibi otomatik olarak bir Outlook mesajı oluşturulacaktır.


3.3 Bir çalışma kitabı kaydedildiğinde otomatik olarak e-posta gönder

Değiştirdikten sonra başkalarıyla paylaşılması gereken bir çalışma kitabınız varsa, normalde çalışma kitabını kaydetmeniz, e-posta istemcisini başlatmanız, bu çalışma kitabının ekli olduğu yeni bir e-posta oluşturmanız, ilgili alanları oluşturmanız ve ardından e-postayı göndermeniz gerekir. Bu bölüm, çalışma kitabını her kaydettiğinizde otomatik olarak bir e-posta oluşturma yöntemini gösterecektir. Lütfen aşağıdaki gibi yapın.

1. Tuşuna basın. Ara Toplam + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic pencere.

2. Bu pencerede çift tıklayın Bu Çalışma Kitabı içinde Proje bölmesi, ardından aşağıdaki VBA kodunu yapıştırın. Bu Çalışma Kitabı (Kod) pencere.

VBA kodu: Bir çalışma kitabı kaydedildiğinde otomatik olarak bir e-posta gönderin

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
'Updated by Extendoffice 20220804
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xName As String
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailItem = xOutApp.CreateItem(0)
    xName = ActiveWorkbook.FullName
    With xMailItem
        .To = ""
        .CC = "Email address"
        .BCC = "Email address"
        .Subject = "The workbook has been updated"
        .Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
        .Attachments.Add xName
        .Display
       '.send
    End With
    Set xMailItem = Nothing
    Set xOutApp = Nothing
End Sub

notlar: Kodda,

1) satırda .Kime = , lütfen değiştirin gerçek alıcının e-posta adresi ile. Birden fazla e-posta adresine ihtiyacınız varsa, lütfen bunları noktalı virgülle ayırın.
2) E-posta konusunu ve gövdesini satırlarda ayrı ayrı değiştirin .Subject = "Çalışma kitabı güncellendi" ve .Body = "Merhaba" & Chr(13) & Chr(13) & "Dosya şimdi güncellendi.".
3) Aşağıdaki iki satırda:
.CC = "E-posta Adresi"
.BCC = "E-posta Adresi"
cc ve bcc alıcılarını eklemek istiyorsanız, " metnini değiştirin.Eposta Adresi” ihtiyacınız olan e-posta adreslerinin olduğu satırlarda.
cc ve bcc alıcılarına ihtiyacınız yoksa, bir kesme işareti eklemeniz yeterlidir. ' her satırdan önce.

3. Şu andan itibaren, çalışma kitabını kaydederken Ctrl + S tuşlarına tıklayarak veya İndirim düğmesini tıkladığınızda, otomatik olarak bir Outlook e-postası oluşturulacaktır. Geçerli çalışma kitabının ek olarak eklendiğini ve alanların belirtilen içerikle doldurulduğunu görebilirsiniz. Ekran görüntüsüne bakın:

İpuçları: Bu çalışma kitabını sık kullanıyorsanız, burada çalışma kitabını bir çalışma kitabı olarak kaydetmenizi öneririz. Excel Makro Etkin Çalışma Kitabı VBA komut dosyasını gelecekte kullanmak üzere kaydetmek için. Adımlar aşağıdaki gibidir.

1) Tıklayın fileto > Farklı Kaydetve ardından dosyayı kaydetmek için bir klasör seçin.
2) içinde Farklı Kaydet iletişim kutusunda dosyayı istediğiniz gibi yeniden adlandırın. dosya adı metin kutusu, seç Excel Makro Etkin Çalışma Kitabı içinde Kayıt türü açılır listeyi ve son olarak İndirim buton. Ekran görüntüsüne bakın:


3.4 Belirli bir zamanda otomatik olarak bir e-posta gönderin

Birine görev atama çalışma kitabı içeren bir e-posta göndermeniz gerektiğini varsayalım. her Cuma sabahı saat 9'dave bunu e-posta istemcisini manuel olarak çalıştırmak zorunda kalmadan Excel'de otomatik olarak yapmak istiyorsanız. Bu bölüm size bunu yapmanın yöntemini gösterecektir.

1. Tuşuna basın. Ara Toplam + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic pencere.

2. içinde Uygulamalar için Microsoft Visual Basic Pencere, tıklayın Ekle > Modülü. Ardından aşağıdaki VBA kodunu Modül penceresine yapıştırın.

VBA code1 : Geçerli çalışma kitabını Excel'den ek olarak e-postayla gönder

Sub Timer()
    If Weekday(Date) = vbFriday Then
        SendWorkBook
        Application.OnTime TimeValue("09:00:00"), "Timer"
    Else
        Application.OnTime TimeValue("09:00:00"), "Timer"
    End If
End Sub

Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

3. Bu pencerede çift tıklayın Bu Çalışma Kitabı içinde Proje bölmesi, ardından aşağıdaki VBA kodunu yapıştırın. Bu Çalışma Kitabı (Kod) pencere.

VBA kodu 2: Belirli bir zamanda otomatik olarak bir e-posta gönderin

Private Sub Workbook_Open()
    Application.OnTime TimeValue("09:00:00"), "Timer"
End Sub

notlar:

1) VBA kodu 1'de, Cuma aşağıdaki satır, e-postanın her Cuma otomatik olarak gönderileceği anlamına gelir;
Eğer Weekday(Date) = vbFriday ise
2) VBA kodu 1 ve VBA kodu 2'de saat 09:00:00 e-postanın belirli bir gün sabah 9'da gönderileceği anlamına gelir.
Günü ve saati istediğiniz gibi değiştirebilirsiniz.
3) Kod çalıştığında bir e-posta oluşturulacaktır. Mesaj penceresini açmak istemiyorsanız ve doğrudan göndermeniz gerekiyorsa, lütfen satırı kaldırın. .Görüntüle VBA kodu 1'den kaldırın ve apostrof çizgiden önce '.Göndermek.

4. Kodları kaydedin ve ardından çalışma kitabını aşağıdaki gibi bir Excel makrosu etkin çalışma kitabı olarak kaydedin.

4.1) Tıklayın fileto > Farklı Kaydetve ardından dosyayı kaydetmek için bir klasör seçin.
4.2) içinde Farklı Kaydet iletişim kutusunda dosyayı istediğiniz gibi yeniden adlandırın. dosya adı metin kutusu, seç Excel Makro Etkin Çalışma Kitabı içinde Kayıt türü açılır listeyi ve son olarak İndirim buton. Ekran görüntüsüne bakın:

5. Kaydedilmiş makro etkin çalışma kitabınızı açın, ardından gün ve saat geldiğinde otomatik olarak bir e-posta oluşturulacak veya gönderilecektir.


4. Ek konular

Bu bölüm, Excel'den e-posta gönderirken karşılaşabileceğiniz diğer konuları toplar.

4.1 Excel'den bir dizi hücreyi e-postayla gönderme (VBA komut dosyasıyla)

Aşağıdaki ekran görüntüsünde gösterildiği gibi bir Excel çalışma sayfasında aylık satış tablosu olduğunu ve bu aylık satış tablosunu bir e-postanın gövde içeriği veya doğrudan ek olarak başkalarına göndermeniz gerektiğini varsayalım. Burada bunu yapmak için size iki yöntem sunuyoruz.

4.1.1 Excel'den gövde içeriğinin bir parçası olarak bir aralığı e-posta ile gönderin

Excel'den e-posta gövdesi içeriğinin bir parçası olarak bir dizi hücre göndermek için aşağıdaki VBA kodunu çalıştırabilirsiniz.

1. Tuşuna basın. Ara Toplam + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic pencere.

2. içinde Uygulamalar için Microsoft Visual Basic Pencere, tıklayın Tools > Referanslar. Ve sonra kontrol edin Microsoft Outlook 16.0 Nesne Kitaplığı kutu ve tıklayın OK içinde Referanslar - VBAProject iletişim kutusu.

3. tık Ekle > modül, ardından aşağıdaki VBA kodunu yapıştırın. Modül (Kod) pencere.

VBA kodu: Excel'den e-posta gövdesi içeriğinin bir parçası olarak bir dizi hücre gönderin

Sub SendARangeofCells()
'Updated by Extendoffice 20220809
    Dim xRg As Range
    Dim I, J As Long
    Dim xAddress As String
    Dim xMailOut As Object
    Dim xOutApp As Object
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select range you need to paste into email body", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xMailOut = xOutApp.CreateItem(olMailItem)
    With xMailOut
        .Subject = "test"
        .To = ""
        .CC = "Email address"
        .BCC = "Email address"
        .HTMLBody = RangetoHTML(xRg)
        .Display
        '.Send
    End With
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

 ' The following VBA script is cited from this page:
 ' https://stackoverflow.com/questions/18663127/paste-excel-range-in-outlook
Function RangetoHTML(rng As Range)
' By Ron de Bruin.
    Dim fso As Object
    Dim ts As Object
    Dim TempFile As String
    Dim TempWB As Workbook

    TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"

    'Copy the range and create a new workbook to past the data in
    rng.Copy
    Set TempWB = Workbooks.Add(1)
    With TempWB.Sheets(1)
        .Cells(1).PasteSpecial Paste:=8
        .Cells(1).PasteSpecial xlPasteValues, , False, False
        .Cells(1).PasteSpecial xlPasteFormats, , False, False
        .Cells(1).Select
        Application.CutCopyMode = False
        On Error Resume Next
        .DrawingObjects.Visible = True
        .DrawingObjects.Delete
        On Error GoTo 0
    End With

    'Publish the sheet to a htm file
    With TempWB.PublishObjects.Add( _
         SourceType:=xlSourceRange, _
         Filename:=TempFile, _
         Sheet:=TempWB.Sheets(1).Name, _
         Source:=TempWB.Sheets(1).UsedRange.Address, _
         HtmlType:=xlHtmlStatic)
        .Publish (True)
    End With

    'Read all data from the htm file into RangetoHTML
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    RangetoHTML = ts.ReadAll
    ts.Close
    RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
                          "align=left x:publishsource=")

    'Close TempWB
    TempWB.Close savechanges:=False

    'Delete the htm file we used in this function
    Kill TempFile

    Set ts = Nothing
    Set fso = Nothing
    Set TempWB = Nothing
End Function

notlar: Kodda,

1) satırda .Kime = , lütfen değiştirin gerçek alıcının e-posta adresi ile. Birden fazla e-posta adresine ihtiyacınız varsa, lütfen bunları noktalı virgülle ayırın.
2) Aşağıdaki iki satırda:
.CC = "E-posta Adresi"
.BCC = "E-posta Adresi"
cc ve bcc alıcılarını eklemek istiyorsanız, " metnini değiştirin.Eposta Adresi” ihtiyacınız olan e-posta adreslerinin olduğu satırlarda.
cc ve bcc alıcılarına ihtiyacınız yoksa, bir kesme işareti eklemeniz yeterlidir. ' her satırdan önce.

4. Tuşuna basın. F5 kodu çalıştırmak için anahtar. Açılan içinde Kutools for Excel iletişim kutusunda, bir e-posta gövdesi içeriğinin parçası olarak göndermeniz gereken hücre aralığını seçin ve ardından OK. Ekran görüntüsüne bakın:

Ardından otomatik olarak bir Outlook e-postası oluşturulacaktır. Çalışma sayfasında seçtiğiniz aralığın e-posta gövdesine eklendiğini görebilirsiniz. Ekran görüntüsüne bakın:


4.1.2 Bir aralığı Excel'den ek olarak e-postayla gönderme

Bir çalışma sayfasındaki bir dizi hücreyi Excel'den ek olarak e-postayla göndermeniz gerekiyorsa. Aşağıdaki VBA kodunu deneyebilirsiniz.

1. Tuşuna basın. Ara Toplam + F11 anahtarlar.

2. Açılışta Uygulamalar için Microsoft Visual Basic Pencere, tıklayın Ekle > modül. Ardından aşağıdaki VBA kodunu yapıştırın. Modül (Kod) pencere.

VBA kodu: Bir aralığı Excel'den ek olarak e-postayla gönderin

Sub SendRange()
'Update 20220809
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = ""
    .CC = "Email address"
    .BCC = "Email address"
    .Subject = "Monthly sales for 2021"
    .Body = "Hello, please check and read this document. "
    .Attachments.Add Wb2.FullName
    .Display
    '.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

notlar:

1) satırda .Kime = , lütfen değiştirin gerçek alıcının e-posta adresi ile. Birden fazla e-posta adresine ihtiyacınız varsa, lütfen bunları noktalı virgülle ayırın.
2) E-posta konusunu ve e-posta gövdesini satırda ayrı ayrı değiştirin .Subject = "2021 için aylık satışlar" ve .Body = "Merhaba, lütfen bu belgeyi kontrol edin ve okuyun.";
3) Aşağıdaki iki satırda:
.CC = "e-posta adresi"
.BCC = "e-posta adresi"
cc ve bcc alıcılarını eklemek istiyorsanız, " metnini değiştirin.e” ihtiyacınız olan e-posta adreslerinin olduğu satırlarda.
cc ve bcc alıcılarına ihtiyacınız yoksa, bir kesme işareti eklemeniz yeterlidir. ' her satırdan önce.

3. Tuşuna basın. F5 kodu çalıştırmak için anahtar. Açılan içinde Kutools for Excel iletişim kutusunda, bir e-postada ek olarak göndermeniz gereken hücre aralığını seçin ve ardından OK. Ekran görüntüsüne bakın:

Ardından otomatik olarak bir Outlook e-postası oluşturulacaktır. Ve çalışma sayfasında seçtiğiniz hücre aralığı bir Excel çalışma kitabı olarak kaydedilir ve Mesaj penceresine eklenir. Ekran görüntüsüne bakın:


4.2 Excel'de bir düğmeye tıklandığında e-posta gönder

Örneğin, Excel'den bir e-posta göndermek üzere bir makroyu tetiklemek üzere bir komut düğmesine tıklamanız gerekiyorsa, çalışma sayfasındaki bir komut düğmesini tıklatarak geçerli çalışma kitabını ek olarak başkalarına gönderin. Bunu yapmak için aşağıdaki adımları takip edebilirsiniz.

1. tık Geliştirici > Ekle > Komut Düğmesi (ActiveX Kontrolü). Ardından çalışma sayfasına bir komut düğmesi çizin.

İpuçları: Zaten bir komut düğmeniz varsa, bu adımı atlayın.

2. Tuşuna basın. Ara Toplam + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic pencere. Pencerede tıklayın Ekle > Modu, ardından VBA kodunu (geçerli çalışma kitabını Excel'den ek olarak e-postayla göndermek için kullanılan kod) Modül (Kod) penceresine yapıştırın.

Kodu almak için buraya tıklayın.

not: Adım 2'de oluşturduğunuz makronun adı buradadır. GönderÇalışma Kitabı.

3. Tuşuna basın. Ara Toplam + Q kapatmak için anahtarlar Uygulamalar için Microsoft Visual Basic pencere.

4. Şimdi makroyu komut düğmesine atamanız gerekiyor. Komut düğmesine sağ tıklayın, seçin Kodu Görüntüle sağ tıklama menüsünden.

5. Sonra Uygulamalar için Microsoft Visual Basic penceresi açılır, aşağıdaki iki satırın listelendiğini görebilirsiniz. Sayfa (Kod) pencere.

Private Sub CommandButton1_Click()
End Sub

6. Komut düğmesinin alt prosedürüne mevcut makronun adını girin.

7. Tuşuna basın. Ara Toplam + Q kapatmak için anahtarlar Visual Basic DüzenleyicisiVe tıklama Geliştirici > Tasarım Modu Tasarım modunu kapatmak için

Artık mevcut çalışma kitabını e-postada ek olarak içeren bir e-posta göndermek için komut düğmesini tıklayabilirsiniz.


4.3 Belirli bir e-posta hesabından e-posta gönder

Normalde, Excel'den VBA koduyla bir e-posta başlatırken, gönderenin e-posta hesabı Outlook'ta varsayılan hesaptır. Outlook'unuzda birkaç e-posta hesabı yapılandırdığınızı ve e-postaları varsayılan hesap yerine Excel'den göndermek için belirli bir hesabı kullanmak istediğinizi varsayalım. Aşağıdaki VBA kodu yardımcı olabilir.

Bu durumda aşağıdaki kodlar gereklidir.

VBA kodu 1:

Dim OutlookMail As Outlook.MailItem

VBA kodu 2:

For Each xAccount In OutlookApp.Session.Accounts
  If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("") Then 'Specify your email account here
    OutlookMail.SendUsingAccount = xAccount
  End If
Next

Yukarıdaki VBA kodu nasıl kullanılır?

1) Kendi kodunuzda, “ gibi satırı değiştirmeniz gerekir.OutlookMail'i Nesne Olarak Karartın” VBA kodu 1 ile;
2) VBA kodunu 2 satırının altına ekleyin “On Error Resume Next” kodunuzda. Ardından, e-postayı VBA kodu 2'de göndermek için kullanacağınız e-posta adresini belirtin.

Bu örnekte, mevcut çalışma kitabını Excel'den ek olarak göndermek için belirli bir e-posta hesabı belirleyeceğiz. Lütfen aşağıdaki gibi yapın.

1. Tuşuna basın. Ara Toplam + F11 anahtarlar. İçinde Uygulamalar için Microsoft Visual Basic Pencere, tıklayın Tools > Referanslar. Ve sonra kontrol edin Microsoft Outlook 16.0 Nesne Kitaplığı kutu ve tıklayın OK içinde Referanslar - VBAProject iletişim kutusu.

2. tık Ekle > modül. Ardından aşağıdaki VBA kodunu yapıştırın. Modül (Kod) pencere.

VBA kodu: Geçerli çalışma kitabını belirli bir Outlook hesabı aracılığıyla Excel'den bir e-posta eki olarak gönderin

Sub SendWorkBook()
'Update by Extendoffice 20220809
Dim OutlookApp As Object
Dim OutlookMail As Outlook.MailItem 'important! Here can’t be declared as Object
Dim xAccount As Account
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(olMailItem)
On Error Resume Next
'The following lines helps to specify a certian email account
For Each xAccount In OutlookApp.Session.Accounts
  If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("") Then 'Specify your email account here
    OutlookMail.SendUsingAccount = xAccount
  End If
Next
'End
With OutlookMail
    .To = ""
    .CC = "Email Address"
    .BCC = "Email Address"
    .Subject = "kte feature"
    .Body = "Hello, please check and read this document, thank you."
    .Attachments.Add Application.ActiveWorkbook.FullName
    .Display
    '.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

3. Tuşuna basın. F5 kodu çalıştırmak için anahtar. Ardından bir Outlook e-posta mesajı açılır, Konum alan, kodda belirttiğiniz e-posta hesabıyla doldurulur.


4.4 Bir tarihe ulaşıldığında bir e-posta gönderin

Örneğin aşağıdaki ekran görüntüsünde gösterildiği gibi belirli bir son tarihe göre bir e-posta göndermeniz gerekiyorsa, bir proje tablosu var, E2:E7 aralığındaki vade tarihi bugünden itibaren 7 güne eşit veya bundan daha az olduğunda (geçerli tarihin 2022/8/4 olduğu varsayılarak), ilgili proje liderlerine otomatik olarak bir e-posta gönderilecek ve projenin süresinin dolmak üzere olduğunu bildirecektir.

1. Çalışma sayfasında proje tablosu bulunur, sayfa sekmesine sağ tıklayın ve Kodu görüntüle sağ tıklama menüsünden.

2. Açılışta Uygulamalar için Microsoft Visual Basic penceresinde aşağıdaki VBA kodunu yapıştırın. Sayfa (Kod) pencere.

VBA kodu: Bir son tarih karşılandığında otomatik olarak bir e-posta gönderin

Public Sub SendMailDueDate()
'Updated by Extendoffice 20220804
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Range("E2:E7") 'Please reference the due date column range
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Range("C2:C7") 'Please reference the email addresses column range
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Range("D2:D7") 'Please reference the remark column range (the remark used to notify project leaders of the expiration of the project)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.Count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "

" xMailBody = "" xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf xMailBody = xMailBody & "Remark : " & xRgText.Offset(i - 1).Value & vbCrLf xMailBody = xMailBody & "" Set xMailItem = xOutApp.CreateItem(0) With xMailItem .Subject = xMailSubject .To = xRgSendVal .CC = "Email address" .BCC = "Email address" .HTMLBody = xMailBody .Display '.Send End With Set xMailItem = Nothing End If End If Next Set xOutApp = Nothing End Sub

notlar: Kodda,

1) Aşağıdaki satırlarda, E2: E7 e-postaları temel alarak göndereceğiniz son tarihleri ​​içerir. C2: C7 e-posta göndereceğiniz e-posta adreslerini içerir. Ve D2: D7 alıcılara projenin süresinin dolmak üzere olduğunu bildirmek için e-posta gövdesine ekleyeceğiniz açıklamaları içerir. Aralıkları istediğiniz gibi değiştirebilirsiniz.
xRgDate = Aralık ("E2:E7") olarak ayarla
xRgSend = Aralık ("C2:C7") olarak ayarla
xRgText = Aralık ("D2:D7") olarak ayarla
2) Aşağıdaki satır, vade tarihinin 1 günden büyük ve bugünden itibaren 7 güne eşit veya daha az olması gerektiği anlamına gelir. İhtiyacınıza göre değiştirebilirsiniz.
Eğer CDate(xRgDateVal) - Tarih <= 7 Ve CDate(xRgDateVal) - Tarih > 0 O zaman
3) satırda .Kime = , lütfen değiştirin gerçek alıcının e-posta adresi ile. Birden fazla e-posta adresine ihtiyacınız varsa, lütfen bunları noktalı virgülle ayırın.
4) Satırdaki e-posta konusunu değiştirin .Subject = "Çalışma sayfası değiştirildi".
5) Aşağıdaki iki satırda:
.CC = "E-posta Adresi"
.BCC = "E-posta Adresi"
cc ve bcc alıcılarını eklemek istiyorsanız, " metnini değiştirin.Eposta Adresi” ihtiyacınız olan e-posta adreslerinin olduğu satırlarda.
cc ve bcc alıcılarına ihtiyacınız yoksa, bir kesme işareti eklemeniz yeterlidir. ' her satırdan önce.

3. Tuşuna basın. F5 kodu çalıştırmak için anahtar. Ardından, son kullanma tarihi koşullarla eşleşirse ilgili e-posta oluşturulur. Bu durumda, aşağıdaki ekran görüntüsünde gösterildiği gibi iki e-posta oluşturulacaktır.


5. Excel'den kolayca e-posta göndermenize yardımcı olacak kullanışlı bir araç

Bir VBA acemi iseniz, yukarıdaki yöntemler sizin için kolay olmayabilir. Burada tavsiye ediyoruz Kutools for Excel'S Mailleri gönder özelliği, bu özellik sayesinde yalnızca birkaç tıklama ile Excel'den kolayca e-posta gönderebilirsiniz. Lütfen aşağıdaki gibi yapın.

Başvurmadan önce Kutools for ExcelLütfen önce indirin ve kurun.

5.1 İhtiyacınız olan e-posta alanlarını içeren bir posta listesini kolayca oluşturun

E-posta Gönder özelliğini uygulamadan önce, ihtiyacınız olan e-posta alanlarını içeren bir posta listesi oluşturmanız gerekir. Burada Posta Listesi Oluştur özelliği yardımcı olabilir.

1. tık Kutools Artı > Posta Listesi Oluşturun.

2. Açılışta Posta Listesi Oluşturun penceresinde aşağıdaki gibi yapılandırmanız gerekir.

2.1) içinde Posta listesi için sütunlar bölümünde, e-postanızda ihtiyacınız olan alanları kontrol edin;
2.2) içinde Dosyaları ekle bölümünde, ihtiyacınız olabilecek bir veya daha fazla eki kontrol edin;
2.3) Posta listesini yerleştirmek için bir konum belirtin;
2.4) oluşturmak buton. Ekran görüntüsüne bakın:

Daha sonra aşağıdaki ekran görüntüsünde gösterildiği gibi örnek bir mail listesi tablosu oluşturulur.

3. Şimdi örnekteki orijinal verileri kendi saha verilerinizle değiştirmeniz gerekiyor.

Artık bir posta listesi tablosu oluşturdunuz. Lütfen uygulamak için devam edin Mailleri gönder Oluşturduğunuz alanlara göre Excel'den e-posta gönderme özelliği.

  Bu yardımcı programın ücretsiz denemesine (30 günlük) sahip olmak istiyorsanız, indirmek için lütfen tıklayınızve ardından yukarıdaki adımlara göre işlemi uygulamaya gidin.


5.2 Posta listesinde oluşturduğunuz alanlar da dahil olmak üzere e-postaları kolayca gönderin

Posta listesini oluşturduktan sonra (nasıl olduğunu öğrenmek için tıklayın) e-postalarınızda ihtiyaç duyabileceğiniz alanları içeriyor, artık bu alanlar ile Excel'den e-posta gönderebilirsiniz.

1. Tüm posta listesini seçin, Kutools Artı > Mailleri gönder.

2. içinde Mailleri gönder iletişim kutusunda, lütfen aşağıdaki yapılandırmayı yapın.

2.1) Alanlar, posta listesinde belirttiğiniz alanlar tarafından otomatik olarak her alanın iletişim kutusuna doldurulur;
İpuçları: Şu anda belirli bir alana ihtiyacınız yoksa, açılır listeden boş bir seçenek belirleyin.
2.2) Yer Tutucu Ekle (isteğe bağlı): Bir e-posta gövdesine değişken bilgiler eklemeniz gerekiyorsa.
Örneğin, birden fazla alıcıya her biri için kişiselleştirilmiş bir adla bir e-posta göndermeniz gerekebilir, imleci e-posta gövdesine yer tutucuyu eklemeniz gereken yere yerleştirmeniz gerekir, alanı seçin "E: Adı” (veya e-posta listenizdeki başka bir ad alanı) ve ardından Ekle'yi tıklayın. Yer Tutucu düğmesi;
Alıcılar e-postayı aldığında, e-posta gövdesi aynı kalır, ancak adlar her biri için benzersizdir.
2.3) E-posta gövdesini ihtiyaç duyduğunuz şekilde oluşturun;
2.4) Outlook aracılığıyla e-posta gönderin kutu işaretlidir;
2.5) Gönder buton. Ekran görüntüsüne bakın:

3. Sonra a Kutools for Excel kaç e-posta gönderildiğini söylemek için iletişim kutusu açılır, OK Bu iletişim kutusunu kapatmak için düğmesine basın.

İpuçları: Şuraya gidebilirsiniz Eşya gönder Gönderdiğiniz e-postaları kontrol etmek için Outlook'unuzdaki klasör.


5.3 HTML gövdesiyle (köprü, resim vb. dahil) e-postaları kolayca gönderin.

Bu E-posta Gönder özelliği, köprü, resim, farklı yazı tipi boyutları ve yazı tipi renkleri vb. içeren bir html e-postası oluşturmanıza olanak tanır.

Sonra ihtiyacınız olan e-posta alanlarını içeren bir posta listesi oluşturma,

Ne zaman E-posta Gönder iletişim kutusunu yapılandırın, araç çubuğundaki seçenekleri kullanarak gövde içeriğini zenginleştirebilirsiniz.

Aşağıdaki ekran görüntüsüne bakın:


5.4 E-posta gönderirken Outlook varsayılan imzasını kolayca ekleyin

Yukarıdaki yöntemde, Outlook varsayılan imzasıyla e-posta göndermenize yardımcı olacak bir VBA kodu gösterdik. Burada E-posta Gönder özelliği ile bir seçeneği işaretlemeniz yeterlidir, ardından Excel'den gönderdiğiniz e-postalara Outlook varsayılan imzası eklenecektir.

Sonra ihtiyacınız olan e-posta alanlarını içeren bir posta listesi oluşturma,

Ne zaman E-posta Gönder iletişim kutusunu yapılandırın, tıklaman gerekiyor Opsiyonlar > Outlook'un imza ayarlarını kullanın.

not: Lütfen Outlook'un imza ayarlarını kullan seçeneğinden önce bir onay işaretinin görüntülendiğinden emin olun.

Alıcılar e-postayı aldıklarında, e-posta gövdesinin sonunda görüntülenen Outlook varsayılan imzasını görebilirler.


5.5 Belirli bir e-posta hesabından kolayca e-posta gönderin

E-postaları Excel'den göndermek için varsayılan hesabı kullanmak yerine belirli bir e-posta hesabını kullanmak için, E-posta Gönder özelliği de bunun kolayca yapılmasına yardımcı olabilir.

Sonra ihtiyacınız olan e-posta alanlarını içeren bir posta listesi oluşturma,

Ne zaman E-posta Gönder iletişim kutusunu yapılandırın, tıklaman gerekiyor Opsiyonlar > Den gönderildi, ardından e-posta göndermeniz gereken e-posta hesabını tıklayın.

not: E-posta hesabını seçtikten sonra, önünde bir onay işareti görüntülenecektir.

Tıkla okuyun Bu E-posta Gönder özelliği hakkında daha fazla bilgi için.

  Bu yardımcı programın ücretsiz denemesine (30 günlük) sahip olmak istiyorsanız, indirmek için lütfen tıklayınızve ardından yukarıdaki adımlara göre işlemi uygulamaya gidin.

Sonuç olarak, günlük işlerimizde Excel'den e-posta göndermek oldukça faydalıdır. Bu makale, Excel'den gönderilen e-postaların daha kapsamlı konularını kapsar, başka konular veya daha kolay çözümler varsa, lütfen bana bildirmek için bir yorum bırakın.

En İyi Ofis Üretkenlik Araçları

🤖 Kutools AI Yardımcısı: Aşağıdakilere dayalı olarak veri analizinde devrim yaratın: Akıllı Yürütme   |  Kodunu oluşturun  |  Özel Formüller Oluşturun  |  Verileri Analiz Edin ve Grafikler Oluşturun  |  Kutools İşlevlerini Çağır...
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya Tanımla   |  Boş Satırları Sil   |  Veri Kaybı Olmadan Sütunları veya Hücreleri Birleştirin   |   Formülsüz Tur ...
Süper Arama: Çoklu Ölçütlü VLookup    Çoklu Değer VLookup  |   Birden Çok Sayfada VLookup   |   Bulanık Arama ....
Gelişmiş Açılır Liste: Hızla Açılır Liste Oluşturun   |  Bağımlı Açılır Liste   |  Çoklu Seçim Açılır Liste ....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekleme  |  Sütunları Taşı  |  Gizli Sütunların Görünürlük Durumunu Değiştir  |  Aralıkları ve Sütunları Karşılaştırın ...
Öne Çıkan Özellikler: Izgara Odağı   |  Tasarım görünümü   |   Büyük Formül Çubuğu    Çalışma Kitabı ve Sayfa Yöneticisi   |  Kaynak Kütüphanesi (Otomatik metin)   |  Tarih Seçici   |  Çalışma Sayfalarını Birleştirin   |  Hücreleri Şifrele/Şifresini Çöz    E-postaları Listeye Göre Gönder   |  Süper Filtre   |   Özel Filtre (kalın/italik/üstü çizili filtre...) ...
En İyi 15 Araç Seti12 Metin Tools (Metin ekle, Karakterleri Kaldır, ...)   |   50+ Grafik Türleri (Gantt şeması, ...)   |   40+ Pratik Formüller (Yaşı doğum gününe göre hesapla, ...)   |   19 sokma Tools (QR Kodunu Girin, Yoldan Resim Ekle, ...)   |   12 Dönüştürme Tools (Sayılardan Kelimelere, Para Birimi Dönüştürme, ...)   |   7 Birleştir ve Böl Tools (Gelişmiş Kombine Satırları, Bölünmüş hücreler, ...)   |   ... ve dahası

Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar.  En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...

Açıklama


Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations