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

Katılım
29 Ocak 2024
Mesajlar
172
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
 
Katılım
11 Temmuz 2024
Mesajlar
312
Excel Vers. ve Dili
Excel 2021 Türkçe
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
 
Katılım
29 Ocak 2024
Mesajlar
172
Excel Vers. ve Dili
Office 2016
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...
 
Katılım
29 Ocak 2024
Mesajlar
172
Excel Vers. ve Dili
Office 2016
Katılım
11 Temmuz 2024
Mesajlar
312
Excel Vers. ve Dili
Excel 2021 Türkçe
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
 
Katılım
29 Ocak 2024
Mesajlar
172
Excel Vers. ve Dili
Office 2016
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...
 
Katılım
11 Temmuz 2024
Mesajlar
312
Excel Vers. ve Dili
Excel 2021 Türkçe
Rica ederim hocam, iyi çalışmalar
 
Üst