• DİKKAT

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

makro ile mail hatası

ozgurpeh

Altın Üye
Katılım
30 Eylül 2007
Mesajlar
383
Excel Vers. ve Dili
2010 Türkçe
Merhaba,

aşağıdaki kodu office2010 ve windows7 de kullanıyordum fakat office 365 ve windows10 da referance hatası verdi, hangi referance ta düzeltme yapmalyım ? desteğinize ihtiyaç duymaktayım,

selamlar.

Sub Send()
Dim olApp As Outlook.Application
Dim olMail As MailItem
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)
ThisWorkbook.Sheets("TEST").Copy
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & "TEST.xls"
With olMail
.To = "xxx@mail.com"
.CC = "xxx@mail.com"
.Subject = "TEST"
'.BCC = "ttt@yyy.com"
.Body = "Merhaba;" & Chr(10) & Chr(10) & "TEST EKTEDİR." & Chr(13) & Chr(13) & "....."
.Attachments.Add ActiveWorkbook.FullName
.Display
'.Send
End With
ActiveWorkbook.Close False
Kill ThisWorkbook.Path & "\" & "Güncel.xls"
Set olMail = Nothing
Set olApp = Nothing

End Sub
 
Merhaba,

aşağıdaki kodu office2010 ve windows7 de kullanıyordum fakat office 365 ve windows10 da referance hatası verdi, hangi referance ta düzeltme yapmalyım ? desteğinize ihtiyaç duymaktayım,

selamlar.

Sub Send()
Dim olApp As Outlook.Application
Dim olMail As MailItem
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)
ThisWorkbook.Sheets("TEST").Copy
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & "TEST.xls"
With olMail
.To = "xxx@mail.com"
.CC = "xxx@mail.com"
.Subject = "TEST"
'.BCC = "ttt@yyy.com"
.Body = "Merhaba;" & Chr(10) & Chr(10) & "TEST EKTEDİR." & Chr(13) & Chr(13) & "....."
.Attachments.Add ActiveWorkbook.FullName
.Display
'.Send
End With
ActiveWorkbook.Close False
Kill ThisWorkbook.Path & "\" & "Güncel.xls"
Set olMail = Nothing
Set olApp = Nothing

End Sub

fikri olan var mıdır ?
 
Kod:
Dim olApp As Outlook.Application
Dim olMail As MailItem
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)
satırlarındaki kodları:
Kod:
[B]Dim olApp As Object
Dim olMail As Object
Set olApp = CreateObject("Outlook.Application")
Set olMail = olApp.CreateItem(0)[/B]
olarak değiştiriniz.
Sonucu gözlemledikten sonra bildiriniz..
 
Kod:
Dim olApp As Outlook.Application
Dim olMail As MailItem
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)
satırlarındaki kodları:
Kod:
[B]Dim olApp As Object
Dim olMail As Object
Set olApp = CreateObject("Outlook.Application")
Set olMail = olApp.CreateItem(0)[/B]
olarak değiştiriniz.
Sonucu gözlemledikten sonra bildiriniz..

Compile Error:
Can't find project or library hatası çıkıyor yine
 
Makrolar devre dışı kalmış olabilir.
 
herşey etkin farklı makrolar çalışıyor, office 2016 sonrası bu hata ortaya çıktı
 
Office 2016 yı hiç kullanmadım ve hakkında hiç fikrim yok. Bilindiği gibi 2010-2013 versiyonlarında .xlsx uzantılı dosya uzantısı ile kaydedilince makrolar devre-dışı kalıyor. Bu durumu göz önünde tutmak gerekir. Bunun dışında sadece versiyon değişikliğinden kaynaklı olarak makro kodlarına sorun çıkarması söz konusu ise bu konuda bu sürümeleri kullanan arkadaşların bilgileri daha sağlıklı çözüm getirecektir.
 
Merhaba,

Dosyanızı açın.
ALT+F11 ile kod editörünü açın.
TOOLS menüsünden REFERENCES menüsünü açın.
Açılan listeden aşağıdaki seçeneği bulup yanıdaki kutucuğa tıklayıp onaylayın.

Seçenekteki kırmızı bölümde sizde versiyondan dolayı farklı bir numara görünecektir.

Kod:
[B]Microsoft Outlook [COLOR="Red"]15.0[/COLOR] Object Library[/B]
 
Merhaba,

