DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub CopyRangeToGIF()
Dim rng As Range, cht As ChartObject, say As Double, obj As Object
Const strPath As String = "C:\rsm\"
Application.ScreenUpdating = False
Set obj = CreateObject("Scripting.FileSystemObject").GetFolder(strPath)
say = obj.Files.Count + 1
Set rng = Range(Selection.Address)
rng.CopyPicture xlScreen, xlPicture
Set cht = ActiveSheet.ChartObjects.Add(0, 0, rng.Width + 10, rng.Height + 10)
[COLOR=red]cht.Border.LineStyle = 0[/COLOR]
cht.Chart.Paste
cht.Chart.Export strPath & "" & say & ".jpg"
cht.Delete
ExitProc:
Set obj = Nothing: Set rng = Nothing: Set cht = Nothing
Application.ScreenUpdating = True
End Sub
Sub ResimCagir()
Dim yol As String, adres As String, rsm As Shape
Dim a As Double, b As Double
yol = "C:\rsm\"
adres = yol & "" & Sheets("Sayfa2").Range("A1") & ".jpg"
On Error Resume Next
For Each rsm In ActiveSheet.Shapes
If rsm.Name Like "*Picture*" Then rsm.Delete
Next rsm
ActiveSheet.Pictures.Insert adres
With Range("B15")
a = .Top
b = .Left
End With
With ActiveSheet.Pictures
.Top = a
.Left = b
End With
End Sub
gibi nokta tayin şeklinde değilde,yol = "C:\rsm\"
gibi.. Bundaki maksat; klasörün adresi konusunda daha özgür olmak için.. Aksi durumda, klasörün yeri değişince makro yol adresinde değiştirmek gerekiyor..yol = ThisWorkbook.Path & "\rsm\"
Sub CopyRangeToGIF()
Dim rng As Range, cht As ChartObject, say As Double, obj As Object
Dim strPath As String
strPath = ThisWorkbook.Path & "\"
Application.ScreenUpdating = False
Set obj = CreateObject("Scripting.FileSystemObject").GetFolder(strPath)
say = obj.Files.Count + 1
Set rng = Range(Selection.Address)
rng.CopyPicture xlScreen, xlPicture
Set cht = ActiveSheet.ChartObjects.Add(0, 0, rng.Width + 10, rng.Height + 10)
cht.Border.LineStyle = 0
cht.Chart.Paste
cht.Chart.Export strPath & "" & say & ".jpg"
cht.Delete
ExitProc:
Set obj = Nothing: Set rng = Nothing: Set cht = Nothing
Application.ScreenUpdating = True
End Sub
Sub ResimCagir()
Dim yol As String, adres As String, rsm As Shape
Dim a As Double, b As Double
yol = "C:\rsm\"
adres = yol & "" & Sheets("Sayfa2").Range("A1") & ".jpg"
On Error Resume Next
For Each rsm In ActiveSheet.Shapes
If rsm.Name [COLOR=blue]= "Resim 1"[/COLOR] Then rsm.Delete
Next rsm
ActiveSheet.Pictures.Insert adres
With Range("B15")
a = .Top
b = .Left
End With
With ActiveSheet.Pictures
[COLOR=blue] .Select[/COLOR]
[COLOR=blue] Selection.Name = "Resim 1"[/COLOR]
.Top = a
.Left = b
End With
[COLOR=blue] Range("B15").Select[/COLOR]
End Sub
Merhabalar.Ekrem bey,
İşlerimin yoğunluğu nedeniyle akşam yanıtlarım diye bırakmıştım fakat unutmuşum. Geçmişi kontrol ederken konuyu şimdi gördüm.
Sadece aktif sayfa için ve sıralı resim adları için kodları aşağıdaki gibi değiştirin.
.Kod:Sub CopyRangeToGIF() Dim rng As Range, cht As ChartObject, say As Double, obj As Object Const strPath As String = "C:\rsm\" Application.ScreenUpdating = False Set obj = CreateObject("Scripting.FileSystemObject").GetFolder(strPath) say = obj.Files.Count + 1 Set rng = Range(Selection.Address) rng.CopyPicture xlScreen, xlPicture Set cht =ActiveSheet.ChartObjects.Add(0, 0, rng.Width + 10, rng.Height + 10) cht.Chart.Paste cht.Chart.Export strPath & "myfile" & say & ".jpg" cht.Delete ExitProc: Set obj = Nothing: Set rng = Nothing: Set cht = Nothing Application.ScreenUpdating = True End Sub
Bu istediğinizi #14 numaralı mesajdaki dosyada bulabilirsiniz.
Kıymetli üstadlar seçili alanları jpeg yapma ile ilgili bu konu başlığı altında katıkıda bulunan herkese çok teşekkürler öncelikle. Benim de aynı konuda iki isteğim ricam olacak, 1.si jpeg yaparak kaydettiğimiz dosyaya bizim istediğimiz alandan isim verebilir miyiz? 2. si benim sayfamda bir sayfada birden fazla alan var jpeg yapmak istediğimiz. Her defasında alan seçip jpeg yapmak yerine tek bir kodla istediğimiz jpeg donüştürme işlemlerinin hepsini gerçekleştirebilir miyiz?Ekrem bey,
İşlerimin yoğunluğu nedeniyle akşam yanıtlarım diye bırakmıştım fakat unutmuşum. Geçmişi kontrol ederken konuyu şimdi gördüm.
Sadece aktif sayfa için ve sıralı resim adları için kodları aşağıdaki gibi değiştirin.
.Kod:Sub CopyRangeToGIF() Dim rng As Range, cht As ChartObject, say As Double, obj As Object Const strPath As String = "C:\rsm\" Application.ScreenUpdating = False Set obj = CreateObject("Scripting.FileSystemObject").GetFolder(strPath) say = obj.Files.Count + 1 Set rng = Range(Selection.Address) rng.CopyPicture xlScreen, xlPicture Set cht =ActiveSheet.ChartObjects.Add(0, 0, rng.Width + 10, rng.Height + 10) cht.Chart.Paste cht.Chart.Export strPath & "myfile" & say & ".jpg" cht.Delete ExitProc: Set obj = Nothing: Set rng = Nothing: Set cht = Nothing Application.ScreenUpdating = True End Sub