• DİKKAT

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

mail

Katılım
11 Haziran 2009
Mesajlar
64
Excel Vers. ve Dili
16 Türkçe
ustalar keyifli pazarlar,
kullandıgım bi excel sayfası var bunda sayfayı belirli (25 tane) mail adreslerine pdf formatında gönderiyorum fakat her seferinde farklı mail adresine gönderdiğimden formüle girip ilgili yerde değişiklik yapmak zorunda kalıyorum.
bunu userform veya başka bir şekilde yapabilirmiyiz. mesela düğmeye bastığımda kime göndermek istediğimi sorsun tıklayınca o kişinin mail adresine göndersin.
teşekkürler
 

Ekli dosyalar

Merhaba,

Sizin mail kodlarında küçük bir değişiklik yaptım. Diğer yerlerine bakmadım.

UserForm ekledim, Kodları :

Kod:
Private Sub CommandButton1_Click()
    
    Unload Me
    
    If Not ComboBox1.Value = "" Then
        MailAdres = ComboBox1.Value
        SendShByEmail
    End If
    
End Sub

Kod:
Private Sub CommandButton2_Click()
    Unload Me
End Sub

Kod:
Private Sub UserForm_Initialize()
    Dim Shm     As Worksheet
    Dim i       As Long
    Dim MyArr() As String
    
    Set Shm = Sheets("mail")
    
    i = Shm.Cells(Rows.Count, "A").End(3).Row
    ReDim MyArr(i - 1, 1)
    
    For i = 1 To Shm.Cells(Rows.Count, "A").End(3).Row
        MyArr(i - 1, 0) = Shm.Cells(i, "A")
        MyArr(i - 1, 1) = Shm.Cells(i, "B")
    Next i
    
    
    With ComboBox1
        .ColumnCount = 2
        .BoundColumn = 2
        .Height = 20
        .ListRows = 10
        .List() = MyArr
    End With
    
End Sub

Modüldeki kodlarda aşağıdaki gibi :

Kod:
Public MailAdres As String

Kod:
Sub SendShByEmail()
    Dim OutApp As Outlook.Application
    Dim NewMail As Outlook.MailItem
    Dim ShName As String, WbName As String
    Dim i As Integer
    Dim ModX As Object, VBComp As Object
 
    Dim temp As Integer
    temp = MsgBox("E-Mail olarak gönderilecek eminmisiniz?", vbYesNo, "Outlook!")
    
    If temp = vbNo Then Exit Sub
    Application.ScreenUpdating = False
    
    Sheets("WORKSHEET").Select
    Range("B2:T60").Select
    ActiveSheet.PageSetup.PrintArea = "$C$2:$J$58"
    ChDir "C:\Users\o_bayrak\Desktop"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\o_bayrak\Desktop\WORKSHEET.pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
    Range("D5").Select
 
    Set OutApp = New Outlook.Application
    Set NewMail = CreateItem(olMailItem)
    With NewMail
        .To = MailAdres
        .Subject = "Worksheet"
        .Body = "."
        .Attachments.Add "C:\Users\o_bayrak\Desktop\WORKSHEET.pdf"
        .Save
        .Send
        Kill ("C:\Users\o_bayrak\Desktop\WORKSHEET.pdf")
    End With
    
    Set NewMail = Nothing
    Set OutApp = Nothing
    Set VBComp = Nothing
    
End Sub

Kod:
Sub MailGonder()
    MailAdres = ""
    
    UserForm1.Show
    
End Sub
 

Ekli dosyalar

Necdet bey çok teşekkürler emeğinize sağlık tam istediğim gibi olmuş
 
Geri
Üst