2014-12-04 66 views
1

我需要我的代碼解決方案,我需要一個「MyDir」從Sheet1.Range(「A1」)讀取路徑。這是從「MyDir」+圖像名稱加載圖像的代碼,但它僅在您爲MyDir代碼放入代碼時纔有效,例如:* C:\ Users \ Me \ Desktop *。但我不希望出現這種情況,我想* C:\用戶\我\桌面*從Sheet1.Range("A1")讀,有人可以幫助我這個代碼:如何將範圍聲明爲Path?

Dim MyDir As Range 
Set MyDir = Sheet1.Range("A1") 
If Len(Dir("MyDir" & TextBox1.Text & ".jpg")) > 0 Then 
    Image1.Picture = LoadPicture("MyDir" & TextBox1.Text & ".jpg") 
Else 
    Image1.Picture = LoadPicture("") 
End If 
+0

您是否嘗試過沒有'MyDir'周圍的引號? – tospig 2014-12-04 02:24:26

+0

是的,如果你想把C:\ Users \ Me \ Desktop \ – 2014-12-04 02:31:14

+0

放到引號去,你不需要引號,因爲你已經爲變量MyDir指定了路徑 – tospig 2014-12-04 02:34:52

回答

1

您不需要MyDir附近的引號。

我還測試了使用Dir() <> ""

這裏我的圖像文件的存在被稱爲「code_pic.jpg」。

Sub image() 

    Dim MyDir As Range 
    Set MyDir = Sheet1.Range("A1") 

    If Dir(MyDir) <> "" Then 
     Set Sheet1.Image1.Picture = LoadPicture(MyDir & "\code_pic.jpg") 
    Else 
     Set Sheet1.Image1.Picture = LoadPicture("") 
    End If 

End Sub 
0

變量MYDIR是在引號。

Sub test() 

Dim fullpath_and_name As String 

Dim MyDir As Range 

Set MyDir = Sheet1.Range("A1") 

fullpath_and_name = MyDir & "\" & "test.bmp" 

Debug.Print Dir(fullpath_and_name) 

If Len(Dir(MyDir & "\" & "test.bmp")) > 0 Then 

    Image1 = LoadPicture(MyDir & "\" & "test.bmp") 

Else 

Image1 = LoadPicture("") 

End If 

End Sub 

我無法得到Image1.Picture工作,但代碼的萊恩(...)部分做工作,所以剩下的只是讀取圖片。

+0

你需要指定你想要的圖片'Image1'的屬性,即'Image1.Picture' – tospig 2014-12-04 02:40:28