• DİKKAT

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

e-postaya aktif sayfayı gönder

Katılım
30 Kasım 2006
Mesajlar
411
Excel Vers. ve Dili
Excel 2007 - Türkçe
Saygı değer Hocalarım dostlarım...
Hasta müracaatına göre ilişikteki formu defalarca Bakanlığımıza ait e-postaya göndermemiz gerkmektedir. Ancak ben olmadığım zamanlarda arkadaşlar Sağlık Bakanlığına ait e-posta sayfasını kullanamadıklarından, direk olarak butonla nasıl bu sayfayı e-postaya aktarabiliriz....
e postaya gönder butouna basınca başka işlem yapmadan veri ilgili e postaya aktarılmalı..
Bilgisayardan anlamayan arkadaş çok.. Onlarda basit bir şekilde bu işlemi gerçekleştirebilmeli...
Bir haftadır uğraştım bütün ilgili sayfaları inceledim anlamadım....

Yardımlarınız için şimdiden şükranlarımı sunuyorum..
 

Ekli dosyalar

Son düzenleme:
Merhaba,

http://www.excel.web.tr/f48/aktif-sayfay-e-mail-ile-gonder-t43902/sayfa2.html

Yukarıdaki lınkı ınceleyiniz.

Haluk Bey'in kodu,

Vba editorunde Outlook referansını ekleyiniz.
Kod:
'******************************************************
'* Sadece Aktif sayfayı MS Outlook ile yollamak için  *
'* yapılmış bir çalışmadır                            *
'* Micosoft Outlook X.0 referansı eklenmelidir !      *
'* Burası Excel vadisi ...                            *
'* Raider ®                                           *
'* Subat 2005                                         *
'******************************************************

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
    
    ShName = ActiveSheet.Name
    WbName = "C:\" & ShName & ".xls"
    
    ThisWorkbook.SaveCopyAs WbName
    
    Application.DisplayAlerts = False
    Workbooks.Open WbName
    
    For i = Sheets.Count To 1 Step -1
        If ActiveWorkbook.Sheets(i).Name <> ShName Then Sheets(i).Delete
    Next
    
    On Error Resume Next
        For Each ModX In ActiveWorkbook.VBProject.VBComponents
            Set VBComp = ActiveWorkbook.VBProject.VBComponents(ModX.Name)
            ActiveWorkbook.VBProject.VBComponents.Remove VBComp
        Next
    On Error GoTo 0
    Application.DisplayAlerts = True
    
    ActiveWorkbook.Close SaveChanges:=True
    
    Set OutApp = New Outlook.Application
    Set NewMail = CreateItem(olMailItem)
    
    With NewMail
        .To = "falan@filan.com"
        .Subject = "Deneme"
        .Body = "Bu e-mail deneme amacıyla gönderilmiştir."
        .Attachments.Add WbName
        .Save
        .Send
    End With
    
    Set NewMail = Nothing
    Set OutApp = Nothing
    Set VBComp = Nothing
    Kill WbName
End Sub
 
epostaya göndermiyor

Arkadaşlar Haluk Bey'in kodlarını ekledim. değişik diğer çalışmalarınıda denedim, neden hata veriyor. Öncelikle Haluk bey olmak üzere emeği geçen ve ilgilenen arkadaşlara şükranlarımı sunuyorum...

Dim OutApp As Outlook.Application
Dim NewMail As Outlook.MailItem
Dim ShName As String, WbName As String

başlayarak hata veriyor.. Dosya ektedir..... Deneme amaçlı "omerylzom@hotmail.com" adresine gönder diyebilirsiniz....
 

Ekli dosyalar

Son düzenleme:
epostaya göndermiyor

Her ikisindede bende

ThisWorkbook.SaveCopyAs WbName hata vermektedir..neden? Makroları etkinleştiriyorum yine olmuyor....saygılar
 

Ekli dosyalar

Son düzenleme:
Ömer bey,

Nedeni ni bende anlamadım.Ama aşagıdaki kodu sildiğiniz takdirde sorun kalkacaktır dıye dusunuyorum.Kodu kaldırarak size mail yolladım.

Kod:
  Dim bool As Boolean
   strRefPath = "C:\Program Files\Microsoft Office\OFFICE11\msoutl.olb" 'ADO
    bool = False
   For Each ref In ThisWorkbook.VBProject.References
        If ref.fullPath = strRefPath Then bool = True
   Next
 
Kemal Bey ilginiz için şükranlarımı sunuyorum ancak;
Her iki türlüde olmadı.
Öncelikle "ThisWorkbook.SaveCopyAs WbName" hata vermektedir....


Devamlı bu dosyanın gönderilecek adresi olan
corlu.7nso@sağlik.gov.tr " 'Microsoft Outlook Web Access
 
Ömer Bey,

Aşağıdaki kod'u boş bir excel sayfasının modulune yapıstırıp test edermisiniz.
Vb referanslarında "Microsoft Outlook 11.0 yada 12.0" kısmını seçerek denermisiniz.

Haluk Bey'e ait olan kod'u kullanınız.
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
    
    ShName = ActiveSheet.Name
    WbName = "C:\" & ShName & ".xls"
    
    ThisWorkbook.SaveCopyAs WbName
    
    Application.DisplayAlerts = False
    Workbooks.Open WbName
    
    For i = Sheets.Count To 1 Step -1
        If ActiveWorkbook.Sheets(i).Name <> ShName Then Sheets(i).Delete
    Next
    
    On Error Resume Next
        For Each ModX In ActiveWorkbook.VBProject.VBComponents
            Set VBComp = ActiveWorkbook.VBProject.VBComponents(ModX.Name)
            ActiveWorkbook.VBProject.VBComponents.Remove VBComp
        Next
    On Error GoTo 0
    Application.DisplayAlerts = True
    
    ActiveWorkbook.Close SaveChanges:=True
    
    Set OutApp = New Outlook.Application
    Set NewMail = CreateItem(olMailItem)
    
    With NewMail
        .To = "omerylzom@hotmail.com"
        .Subject = "Deneme"
        .Body = "Bu e-mail deneme amacıyla gönderilmiştir."
        .Attachments.Add WbName
        .Save
        .Send
    End With
    
    Set NewMail = Nothing
    Set OutApp = Nothing
    Set VBComp = Nothing
    Kill WbName
End Sub
 
Kemal Bey in Deneme amaçlı "corlu.7nso@sağlik.gov.tr " ye gönderdiği dosya yerine ulaşmış. Niçin aynı dosya benim bilgisayarlarımda gönder dediğimde ....
"ThisWorkbook.SaveCopyAs WbName"
hata vermektedir....
 
Alternatif maille bilgi gönderme yöntemi

Şayetki dosyayı form olarak göndermeniz şart değilse ,ekte yolladığım dosya : tanımlı alanı .jpeg olarak önce C: ye kaydediyor ve ek dosya olarak maille gönderiyor.
Göndereceği mailler L57 ve L58 de.

Çalışması için Sizde Outlook kurulu olmalı !
 

Ekli dosyalar

Geri
Üst