• DİKKAT

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

Yazdırma alanının jpeg olarak mail ile gönderilmesi.

Katılım
30 Nisan 2006
Mesajlar
88
Excel Vers. ve Dili
Office 2013 EN
Selamlar. Yazdırma alanı, bir buton yardımı ile excel sayfasındaki bir hücreden isim alarak (jpeg ve ya bitmap) kaydedilip, yine excel sayfasında listelenen mail adreslerine mail olarak gönderilebilir mi?
 
Elbette gönderilebilir. Bir örnek dosya eklerseniz yardımcı olmak kolaylaşacaktır.
 
Sayın leventm, dosya muhtemelen sizin el atmanızı bekliyor.
 
Aşağıdaki kodu deneyin. Öncelikle "c:\deneme" isimli bir klasör oluşturun.

Kod:
Sub resim()
Dim olMailItem As Long
olMailItem = 0
Set s1 = Sheets("SIPARIS")
s1.Range("I2:N" & s1.[n65536].End(3).Row).CopyPicture xlScreen, xlBitmap
ActiveSheet.Paste
genislik = Selection.Width
yukseklik = Selection.Height
Selection.Cut
Set grafik = ActiveSheet.ChartObjects.Add(, , genislik, yukseklik)
grafik.Chart.Paste
grafik.Chart.Export "c:\deneme\" & Format(Date, "ddmmyy") & s1.[d33] & ".jpg"
grafik.Delete
For sat = 71 To s1.[b65536].End(3).Row
adres = adres & isaret & s1.Cells(sat, "b")
isaret = ";"
Next
Set prog = CreateObject("Outlook.Application")
Set posta = prog.CreateItem(olMailItem)
With posta
.To = adres
.Subject = "Rapor"
.Body = "Merhaba  " & Chr(10) & Chr(10) & "Dosyanız ektedir." & Chr(10) & Chr(10) & "Saygılarımla"
.Attachments.Add "c:\deneme\" & Format(Date, "ddmmyy") & s1.[d33] & ".jpg"
.Display
.Send
End With
Set prog = Nothing
Set posta = Nothing
End Sub

Not: Bilgisayarınızda outlook programı yüklü olmalıdır. Kod direk olarak resmi gönderir. Eğer kendiniz göndermek isterseniz kod içindeki ".send" satırını iptal edin.
 
Elinize sağlık, teşekkür ederim.
 
Merhaba;

Leventm dostumun gözünden bir konu kaçmış ama neyseki bu kodda problem çıkartmıyor.

Aslında kodun başında aşağıdaki satırları kullanmak gerekiyordu ...

Kod:
    Dim [B]olMailItem[/B] As Long
    [B]olMailItem[/B] = [B]0[/B]
    '
    '
    '
    '
Çünkü olMailItem değişkeni MS Outlook VBA için tanımlanmış sabit bir değerdir ve yukarıdaki gibi CreateObject ile oluşturulan Excel haricindeki diğer Office nesnelerine ait sabit değerlerin nümerik karşılıklarının "açıkça" tanımlanmış olması gerekir. Aksi takdirde, Excel'in kütüphanesinde olMailItem gibi bir sabit tanımlanmadığı için Excel bu tip şeyleri sabit olarak değil, değişken olarak algılayacaktır. O zaman da, kodun derlenmesi sırasında, tanımlanmamış değişken olduğu için de otomatik olarak FALSE = sıfır (0) değerini atayacaktır ki, yukarıdaki kodda tesadüfen bu değer doğru olarak atanmıştır, çünkü olMailItem sabitinin Outlook VBA' deki değeri sıfır (0) dır.

Örneğin, eğer yukarıdaki kodda olTaskItem yine aynı şekilde kullanılmış olsaydı, Excel bunu bir sabit olarak değil bir değişken olarak algılayacak ve önceden tanımlanmadıysa sıfır olarak kabul edecekti. Halbuki olTaskItem sabitinin Outlook VBA' deki değeri üç (3) dür.

.
 
Değerli dostum üstadım uyarın ve açıklamaların için çok teşekkür ederim. Yukarıdaki koda gerekli ilaveleri yaptım.
 
Rica ederim dostum,

Sen esas işi yapmışın, ben ise sadece dışarıdan biraz maydonoz oldum .... :mrgreen:
 
Merhaba,

Son eklemeden sonra hata alır oldum.
Hata satırı :

Set grafik = ActiveSheet.ChartObjects.Add(, , genislik, yukseklik)

Hata Türü :

Run-time error '449"
Argument not optional

Bir sorumda MS Outlook değil de Outlook Expres ile mail nasıl gönderilebilir?

Not : Excel 2007 de yukarıdaki hatayı alıyorum, 2003 te sorun yokmuş, pardon.
 
Son düzenleme:
Arkadaşlar, sorulan sorulara cevap veren siz değerli admin, uzman ve diğer tüm arkadaşlardan Allah (c.c.) razı olsun. Bazı cevaplar hiç bir yerde aranıp bulunamayacak şeyler. Sizlere en içten teşekkürlerimi sunuyorum. Başarılarınızın devamını dilerim.
 
Bu arada nette araştırma yaparken e-posta göndermeyle ilgili Ron de Bruin'a ait
harika bir eklenti buldum. Bunuda vermek istiyorum. İleride uygun bir zaman bulursak bizde buna benzer ama bize özgü bir uygulama yapabiliriz. Bu eklentiyi herkesin mutlaka incelemesini öneririm.

http://www.rondebruin.nl/mail/add-in.htm
 
Lotus Notes Email Gönderme

Peki Bunu Lotus Notes'ten nasıl gönderebilirim.
 
Paylaşım için çok teşekkürler. Bir alternatifimiz daha oldu.
 
Geri
Üst