Dosyanızı açın.
ALT+F11 ile kod editörünü açın.
TOOLS menüsünden REFERENCES menüsünü açın.
Açılan listeden aşağıdaki seçeneği bulup yanıdaki kutucuğa tıklayıp onaylayın.

Seçenekteki kırmızı bölümde sizde versiyondan dolayı farklı bir numara görünecektir.

Kod:
[B]Microsoft Outlook [COLOR="Red"]15.0[/COLOR] Object Library[/B]

Malesef oda tikli, bu kodu farklı şekilde nasıl yazabiliriz ? yeni bir öneriniz var mı ?
 
Malesef oda tikli, bu kodu farklı şekilde nasıl yazabiliriz ? yeni bir öneriniz var mı ?

hatayı buldum ilginiz için teşkkürler, aşağıda ki satır hatalı

Body = "Merhaba;" & Chr(10) & Chr(10) & "TEST EKTEDİR." & Chr(13) & Chr(13) & "....."
 
Kullandığınız kodlar zaten mail atmak için kullanılan klasik kodlardır.

Bahsettiğiniz satırda hata vermesini gerektirecek bir durum yok.

İsterseniz bir de aşağıdaki gibi deneyiniz.

Kod:
Sub Send()
    Dim olApp As Outlook.Application
    Dim olMail As MailItem
    Set olApp = New Outlook.Application
    Set olMail = olApp.CreateItem(olMailItem)
    ThisWorkbook.Sheets("TEST").Copy
    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & "TEST.xls"
    With olMail
    .To = "xxx@mail.com"
    .CC = "xxx@mail.com"
    .Subject = "TEST"
    '.BCC = "ttt@yyy.com"
    .Body = "Merhaba;" & Chr(10) & Chr(10) & "TEST EKTEDİR." & Chr(10) & Chr(10) & "....."
    .Attachments.Add ActiveWorkbook.FullName
    .Display
    '.Send
    End With
    ActiveWorkbook.Close False
    Kill ThisWorkbook.Path & "\" & "TEST.xls"
    Set olMail = Nothing
    Set olApp = Nothing
End Sub
 
Kullandığınız kodlar zaten mail atmak için kullanılan klasik kodlardır.

Bahsettiğiniz satırda hata vermesini gerektirecek bir durum yok.

İsterseniz bir de aşağıdaki gibi deneyiniz.

Kod:
Sub Send()
    Dim olApp As Outlook.Application
    Dim olMail As MailItem
    Set olApp = New Outlook.Application
    Set olMail = olApp.CreateItem(olMailItem)
    ThisWorkbook.Sheets("TEST").Copy
    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & "TEST.xls"
    With olMail
    .To = "xxx@mail.com"
    .CC = "xxx@mail.com"
    .Subject = "TEST"
    '.BCC = "ttt@yyy.com"
    .Body = "Merhaba;" & Chr(10) & Chr(10) & "TEST EKTEDİR." & Chr(10) & Chr(10) & "....."
    .Attachments.Add ActiveWorkbook.FullName
    .Display
    '.Send
    End With
    ActiveWorkbook.Close False
    Kill ThisWorkbook.Path & "\" & "TEST.xls"
    Set olMail = Nothing
    Set olApp = Nothing
End Sub

Korkan Bey, destek için teşekkürler. Konuyu başka lanada taşıyabiliriz isterseniz ama ufak bir ekleme yapmak istiyorum test sayfasında veri olmaması halinde bir pob ub ile sayfa boş mail gönderilemez uyarı verilecek makro iptal edilebilir mi ? eğer herşey yolunda ise test sayfasında veri varsa eğer mail göndermek istediğinize eminmisiniz gibi bir uyarı eklenebilir mi evet seçince mail gider hayır seçince yine makro iptal olur gibi :) sanırım çok detay istedim
 
Sorun şu anda bende de mevcut. Çözemedim. Missing Microsoft Office 15.0 Object Library istiyor. Bende Missing Microsoft Office 16.0 Object Library var sanırım bundan kaynaklanıyor.
 
Start = Cells(i, 3) + Cells(i, 4)
.End = Cells(i, 5) + Cells(i, 6)
.Subject = Cells(i, 7).Value
.Location = Cells(i, 8).Value
.Body = Cells(i, 9).Value
If Len(Cells(i, 10)) > 0 Then
If IsNumeric(Cells(i, 10)) Then
.ReminderMinutesBeforeStart = Cells(i, 10).Value
.ReminderSet = True


cells(x,x) den sona .value yazdım düzeldi.
 
Geri
Üst