2017年2月12日 星期日

Excel 使用欄位資料匯入圖片使用 VBA 程式

===2017/02/12 轉入===

因為工作上的需要所已找了網路上的資料寫了以下Excel 使用 VBA 匯入對應Excel內的欄位資料插入圖片然後圖片會自動調整為圖片大小




'==============程式碼開頭============



Sub Macro1()
'On Error Resume Next
'On Error GoTo labelname
Dim phtoname As String'




For i = 1 To 819'這裡因為我的資料有819列所以下1到189


phtoname = Range("h" & (i + 1)).Text    '抓取所欄位資料--看你的欄位是什麼我的是H欄位

Dim x As String
x = Dir("D:\圖片\" & phtoname & ".jpg")'偵測圖片是否存在
If x <> "" Then
FileExists = True
Else: FileExists = False
End If


' Macro1 Macro
If FileExists = True Then
Set p = ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "/圖片/" & phtoname & ".jpg")'讀取圖片
Set c = Range("m" & (i + 1)) '[b1]'圖片丟到所指定欄位我的圖片插在m欄位
p.Left = c.Left
p.Top = c.Top
p.Width = c.Width
p.Height = c.Height
Range("n" & (i + 1)).Value = "1" '成功讀取在n欄為裡寫下1
Else
Range("n" & (i + 1)).Value = "3" '沒圖片在欄位裡寫下3

End If


'
Next i
'
End Sub

 '==============程式碼結束============



使用這要注意我的本版為2007其他我不知道可不可以用

請將你的Excel檔放在D磁碟區下

你的圖片請在D磁碟區下開一個圖片的資料夾並把你的圖片放在裡面

希望可以幫到你們~~~~~~~~ y@W@y

1 則留言:

  1. 您好,
    我完全不會coding, 但工作上需要使用此功能,只是客戶表的圖是橫式(i.e. from B1 to KO1), 搜尋的圖片名都在row 2. 這樣不知要如何更改呢?

    回覆刪除

解決'Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上的問題

  解決'Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上的問題 環境 Server:Windows Server 2012 R2 Debug IDE: VS2019 Step1 確認是否有安裝Microsoft Access Dat...