joyce 發問時間: 電腦與網際網路軟體 · 8 年前

如何將Excel和照片放在同一個工作表內

我有一個產品資料檔,內容產品類別、產品編號、品名、數量、金額....等,現在想在多一欄照片欄放進照片,每個照片名稱取名都和產品編號相同,請問有什麼快速方式可將照片放上,(資料約上千筆)拜託,請協助我,謝謝。

1 個解答

評分
  • 8 年前
    最佳解答

    <範例檔>VBA.快速插入商品圖片:

    http://www.funp.net/740997

    2012-09-02 14:52:54 補充:

    EXCEL VBA.商品型錄.在〔目錄表〕中快速載入〔商品圖片〕

                             <.准提部林.>

    ---------------------------------

    ■列表樣式:

    圖片參考:http://imgcld.yimg.com/8/n/AB07101627/o/1612083002...

     

    ■操作方法:

     1.在儲存格B1〔雙按滑鼠左鍵〕,可更新全部圖片,

       〔按右鍵〕可刪除全部圖片。

     2.在B2以下〔雙按滑鼠左鍵〕,可〔插入〕單張圖片,

       再按一次則〔刪除〕該張圖片。

     3.〔圖片檔案〕必須放在本檔案同一層〔子資料夾〕中,

       圖檔副檔名為〔.JPG〕。

     

    ■程式碼1:

     Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

     With Target

       If .Count > 1 Then Exit Sub

       If .Address = "$B$1" Then

        Cancel = True

        If MsgBox("※要載入全部圖片嗎?", 4 + 32 + 256) = vbNo Then Exit Sub

         Call 載入全部圖片: Exit Sub

        End If

       If .Column <> 2 Or .Row < 2 Or .Value = "" Then Exit Sub

       Cancel = True: Set xRng = .Cells(1, 1): Set ShpRng = .Cells(1, 5)

       Call 圖片刪除_單張

       If DelImgChk = 1 Then Exit Sub

       Call 插入圖片: Beep

     End With

     End Sub

     

    ■程式碼2: 搜尋及載入〔主檔〕同層子資料夾中的圖檔

     Sub 插入圖片()

     Dim TestObj, TestFolder, xFolder, xImgFile$

     Set TestObj = CreateObject("Scripting.FileSystemObject")

     Set TestFolder = TestObj.GetFolder(ThisWorkbook.Path).SubFolders

     If TestFolder.Count = 0 Then MsgBox "※找不到圖片資料夾!": Exit Sub

     For Each xFolder In TestFolder

       xImgFile = xFolder & "\" & xRng & ".JPG"

       If Dir(xImgFile) <> "" Then

        ActiveSheet.Pictures.Insert (xImgFile)

        With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)

          .LockAspectRatio = msoTrue

          If .Width > ShpRng.Width - 4 Then .Width = ShpRng.Width - 4

          If .Height > ShpRng.Height - 4 Then .Height = ShpRng.Height - 4

          .Left = ShpRng.Left + (ShpRng.Width - .Width) / 2

          .Top = ShpRng.Top + (ShpRng.Height - .Height) / 2

        End With

        Exit For

       End If

     Next

    End Sub

    ---------------------------------

    <範例檔>註解及其他程式碼,請參閱下載檔:

    http://www.funp.net/740997

    ---------------------------------

還有問題?馬上發問,尋求解答。