Macro ile resim kaydetme

Katılım
21 Şubat 2007
Mesajlar
51
Excel Vers. ve Dili
Excell 2003
Macro
merhaba
excel sayfasını print screen tuşu ile hafızaya alıyorum yanlız geri hafızadaki resmi excel sayfasına kopyalamadan, herhangi bir dosyaya kaydetmek istiyorum.
biraz uğraştım ve bu kodlara ulaşabildim ve bu kodlarda sadece resim olarak hafızaya alıyor. yanlız geri hafızadaki dosyayı excell yapıştırdıktan sonra dosya olarak kaydedeiyor.

benim istedğim hiç excel kullanmadan direk resmi hafızasına alıp geri dosya olarak kayıt etmesi.

Kod:
Option Explicit
Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Sub Command1_Click()

' kopyalıyor
Call keybd_event(vbKeySnapshot, 0, 0, 0)
DoEvents

' hazfızadaki resmi dosyaya kaydediyor.

bu bölüme yazılacak olan kodu arıyorum.
mümkünse excel hiç kullanmadan yani savepicture komutu ile yazılmasını istiyorum.

End Sub

yardımlarınız için şimdiden teşekkürler.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki gibi bir kod işinize yarayabilir. Birde kod içindeki resmin boyutlarını oluşturan 1000 değerlerini clipboard içinden okuyabilecek bir yol bulabilirseniz daha güzel olur.

Kod:
Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Sub Command1_Click()
Call keybd_event(vbKeySnapshot, 0, 0, 0)
DoEvents
Set grafik = ActiveSheet.ChartObjects.Add(, , 1000, 1000)
grafik.Chart.Paste
grafik.Chart.Export "c:\xxresimxx.jpg"
grafik.Delete
End Sub
 
Katılım
21 Şubat 2007
Mesajlar
51
Excel Vers. ve Dili
Excell 2003
Macro
sağlun ilginiz için yanlız ben bu komutu paylaşımlı bir dosyada çalıştırmak istiyorum. paylaşımlı bir dosyada kullandığım zaman ChartObjects.Add özelliği kullanılamadığını ve çalışmayacağını söylüyor.

Call keybd_event(vbKeySnapshot, 0, 0, 0)
DoEvents

bu komut print screen basmış gibi işlem görüyor yanlız. benim istediğim hiç excelin hücrelerini kullanmadan direk macro ile dosyaya kaydetmek. o zaman dosya paylaşımda veya macronun çalışması gereken kitapçığa ihtiyaç duymadan heryerde çalışmasını sağlamak. print screen ile çekilen resmi hafızadan direk dosyaya yazan bir macro istiyorum. biraz zor bir soru biliyorum. yardımcı olursanız sevinirim iyi çalışmalar.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu durumda Stephen BULLEN'in hazırlamış olduğu pastepicture fonksiyonunu önereceğim. Ekli dosyayı inceleyin.
 

Ekli dosyalar

Katılım
21 Şubat 2007
Mesajlar
51
Excel Vers. ve Dili
Excell 2003
Macro
gerçekten mükemmelsiniz ellerinize sağlık süper bir kod olmuş. bir numara bu site sürekli arkadaşlarıma öneriyorum. valla mükemmelsiniz. çok teşekkür ediyorum.
 
Katılım
21 Şubat 2007
Mesajlar
51
Excel Vers. ve Dili
Excell 2003
Macro
dosyamı hazırladım yanlız bir küçük bir sorunum kaldı. yine yardımcı olursanız dualarımı eksik etmem. 4 tane kitapçık var hepsi paylaşımlı kitapçık. hazırladığım macro sayfalarda yardım edeceğim insanların sayfalarını gösteriyor. yanlız macro çalıştığı an hangi sayfada kaldıysa o sayfanın dışına çıkmıyor. farklı kitapçığa geçemiyor kullanıcı. benim sitediğim bu macro çalışır durumdayken farklı kitapçıklarada geçebilmesi kullanıcıların. yardımlarınızı için şimdiden teşekkürler. dosyayı ekte gönderiyorum. bir kaç yeni kitapçık açıp dosyayadaki macroyu çalıştırın ve diğer kitapçıklara geçin geçmediğini göreceksiniz. bunu nasıl önleriz. ve bide kaydedilen dosyayı jpg formatında nasıl kayıt edebiliriz. iyi çalışmalar.
 

Ekli dosyalar

Son düzenleme:

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Rica ederim sorununuzun çözüldüğüne sevindim. Diğer sorunuza gelince her dosyayı aynı excel içerisinden değilde ayrı ayrı excel programında açarsanız, geçiş yapabilirsiniz. Bunun dışında bir çözüm aklıma gelmedi.

Not: doevents komutunu kullanmak kaydıyla.
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Teşekkürler sayın Levent Menteşoğlu
 
Katılım
19 Eylül 2023
Mesajlar
14
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2010 TR 32 Bit
Altın Üyelik Bitiş Tarihi
21-09-2024
Merhaba Levent hocam

(bu komut print screen basmış gibi işlem görüyor yanlız. benim istediğim hiç excelin hücrelerini kullanmadan direk macro ile dosyaya kaydetmek. o zaman dosya paylaşımda veya macronun çalışması gereken kitapçığa ihtiyaç duymadan heryerde çalışmasını sağlamak. print screen ile çekilen resmi hafızadan direk dosyaya yazan bir macro istiyorum. biraz zor bir soru biliyorum. yardımcı olursanız sevinirim iyi çalışmalar. )

konuya gönderdiğiniz dosyayı 64 bit uyumlu gönderebilirmisiniz konu çok eski yeni sistemlerde çalışmıyor sanırım teşekkürler
 
Katılım
19 Eylül 2023
Mesajlar
14
Excel Vers. ve Dili
Excel Vers. ve Dili Ofis 2010 TR 32 Bit
Altın Üyelik Bitiş Tarihi
21-09-2024
hiç excelin hücrelerini kullanmadan direk macro ile dosyaya kaydetmek. o zaman dosya paylaşımda veya macronun çalışması gereken kitapçığa ihtiyaç duymadan heryerde çalışmasını sağlamak. print screen ile çekilen resmi hafızadan direk dosyaya yazan bir macro istiyorum. biraz zor bir soru biliyorum. yardımcı olursanız sevinirim iyi çalışmalar.
 
Üst