• DİKKAT

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

Sayfada yer alan gruplandırılmış şekli resim olarak kaydetme

  • Konbuyu başlatan Konbuyu başlatan pNouma
  • Başlangıç tarihi Başlangıç tarihi
Katılım
29 Ocak 2024
Mesajlar
277
Excel Vers. ve Dili
Office 2016
Kıymetli Hocalarım merhaba,
Ekli dosyada resim üzerine metinler eklemek suretiyle "grup" olarak oluşturulan şekli;
aşaıdaki kod burada göründüğü şekliye resim olarak kaydetmek istiyorum ama; boş beyaz bir sayfa geliyor.

https://dosya.co/fmt48scaisam/Kitap1.xlsm.html

yardımlarınız için şimdiden teşekkürler,
iyi hafta sonları ....

Kod:
Sub SaveImage()
    Dim WS As Worksheet
    Dim myPath As String
    Dim myFile As String
   
    Set WS = ActiveSheet
    Set shp = WS.Shapes.Range(Array("Grup4"))

myPath = ThisWorkbook.Path
myFile = myPath & "\Test.jpg"

    Set ch = WS.ChartObjects.Add(shp.Left, shp.Top, shp.Width, shp.Height)
    shp.Select
    Selection.Copy

    ch.Chart.Paste
    Set tt = ch.Chart

    tt.Export Filename:=myFile, filtername:="JPG"

    ch.Delete

End Sub
 
Merhaba, iyi haftasonları iyi çalışmalar hocam;

Kod:
Sub SaveImage()
    Dim WS As Worksheet
    Dim myPath As String
    Dim myFile As String
    Dim shp As Shape
    Dim ch As ChartObject
   
    Set WS = ActiveSheet
   
    On Error Resume Next
    Set shp = WS.Shapes("Grup4")
    On Error GoTo 0
   
    If shp Is Nothing Then
        MsgBox "Grup4 adında bir şekil bulunamadı!", vbCritical
        Exit Sub
    End If

    myPath = ThisWorkbook.Path & "\"
    myFile = myPath & "Test.jpg"
   
    Set ch = WS.ChartObjects.Add( _
    Left:=shp.Left, _
    Top:=shp.Top, _
    Width:=shp.Width, _
    Height:=shp.Height _
)
   
    shp.Copy
    ch.Activate
    ch.Chart.Paste
    ch.Chart.Export Filename:=myFile, Filtername:="JPG"
   
    ch.Delete
    MsgBox "Resim başarıyla kaydedildi: " & myFile, vbInformation
End Sub
Çok teşekkür ederim Hocam
iyi akşamlar...
 
Merhaba, PNG formatında kaydederek ve çözünürlük arttırılarak sorun çözülür. Bu şekilde dener misiniz;

Kod:
Sub SaveImage()
    Dim WS As Worksheet
    Dim myPath As String
    Dim myFile As String
    Dim shp As Shape
    Dim ch As ChartObject
   
    Set WS = ActiveSheet
   
    On Error Resume Next
    Set shp = WS.Shapes("Grup4")
    On Error GoTo 0
   
    If shp Is Nothing Then
        MsgBox "Grup4 adında bir şekil bulunamadı!", vbCritical
        Exit Sub
    End If
   
    myPath = ThisWorkbook.Path & "\"
    myFile = myPath & "Test.png"
   
    Set ch = WS.ChartObjects.Add( _
        Left:=shp.Left, _
        Top:=shp.Top, _
        Width:=shp.Width, _
        Height:=shp.Height _
    )
   
    shp.CopyPicture Appearance:=xlScreen, Format:=xlPicture
    ch.Activate
    ch.Chart.Paste
    ch.Chart.Export Filename:=myFile, Filtername:="PNG"
    ch.Delete
    MsgBox "Resim başarıyla kaydedildi: " & myFile, vbInformation
End Sub
Çok teşekkür ederim Hocam Bu şekilde daha düzgün oldu.
iyi pazarlar...
 
Geri
Üst