Ekran Görüntüsünü kopyalama ( PrtScn )

Ekran Görüntüsünü kopyalama ( PrtScn )

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

Ekran Görüntüsünü kopyalama ( PrtScn )

İleti#1)  Bülent Kars » 26 Oca 2009 17:56

Arkadaşlar Merhaba

Excel de tablom var Tablonun ekran görüntüsünü PrtScn ile alıp mail olarak atabilirmiyim.Örneğin Excelde makroyu çalıştırdığında göüntüyü kopyalayıp mail sayfasına yapıştıracak.Bu konuda yardımcı olursanız sevinirim.Microsoft Outlook kullanıyorum.
Kullanıcı avatarı
Bülent Kars
Site Dostu
 
Adı Soyadı: Bülent Kars
Kayıt: 25 Ekm 2008 22:06
Konum: Yönetici
Meslek: Finans
Yaş: 37
İleti: 501
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Gaziosmanpaşa

Ekran Görüntüsünü kopyalama ( PrtScn )

İleti#2)  kokpit » 26 Oca 2009 19:30

Bildiğim kadarıyla anlatayım arkadaşım; tablonu aç, daha sonra PrtScr bas, ardından Paint'i aç ve Ctrl+V ile yapıştır, kaydet ve nereye istersen gönder. (Bu foruma göndereceksen rar. veya ziple öyle gönder)
Kullanıcı avatarı
kokpit
Siteye Alışmış
 
Adı Soyadı: Eşref Meşeli
Kayıt: 11 Ekm 2008 14:32
Konum: Antalya
Meslek: Adli Tıp
Yaş: 47
İleti: 138
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul /Yenibosna

REKLAM

Ekran Görüntüsünü kopyalama ( PrtScn )

İleti#3)  Bülent Kars » 26 Oca 2009 19:43

.. :) onu yapıyorum makro olarak istedim..
Kullanıcı avatarı
Bülent Kars
Site Dostu
 
Adı Soyadı: Bülent Kars
Kayıt: 25 Ekm 2008 22:06
Konum: Yönetici
Meslek: Finans
Yaş: 37
İleti: 501
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Gaziosmanpaşa

Ekran Görüntüsünü kopyalama ( PrtScn )

İleti#4)  Tarkan VURAL » 26 Oca 2009 21:08

Chart objesi ile seçilen alanı resme dönüştürüp, resmi mail attach yaparak gönderebilirsiniz.
Bununla ilgili hem mail yollama hem de chart objesi ile resim oluşturma örnekleri var. Anahtar harflerden aratın, işlenen örnekleri bulabilirsiniz. Sorun kalırsa çözeriz.
ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...

Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı: Tarkan VURAL
Kayıt: 14 Haz 2008 18:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 40
İleti: 23478
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Ekran Görüntüsünü kopyalama ( PrtScn )

İleti#5)  Bülent Kars » 27 Oca 2009 09:47

Hocam merhaba

Öncelikle ilgi ve alakanız için çok teşekkür ederim formda takip ediyorum hemen hemen bütün sorulara yardımcı oluyorsunuz ve gayet güzel açıklamalar yazıyorsunuz tebrik ederim sizi. Aramada bulamadım dosya varsa ekleyebilirmissiniz?
Kullanıcı avatarı
Bülent Kars
Site Dostu
 
Adı Soyadı: Bülent Kars
Kayıt: 25 Ekm 2008 22:06
Konum: Yönetici
Meslek: Finans
Yaş: 37
İleti: 501
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Gaziosmanpaşa

Ekran Görüntüsünü kopyalama ( PrtScn )

İleti#6)  Haldun Alay » 27 Oca 2009 12:25

Aşağıdaki kodu bir modüle kopyalayın. ExceldenOutlooka yordamını, hücre aralığını kendinize uygun şekilde değiştirerek çalıştırın.

