返回列表 上一主題 發帖

[發問] 自訂表單內Image.Picture能不能載入工作表內的圖片

[發問] 自訂表單內Image.Picture能不能載入工作表內的圖片

我有一工作表Sheet1.Range("O2")~("O4"), 內有3張圖片
自訂表單內有一Image控制項
原控制項載入圖片 Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & Sheets(1).Range("N2") & ".jpg")
請問控制項載入圖片的來源能否改為Sheet1.Range("O2")(圖片 6)~("O4")(圖片 8)如附件
麻煩各位幫忙一下!!  謝謝!!

附件 Picture.zip (51.43 KB)

回復 2# Hsieh

感謝 Hsieh 板大的幫忙
依照您的方法果然問題迎刃而解
但經試過另一個問題產生了
若我將Sheets1的圖片順序位置調整則發生兩個問題
1.Sheets1的圖片名稱定義Sp.Name = n & ".jpg" 會出現'沒有使用權限
   錯誤訊息
2.UserForm1內的OptionBotton的排列順序
For Each Sp In Sheet1.Shapes 將Sheets1的圖片依產生的順序排列
是否可以依Sheet1內N2~Nx排列呢?
感謝Hsieh 板大

TOP

回復 2# Hsieh


    附件 Picture2.zip (42.9 KB)

TOP

本帖最後由 mgame168 於 2012-9-12 12:05 編輯

回復 5# Hsieh

UserForm1內的OptionBotton的排列順序容我再測試 !!

    您可以試試將現有Sheet1內車子的照片與黑白色鐵槌的照片
用拖曳的方式將兩張圖的位置手動對調就會出現"'沒有使用權限"

'解決改變Sheet1的圖片順序會造成"沒有使用權限"的錯誤
  For Each Sp In Sheet1.Shapes   
    If Sp.Type = msoPicture Then
       n = Sp.TopLeftCell.Offset(, -1)
       Sp.Name = n & "Temp" '先把Picture物件的名子改掉避免對調後物件名子重複
    End If
  Next

For Each Sp In Sheet1.Shapes
    If Sp.Type = msoPicture Then
       n = Sp.TopLeftCell.Offset(, -1).Text
        fs = ThisWorkbook.Path & "\" & n & ".jpg"
        SaveAsPic Sp, fs
        Sp.Name = n & ".jpg"  '沒有使用權限
        i = Sp.TopLeftCell.Row - 2
        Obs(i).MyOpton.Caption = n
        Image1.PictureSizeMode = 1
    End If
  Next

Picture2-2.zip (43.84 KB)

TOP

        靜思自在 : 【生命在呼吸間】佛陀說:「生命在呼吸間。」人無法管住自己的生命,更無法擋住死期,讓自己永住人間。既然生命去來這麼無常,我們更應該好好地愛惜它、利用它、充實它,讓這無常、寶貴的生命,散發它真善美的光輝,映照出生命真正的價值。
返回列表 上一主題