• DİKKAT

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

Soru Makro ile web sitesinden değişken resim çağırma

Katılım
25 Temmuz 2011
Mesajlar
83
Excel Vers. ve Dili
2019
Merhaba hocalarım,

alttaki makro ile pc deki klasörden resim çağırabiliyorum.Peki bir http://ozgunaydin.epizy.com/8697353524394.jpg gibi bir sayfadan resim çağırabilir miyim


PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Dim satir As Long
If Not Intersect(Target, Range("f5:f60000")) Is Nothing Then
satir = Target.Row
yol = "C:\Users\Pazarlama\Sipariş resimleri\" & Range("A" & satir).Value & ".jpg"
resim_degistir yol
End If
If Not Intersect(Target, Range("f5:f60000")) Is Nothing Then 'seçili hücre F sütununda ise
        Range("A3") = Target.Offset(0, -4) ' c2 hücresine seçili olan hücrenin aynı satırındaki 5 sütun solundaki değeri yaz.
    End If
    
    If Not Intersect(Target, Range("f5:f60000")) Is Nothing Then 'seçili hücre F sütununda ise
        Range("C3") = Target.Offset(0, 0) ' c2 hücresine seçili olan hücrenin aynı satırındaki 5 sütun solundaki değeri yaz.
    End If
End Sub
 
Merhaba,
Öncelikle resmi paylaştığınız kod çağırmıyorsunuz, dosyanızda resim_degistir isminde başka bir kod ile resim çağırıyorsunuz. Yani değişimin o kodda yapılması gerekiyor.
Bu işlem mantık olarak resmin belirli bir konuma indirilmesi ve indirilen bu resmin çağırılması şeklinde yapılıyor. Sitede daha önce web'ten resim indirme üzerine örnekler işlenmişti. İndirme kodu ile resim çağırma kodunuzu birleştirebilirsiniz...
İyi çalışmalar...
 
Merhaba,
Öncelikle resmi paylaştığınız kod çağırmıyorsunuz, dosyanızda resim_degistir isminde başka bir kod ile resim çağırıyorsunuz. Yani değişimin o kodda yapılması gerekiyor.
Bu işlem mantık olarak resmin belirli bir konuma indirilmesi ve indirilen bu resmin çağırılması şeklinde yapılıyor. Sitede daha önce web'ten resim indirme üzerine örnekler işlenmişti. İndirme kodu ile resim çağırma kodunuzu birleştirebilirsiniz...
İyi çalışmalar...
Cevap için teşekkürler hocam,

Dediğiniz gibi uygulamalardan bir kaç örnek denedim ama http://ozgunaydin.epizy.com/8697353524394.jpg resmi indiriyor ama acmıyor.Nedeni biliyor musunuz?benim resimlerim bu sunucuda
 
Örneğin resmi C:\resim\indir.jpg şeklinde indirdiğinizi varsayalım. Yukarıda paylaştığınız koda göre resim_degistir "C:\resim\indir.jpg" gibi bir kod işinizi görecektir. Bunu bir değişkene alarak da kullanabilirsiniz.
 
Örneğin resmi C:\resim\indir.jpg şeklinde indirdiğinizi varsayalım. Yukarıda paylaştığınız koda göre resim_degistir "C:\resim\indir.jpg" gibi bir kod işinizi görecektir. Bunu bir değişkene alarak da kullanabilirsiniz.
Yok hocam onu demek istemiyorum.Resimi bulunduğu klasörde manuel olarak çift click ile açmaya çalıştığımda dosya bozuk diye hata veriyor.Başka linklerde açılıyor.Kullandığım kodu altta veriyorum.Sayfanın ssl sertifikası olmadığı için hata veriyor olabilir mi?

Kod:
Const FolderName As String = "c:\TestFolder\"

Sub fotoindir()

 Set ws = ActiveWorkbook.Sheets("Sheet2")
 lLastRow = ws.Range("A" & Rows.Count).End(xlUp).Row

 Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.6.0")
 Set oBinaryStream = CreateObject("ADODB.Stream")
 adTypeBinary = 1
 oBinaryStream.Type = adTypeBinary

 For i = 2 To lLastRow
  sPath = FolderName & ws.Range("B" & i).Value & ".jpg"
  sURI = ws.Range("A" & i).Value

  On Error GoTo HTTPError
  oXMLHTTP.Open "GET", sURI, False
  oXMLHTTP.Send
  aBytes = oXMLHTTP.responsebody
  On Error GoTo 0

  oBinaryStream.Open
  oBinaryStream.Write aBytes
  adSaveCreateOverWrite = 2
  oBinaryStream.SaveToFile sPath, adSaveCreateOverWrite
  oBinaryStream.Close

  ws.Range("C" & i).Value = "fotoğraf başarıyla indirildi"

