• DİKKAT

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

RESMİ BULAMAZSAN BU YOLDA Kİ RESMİ GÖSTER

yamahato

Altın Üye
Katılım
20 Mayıs 2009
Mesajlar
236
Excel Vers. ve Dili
excel 2007
Merhaba
Excelde ki bir veri programımda ürün bilgisinde ürünlerin fotoları gözüküyor.
Biz bu programı herkezin kullanabilmesi için onedrive yükledik.
USEFORMDA DA FOTOLARIN gözükmesi için aşağıda ki kodu yazdık.
' *************** IMAGE 1 RESİM EKLEME ***************

Set dosya = CreateObject("Scripting.FileSystemObject")
resim_varmi = dosya.FileExists("C:\Users\HP\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & TextBox2.Value & ".jpg")
If resim_varmi Then
Me.Image1.Picture = LoadPicture("C:\Users\HP\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & TextBox2.Value & ".jpg")

' *************** IMAGE 1 RESİM YOK İSE ***************
Else
Me.Image1.Picture = Nothing
Me.Image1.Picture = LoadPicture("C:\Users\HP\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & 201810221 & ".jpg")
End If
End Sub

Şimdi burada ki sorun şu?
onedrive yolu her bilgisayarda o bilgisayarın adı ile başladığı için resim diğer bilgisayarda gözükmüyor.
her seferinde resim çağırma kodunu değiştirmek zorunda kalıyorum.
' *************** IMAGE 1 RESİM EKLEME ***************

Set dosya = CreateObject("Scripting.FileSystemObject")
resim_varmi = dosya.FileExists("C:\Users\vaio\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & TextBox2.Value & ".jpg")
If resim_varmi Then
Me.Image1.Picture = LoadPicture("C:\Users\vaio\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & TextBox2.Value & ".jpg")

' *************** IMAGE 1 RESİM YOK İSE ***************
Else
Me.Image1.Picture = Nothing
Me.Image1.Picture = LoadPicture("C:\Users\HP\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & 201810221 & ".jpg")
End If
End Sub

Buna kalıcı bir çözüm nasıl yapabilirim. Yani Şu mantıkla bir kod yazmalıyım.

' *************** IMAGE 1 RESİM EKLEME ***************

Set dosya = CreateObject("Scripting.FileSystemObject")
resim_varmi = dosya.FileExists("C:\Users\HP\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & TextBox2.Value & ".jpg")
BURADA RESİM BULAMAZSAN
resim_varmi = dosya.FileExists("C:\Users\vaio\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & TextBox2.Value & ".jpg")
BURADA Kİ RESMİ GETİR.
If resim_varmi Then
Me.Image1.Picture = LoadPicture("C:\Users\HP\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & TextBox2.Value & ".jpg")
BURADA RESİM BULAMAZSAN
resim_varmi = dosya.FileExists("C:\Users\vaio\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & TextBox2.Value & ".jpg")
BURADA Kİ RESMİ GETİR.

' *************** IMAGE 1 RESİM YOK İSE ***************
Else
Me.Image1.Picture = Nothing
Me.Image1.Picture = LoadPicture("C:\Users\HP\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & 201810221 & ".jpg")
BURADA RESİM BULAMAZSAN
resim_varmi = dosya.FileExists("C:\Users\vaio\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & TextBox2.Value & ".jpg")
BURADA Kİ RESMİ GETİR.
End If
End Sub
 
Merhaba
Excelde ki bir veri programımda ürün bilgisinde ürünlerin fotoları gözüküyor.
Biz bu programı herkezin kullanabilmesi için onedrive yükledik.
USEFORMDA DA FOTOLARIN gözükmesi için ...

Merhaba,
Eğer resimleriniz ile dosyanız aynı yerde ise ActiveWorkbook.Path kullanabilirsiniz. Sitede arama yapıp örnek yol tanımlamalarını inceleyebilirsiniz.
İyi çalışmalar.
 
Alternatif;

Kendinize uyarlarsınız.

C++:
Sub Test()
    MsgBox "C:\Users\" & Environ("Username") & "\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & 201810221 & ".jpg"
End Sub
 
Koray hocam anlayamadım. Azıcık açıklarmısınız?
 
Paylaştığım kod bloğundaki aşağıdaki bölüm kullanıcı adını verecektir.

Siz bu adı kullanarak resim adreslerinizi dinamik hale getirebilirsiniz.

Environ("Username")
 
Paylaştığım kod bloğundaki aşağıdaki bölüm kullanıcı adını verecektir.

Siz bu adı kullanarak resim adreslerinizi dinamik hale getirebilirsiniz.

Environ("Username")

Ustam aşağıda ki koda göre hem HP hemde vaio bilgisayarlara göre önerdiğin çözümü kodda ki yerine yazarsan ben geri kalan bilgisayarları örneğe göre kod satırına eklerim.

Else
Me.Image1.Picture = Nothing
Me.Image1.Picture = LoadPicture("C:\Users\HP\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & 201810221 & ".jpg")
End If
End Sub
 
Deneyiniz.

C++:
Me.Image1.Picture = LoadPicture("C:\Users\" & Environ("Username") & "\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & 201810221 & ".jpg")
 
Me.Image1.Picture = LoadPicture("C:\Users\" & Environ("Username") & "\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & 201810221 & ".jpg")


' *************** IMAGE 1 RESİM EKLEME ***************

Set dosya = CreateObject("Scripting.FileSystemObject")
resim_varmi = dosya.FileExists("C:\Users\" & Environ("Username") & "\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & TextBox2.Value & ".jpg")
If resim_varmi Then
Me.Image1.Picture = LoadPicture("C:\Users\" & Environ("Username") & "\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR" & TextBox2.Value & ".jpg")

' *************** IMAGE 1 RESİM YOK İSE ***************
Else
Me.Image1.Picture = Nothing
Me.Image1.Picture = LoadPicture("C:\Users\" & Environ("Username") & "\OneDrive\Belgeler\VOLANT HASTANESİ\TOPLU FOTOLAR\" & 201810221 & ".jpg")
End If
End Sub

Kodu bu hale getirdim. hp isimli bilgisayarda denedim. her üründe ımage 1 resim yok ise isimli kod satırında ki 201810221 & ".jpg" resim geliyor. .Normalde TextBox2 DEĞERLE KAYDEDİLMİŞ RESİM geliyordu.
 
Kodu F8 ile adım adım çalıştırıp ilgili komutun aldığı değeri kontrol ediniz.
 
OK TEŞEKKÜR EDERİM
 
Geri
Üst