Kod: Tümünü seç
' Tools | References menüsünden Microsoft Outlook xx Object Library
' nesnesini işaretleyin.
Option Explicit
Private Declare Function apiGetTempPath Lib "Kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

Public Sub ExceldenOutlooka()
    'Aşağıdaki Kime, Konu ve Mesaj sabitlerinin değerlerini değiştirip deneyin.
    Const Kime = "eposta@mailserver.com"
    Const Konu = "Excel Hücre Aralığı"
    Const Mesaj = "Excel'den resimli e-posta gönderimi"
On Error GoTo CIKIS
    Dim Rng As Excel.Range
    Dim Cht As Excel.ChartObject
    Dim DosyaYolu As String
    Dim DosyaAdi As String
    Application.ScreenUpdating = False
    DosyaYolu = GetTempPath()
    DosyaAdi = DosyaYolu & IIf(Right(DosyaYolu, 1) <> "\", "\", "") & "ExceldenOutlooka.gif"

    Set Rng = ActiveSheet.Range("A1:H300") ' burada istediğiniz hücre aralığını verin.
    Rng.CopyPicture xlScreen, xlPicture

    Set Cht = ActiveSheet.ChartObjects.Add(0, 0, Rng.Width + 10, Rng.Height + 10)
    With Cht
        .Chart.Paste
        .Chart.Export DosyaAdi
        .Delete
    End With
    OutlookEPostaGonder Kime, Konu, Mesaj, DosyaAdi
CIKIS:
    Application.ScreenUpdating = True
    Set Cht = Nothing
    Set Rng = Nothing
    Kill DosyaAdi
End Sub
Private Sub OutlookEPostaGonder(Adres As String, Konu As String, Mesaj As String, Optional Ek As String, Optional Bilgi As String, Optional Gizli As String)
    Dim appOutlook As New Outlook.Application
    Dim EPosta As Outlook.MailItem
    Dim Ekler As Outlook.Attachments
    Set EPosta = appOutlook.CreateItem(olMailItem)
    With EPosta
        .Display
        .To = Adres
        If Not IsEmpty(Bilgi) Then .Cc = Bilgi
        If Not IsEmpty(Gizli) Then .Bcc = Gizli
        .subject = Konu
        .body = Mesaj
        If Not IsEmpty(Ek) And Len(Dir(Ek)) <> 0 Then
            Set Ekler = .Attachments
            Ekler.Add Ek, olByValue
        End If
        .Send ' Eğer otomatik gönderimi istemiyorsanız bu satırı silin
    End With
    appOutlook.Quit ' Eğer işlem bittikten sonra Outlook kapansın istemiyorsanız bu satırı silin.
    Set Ekler = Nothing
    Set EPosta = Nothing
    Set appOutlook = Nothing
End Sub

Private Function GetTempPath() As String
    Dim TempFile As String
    Dim TempPath As String
    Const MAX_PATH = 260
    TempPath = Space$(MAX_PATH)
    apiGetTempPath Len(TempPath), TempPath
    TempPath = Left$(TempPath, InStr(TempPath & vbNullChar, vbNullChar) - 1)
    GetTempPath = TempPath
End Function

Kullanıcı avatarı
Haldun Alay
Site Dostu
 
Adı Soyadı: Haldun Alay
Kayıt: 15 Haz 2008 00:14
Konum: Rakım 0
Meslek: Turizm
Yaş: 44
İleti: 1222
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Aydın/Kuşadası

Ekran Görüntüsünü kopyalama ( PrtScn )

İleti#7)  Bülent Kars » 27 Oca 2009 14:17

ilgiliniz için teşekkür ederim fakat aşağıdakı satıra geldiğinde hata veriyor.

Private Sub OutlookEPostaGonder(Adres As String, Konu As String, Mesaj As String, Optional Ek As String, Optional Bilgi As String, Optional Gizli As String)
Kullanıcı avatarı
Bülent Kars
Site Dostu
 
Adı Soyadı: Bülent Kars
Kayıt: 25 Ekm 2008 22:06
Konum: Yönetici
Meslek: Finans
Yaş: 37
İleti: 501
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Gaziosmanpaşa

Ekran Görüntüsünü kopyalama ( PrtScn )

İleti#8)  Haldun Alay » 27 Oca 2009 14:21

bulentkars yazdı:ilgiliniz için teşekkür ederim fakat aşağıdakı satıra geldiğinde hata veriyor.

Kod: Tümünü seç
Private Sub OutlookEPostaGonder(Adres As String, Konu As String, Mesaj As String, Optional Ek As String, Optional Bilgi As String, Optional Gizli As String)

Kodun en üstünde bir açıklama var, oradaki işlemi yaptınız mı?

Kod: Tümünü seç
' Tools | References menüsünden Microsoft Outlook xx Object Library
' nesnesini işaretleyin.
Kullanıcı avatarı
Haldun Alay
Site Dostu
 
Adı Soyadı: Haldun Alay
Kayıt: 15 Haz 2008 00:14
Konum: Rakım 0
Meslek: Turizm
Yaş: 44
İleti: 1222
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Aydın/Kuşadası

Ekran Görüntüsünü kopyalama ( PrtScn )

İleti#9)  Bülent Kars » 27 Oca 2009 15:07

Çok Teşekkür ederim Oldu.maili gönderiri ken bilgi ve gizli satırı açabilirmissiniz.bu dosyayı her gönderdiğim bilgisayar Tools | References menüsünden Microsoft Outlook xx Object Library işlemi yapması lazımmı
Kullanıcı avatarı
Bülent Kars
Site Dostu
 
Adı Soyadı: Bülent Kars
Kayıt: 25 Ekm 2008 22:06
Konum: Yönetici
Meslek: Finans
Yaş: 37
İleti: 501
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Gaziosmanpaşa

Ekran Görüntüsünü kopyalama ( PrtScn )

İleti#10)  Haldun Alay » 27 Oca 2009 15:19

1.Bilgi ve Gizli alanları zaten kod içerisinde var.

Private Sub OutlookEPostaGonder(Adres As String, Konu As String, Mesaj As String, Optional Ek As String, Optional Bilgi As String, Optional Gizli As String)
E-posta aşağıdaki satır ile gönderiliyor.
Kod: Tümünü seç
OutlookEPostaGonder Kime, Konu, Mesaj, DosyaAdi
Eğer bu satırı aşağıdaki şekilde yazarsanız
Kod: Tümünü seç
OutlookEPostaGonder Kime, Konu, Mesaj, DosyaAdi,"bilgi@mail.com","gizli@mail.com"
e-postanıza bilgi ve gizli alanları da eklenecektir. ("bilgi@mail.com","gizli@mail.com" örnek amaçlı verilmiştir.)

2.Bu modülü bir çalışma kitabına ekleyerek, Tools|References 'te Microsoft Outlook xx Object Library'i seçip dosyayı kaydettiğinizde, her seferinde yapmanız gerekmez.

Ancak yeni bir çalışma kitabına eklediğinizde bu işlemi yapacaksınız.
Kullanıcı avatarı
Haldun Alay
Site Dostu
 
Adı Soyadı: Haldun Alay
Kayıt: 15 Haz 2008 00:14
Konum: Rakım 0
Meslek: Turizm
Yaş: 44
İleti: 1222
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Aydın/Kuşadası

Ekran Görüntüsünü kopyalama ( PrtScn )

İleti#11)  Bülent Kars » 27 Oca 2009 15:38

Çok teşekkür ederim.Elinize sağlık
Kullanıcı avatarı
Bülent Kars
Site Dostu
 
Adı Soyadı: Bülent Kars
Kayıt: 25 Ekm 2008 22:06
Konum: Yönetici
Meslek: Finans
Yaş: 37
İleti: 501
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul / Gaziosmanpaşa


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 0 misafir