NextRow:
 Next

 Exit Sub

HTTPError:
 ws.Range("C" & i).Value = "fotoğraf inerken sorun oluştu"
 Resume NextRow

End Sub
[code\]
 
Örneğin resmi C:\resim\indir.jpg şeklinde indirdiğinizi varsayalım. Yukarıda paylaştığınız koda göre resim_degistir "C:\resim\indir.jpg" gibi bir kod işinizi görecektir. Bunu bir değişkene alarak da kullanabilirsiniz.
ssl sertifikası da aldım yine hatalı dosya indiriyor.indirdiği dosyada çıkan hatayı altta gönderiyorum


238073
 
Evet,
Maalesef anladım, ama çözüm bulamadım.
İndirmek için farklı metotlar kullandığımda da sonuç değişmedi.
 
Çünkü söz konusu resim gerçek bir "jpg" dosyası değil.

Tarayıcıda görüntülenen dosyayı bilgisayara indirip de dosyanın binary kodlarına bakınca, anlaşılıyor. Bu nedenle Excel, dosya biçiminin desteklenmediği mesajını veriyor....

.
 
Son düzenleme:
Çünkü söz konusu resim gerçek bir "jpg" dosyası değil.

Tarayıcıda görüntülenen dosyayı bilgisayara indirip de dosyanın binary kodlarına bakınca, anlaşılıyor. Bu nedenle Excel, dosya biçiminin desteklenmediği mesajını veriyor....

.
Merhabalar hocam,ben normal jpg olarak atmıştım aslında.infinityfree nin yapısından mi kaynaklanıyor acaba?Ne yapabiliriz?
 
Sanmıyorum..... o "jpg" dosyasını siz oluşturduysanız, o işlemde bir sıkıntı var gibi görünüyor....

.
 
Haluk Bey,
Dosyanın uyumsuz olması benim de aklıma gelmişti, ama ben binary vs anlamadığım için dosyayı indirip doğrudan Excel'e atmayı denedim. Excel de manuel indirilen dosyayı açınca bu ihtimali elemiştim.
Yine ActiveSheet.Pictures.Insert kodunu kullanarak Url üzerinden ve bilgisayardan ekleme yapmaya çalıştım. Aynı dosyayı bilgisayara indirdiğimde kod çalıştı, fakat url girdiğimde hata oluştu. Bu sebeple indirme ile ilgili bir hata (belki sitenin engellemesi) olabileceğini düşünmüştüm.
 
Sanmıyorum..... o "jpg" dosyasını siz oluşturduysanız, o işlemde bir sıkıntı var gibi görünüyor....

.
Tekrar Merhabalar hocam,excel ile farklı bir siteden indirdiğim jpg i infintyfree e attım yine hatalı olarak indirdi malesef.Sizce çözüm için başka bir hosting e mi geçmem gerekir?Yoksa makro ile halledilebilir mi?
Hem subdomain hem hsoting veren başka bir yer var mıdır?Yardımlarınız için şimdiden teşekkürler
 
Haluk Bey,
Dosyanın uyumsuz olması benim de aklıma gelmişti, ama ben binary vs anlamadığım için dosyayı indirip doğrudan Excel'e atmayı denedim. Excel de manuel indirilen dosyayı açınca bu ihtimali elemiştim.
Yine ActiveSheet.Pictures.Insert kodunu kullanarak Url üzerinden ve bilgisayardan ekleme yapmaya çalıştım. Aynı dosyayı bilgisayara indirdiğimde kod çalıştı, fakat url girdiğimde hata oluştu. Bu sebeple indirme ile ilgili bir hata (belki sitenin engellemesi) olabileceğini düşünmüştüm.
Tekrar Merhabalar hocam,excel ile farklı bir siteden indirdiğim jpg i infintyfree e attım yine hatalı olarak indirdi malesef.Sizce çözüm için başka bir hosting e mi geçmem gerekir?Yoksa makro ile halledilebilir mi?
Hem subdomain hem hsoting veren başka bir yer var mıdır?Yardımlarınız için şimdiden teşekkürler
 
Natro.com en iyisidir. Yıllardır çalışırız.
Görüşmenizi tavsiye ederim.
 
Forum Admin'i @Hüseyin Bey ile görüşün, ElitNet olarak size bu konuda alternatifler sunarak yardımcı olacaktır....

.
 
Natro.com en iyisidir. Yıllardır çalışırız.
Görüşmenizi tavsiye ederim.
Merhabalar,
Teşekkür ederim öneriniz için,bir deneme projesi yapacağım.Sadece resimlerimi barındırıp indirebileceğim bir yer lazım.Burası da çok pahalı bir yer değil ama dediğim gibi deneme çalışması olacak.Ücretsiz tavsiyeleriniz varsa çok sevinirim.

İyi çalışmalar
 
Geri
Üst