返回列表 上一主題 發帖

[發問] 自訂表單內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)

回復 1# mgame168


    Picture.zip (36.12 KB)
學海無涯_不恥下問

TOP

回復 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

回復 4# mgame168
測試並無"沒有權限"的問題產生

   Picture2.zip (41.92 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

回復 6# mgame168
那就不要去重新命名圖片


    Picture2-2.rar (40.45 KB)
學海無涯_不恥下問

TOP

回復 3# mgame168


    權限問題有可能是
1.當前使用者帳戶並無管理權限
2.軟體出錯(之前就發生過)

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

        靜思自在 : 並非有錢魷是快樂,問心無愧心最安。
返回列表 上一主題