• DİKKAT

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

Sayfadaki resimlerin boyutunu öğrenmek

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,202
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar,

Ekli dosya içerinde iki farklı onay kutusu resimi var, biri onaysız, diğeri onaylı
bu resimleri biribirinden ayırt etmek için aklıma gelen ilk yöntem boyutlarını (KB) öğrenmek,

aşağıdaki kodla resim isimlerini öğrenebiliyoruz, boyutlarını nasıl alabiliriz
Kod:
Sub ShpName_1()

    Dim shp As Shape
    i = 2
    For Each shp In ActiveSheet.Shapes
        
        If shp.Name Like "Picture*" Then
        
         Cells(i, 5) = shp.Name
        i = i + 1
        End If
        
    Next shp

End Sub

iyi çalışmalar.
 

Ekli dosyalar

  • Shape.jpg
    Shape.jpg
    18.6 KB · Görüntüleme: 15
  • Shape1.xlsx
    Shape1.xlsx
    13 KB · Görüntüleme: 16
Kod:
MsgBox ActiveSheet.Shapes(1).Height'Yükseklik
MsgBox ActiveSheet.Shapes(1).Width'Genişlik
 
Kod:
MsgBox ActiveSheet.Shapes(1).Height'Yükseklik
MsgBox ActiveSheet.Shapes(1).Width'Genişlik

Sn HamitCan verdiğiniz kodda her iki resimde de aynı değerleri alıyorum,

ben tikli ve boş onay kutularını bir şekilde ayırt etmek istiyorum, yani farklı değerleri alabileceğim bir yöntem bulmam gerekli.

benim aklıma gelen yöntem resimin dosya boyutu oldu, çünkü birinin içi dolu olduğu için byte değeri yüksek çıkar diye düşündüm.


teşekkürler, iyi çalışmalar.
 
Sn tamer,
Resimlerde çakışmayacak en garanti özellik resmin ismidir. Resimlerin isimlerini karşılaştırarak işlem yapın.
 
Sn tamer,
Resimlerde çakışmayacak en garanti özellik resmin ismidir. Resimlerin isimlerini karşılaştırarak işlem yapın.

Sn Hocam resimin ismi benim işimi görmüyor; eğer isime göre işlem yapabilseydim zaten soru sormama gerek kalmazdı...
iyi çalışmalar.
 
Onaylı olup olmadığı işinizi görür mü ?
 
Sn Hocam resimin ismi benim işimi görmüyor; eğer isime göre işlem yapabilseydim zaten soru sormama gerek kalmazdı...
iyi çalışmalar.
Sorunuzu tam okumamışım, biraz dikkatsiz davrandım. Yoksa zaten elinizde olan bir yöntemi dayatma gibi bir amacım yok, yanlış anlaşılmasın.

Sorunuzu baştan sona dikkatlice okuyunca ve dosyanızdaki resimleri inceleyince durum kafamda şekillendi.
Sanırım dosyanızdaki seçenek kutuları excelin yerleşik nesneleriyle oluşturulmamış, dolayısıyla işaretleyip işareti kaldırma gibi bir imkanımız olmuyor.

Excel dosyasındaki bir resmin doğrudan boyutunu öğrenebiliyor muyuz bilmiyorum. Şimdiye kadar rastlamadım. Ama dolaylı yollardan bunu yapmak mümkün. Aşağıdaki şekilde bir yöntem geliştirdim. Sanırım ihtiyacınızı karşılayacaktır. Yalnız dikkat etmeniz gereken husus, boyutu etkileyen bir çok hususun olmasıdır. Çözünürlük, hacim gibi öğeler boyutta değişkenliğe sebep olacaktır. Yani resmin durumuna göre işaretli görünen resim diğerine göre kb bazında daha büyük olabileceği gibi bunun tam tersinin olması da mümkündür.

Bununla birlikte bu işlemle nasıl bir sonuca ulaşmak istediğinizi belirtirseniz farklı alternatifler de sunabiliriz.

Kod:
Sub ShpName_1()
Dim resim As ChartObject
Application.ScreenUpdating = False
For Each shp In ActiveSheet.Shapes
Say = Say + 1
Set resim = ActiveSheet.ChartObjects.Add(0, 0, ActiveSheet.Shapes(1).Width, ActiveSheet.Shapes(1).Height)
shp.Copy
With resim
    .Chart.Paste
    .Chart.ChartArea.Border.LineStyle = 0
     yol = ThisWorkbook.Path & "\nesne" & ".jpg"
    .Chart.Export yol
    .Delete
End With
Cells(Say + 1, 5) = FileLen(yol)
Next
Kill yol
Application.CutCopyMode = False
End Sub
 
Sayın lemruk'a katılıyorum. Bu şekiller birer resim olduğu için üzerlerinde çalışmak zor. Belki vardır ama ben bilmiyorum.
 
Geri
Üst