首頁 > 軟體

EXCEL技巧——怎樣自動新增照片

2019-12-06 17:42:27

  在採集員工資訊或者學生資訊的時候,常常需要新增上照片,如果資訊量比較大,我們通過插入圖片的方式來完成就比較困難,這裡我們嘗試用巨集來解決這個問題。

1

  首先我們需要把照片放到檔案夾裡面,命名為111,然後把工作表和檔案夾111放在同一目錄=C:Documents and SettingsAdministrator桌面111,工作表的建立形式如圖所示。




2

  開啟工作表,點選開發工具——巨集,開啟巨集編輯視窗,在巨集名稱中輸入「AutoAddPic」,單擊「建立」按鈕,開啟巨集編輯器。




3

   在  Sub AutoAddPic()

       End Sub

   中間輸入以下程式碼,儲存後,關閉。

 For Each Shp In ActiveSheet.Shapes

    If Shp.Type = msoPicture Then Shp.Delete

    Next

    Dim MyPcName As String

    For i = 1 To ThisWorkbook.ActiveSheet.UsedRange.Rows.Count

    If (ActiveSheet.Cells(i, 1).Value = "姓名") Then     

    MyPcName = ActiveSheet.Cells(i, 2).Value & ".jpg"    

    ActiveSheet.Cells(i + 1, 2).Select

    Dim MyFile As Object

    Set MyFile = CreateObject("Scripting.FileSystemObject")

    If MyFile.FileExists(ThisWorkbook.Path & "" & "111" & "" & MyPcName) = False Then

    MsgBox ThisWorkbook.Path & "" & "111" & "" & MyPcName & "暫無圖片"

    Else

    ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "" & "111" & "" & MyPcName).Select

    End If

    End If

    Next i



4

  開啟工作表,點選開發工具——巨集,開啟巨集編輯視窗,選擇AutoAddPic,單擊執行,這時候,工作表中就插入了照片。



1

? ?If (ActiveSheet.Cells(i, 1).Value = "姓名") Then ? ??? ? MyPcName = ActiveSheet.Cells(i, 2).Value & ".jpg" ? ?? ? ActiveSheet.Cells(i + 1, 2).Select? ? Dim MyFile As Object? ? Set MyFile = CreateObject("Scripting.FileSystemObject")意思是在(i, 1)中如果單元格內容是「姓名」,在它右邊
相鄰單元格內容是「XXX」,那麼在下面的單元格中有以下情況。

2

??ThisWorkbook.Path & "" & "111" & "" & MyPcName,其中ThisWorkbook.Path是指該工作表的路徑,111是檔案夾的名稱,

IT145.com E-mail:sddin#qq.com