我雖然能寫幾行VBA代碼,但是整體上還是一個小白。我發(fā)的一些辦公小技巧,之所以分享是因為比較實用,既然實用就不追求完美。分享的過程其實是不斷自學(xué)的過程,如果能給別人帶來幫助更好。我也盡量選擇網(wǎng)絡(luò)上不是太容易查到的方法。

把文件放到word_把文件放在word里_在word里怎么把另一個文件插到里面

向Word文檔批量插入圖片的方法有好多種, Word郵件合并是比較常見的方法。不過這并不是本文介紹的方法。介紹郵件合并的網(wǎng)絡(luò)資源很多,大家可以自行檢索。

假設(shè)有一組Word格式文本,需要填寫不同的內(nèi)容,包括插入不同的圖片,批量生成新的文檔,例如與簽訂合同、制作檔案、填寫審批表等等, Word郵件合并功能是一個非常驚艷的工具。

但是利用郵件合并功能插入圖片。不僅程序比較復(fù)雜,而且能不能夠達到預(yù)期的效果,仿佛要看Word軟件的心情,有時候很順利,有時候它怎么都不聽話,要么不能成功插入圖片,要么插入圖片的格式不理想。

我搜索了很多解決方案,但是都不能根本解決問題,后來干脆另辟蹊徑,就是今天介紹的VBA方法。我們示例的工作場景是為東漢集團每位優(yōu)秀員工小檔案貼上照片,如下圖所示。

把文件放在word里_在word里怎么把另一個文件插到里面_把文件放到word

第1步,準備工作。把需要貼照片的東漢集團優(yōu)秀員工小檔案( Word文檔),全部放在同一個文件夾里(文件夾A),把需要用到的照片也全部放在同一個文件夾里(文件夾B), Word文檔和照片都用東漢集團優(yōu)秀員工的姓名命名。

把文件放到word_在word里怎么把另一個文件插到里面_把文件放在word里

文件夾A和文件夾B既可以是同一個文件夾,也可以是在電腦不同位置的不同文件夾。 Word文檔和照片只要是相同的文件名就行,不一定要用姓名命名。

第2步,在文件夾A新建一個空白Word文檔并打開。此處注意,該新建文檔必須與等待插入圖片的Word文檔在同一個文件夾(否則其所在文件夾如果碰巧文件名與圖片文件名相同,把不需要插入圖片的Word文檔批量修改了,改回去是極其麻煩的)。

第3步,復(fù)制粘貼小代碼。按“Alt+F11”(有的鍵盤可能還要同時按下“Fn”鍵),打開VBA編輯器,雙擊左側(cè)1、2、3、4任意一處。

把文件放在word里_在word里怎么把另一個文件插到里面_把文件放到word

將小代碼粘貼在圖中右側(cè)位置。

在word里怎么把另一個文件插到里面_把文件放在word里_把文件放到word

第5步,運行宏、完成任務(wù)。按“F5”(有的鍵盤可能要同時按“Fn”鍵,或者點擊功能區(qū)的“運行”——“運行子過程/用戶窗體”,或者點擊圖中綠色小三角形。

把文件放到word_在word里怎么把另一個文件插到里面_把文件放在word里

宏運行后,根據(jù)提示,選中照片所在的文件夾,點擊“確定”。

如果指定插入圖片的位置不存在(例如表格只有三行,你指定它在第4行插入圖片),宏會在提示錯誤后自動退出運行。

把文件放到word_把文件放在word里_在word里怎么把另一個文件插到里面

批量插入圖片完成后,宏會在剛才打開的新建文檔中自動提示為多少份Word文檔插入了圖片,如果沒有對應(yīng)的圖片(例如本例沒有黃忠的照片),宏會提示成功為多少份 Word文檔插入了圖片,哪些文檔沒有找到對應(yīng)的圖片未能完成插入。

把文件放到word_在word里怎么把另一個文件插到里面_把文件放在word里

參照本公號往期文章“一分鐘合并當(dāng)前文件夾下所有word文檔”介紹的方法,在模板文檔中植入宏并創(chuàng)建按鈕,也可以一鍵進入上述流程,使用會更加方便。用戶可以根據(jù)這個宏的使用頻率自行決定是否將該宏保存到模板文檔并創(chuàng)建按鈕。

瀏覽“一分鐘合并當(dāng)前文件夾下所有word文檔”等往期文章,請回到本文頂部點擊話題“辦公小知識”。

特別提示:文件夾內(nèi)如有保護、隱藏文件將出錯。

代碼中用綠色字體標出的地方,是需要根據(jù)實際情況靈活修改的。在本例中,是在表1的第1行、第7個單元格插入圖片,所以相應(yīng)的代碼是(1)、Cell(1,7)。而在設(shè)置圖片格式時,我們插入的圖片在Word文檔中是第1個圖片,所以代碼是(1)。調(diào)整圖片的、值,可使其顯示為我們需要的大小。

文章預(yù)告:一種將Word文檔批量轉(zhuǎn)換為PDF的方法

附件:vba代碼如下

'注意事項,圖片文件要為jpg格式,且與Word文檔名稱相同。

Sub Word表格插入圖片()

Dim $, $, $, WdN$, $

Dim Wd As

Dim Num1&, Num2&

Dim BOX$

Dim $

Dim As

On Next

= .Path

= Dir( & "\" & "*.doc")

Num1 = 0

Num2 = 0

"請選擇圖片所在的文件夾。"

With .()

. = "文件夾選擇"

If .Show Then

= .(1)

End If

End With

Do ""

If .Name Then

Err.

Set Wd = .Open( & "\" & )

= .Name

= & "\" & (.Name, ".")(0) & ".jpg"

With .(1).Cell(1, 7). '在指定表格的指定單元格中插入圖片

If Err. > 0 Then

& "指定的插入位置不存在,請檢查。"

Err.

Exit Sub

End If

.

.Text = ""

.. :=, :=, :=True

.. =

End With

With .(1) '設(shè)置圖片尺寸

. = 130

. = 102

... = er

End With

If Err. > 0 Then

Num1 = Num1 + 1

WdN = WdN & Chr(13) & Wd.Name

Else

Num2 = Num2 + 1

End If

Err.

Wd. True

End If

= Dir

Loop

..

.(1)..

If Num1 = 0 Then

. Text:="您好,圖片插入已完成" & Chr(13) & Chr(13) & "共為" & Num2 & "個文件插入圖片。"

Else

. Text:="您好,圖片插入已完成" & Chr(13) & Chr(13) & "共為" & Num2 & "個文件插入圖片。" & Chr(13) & "但如下" & Num1 & "個文件對應(yīng)圖片未找到:" & Chr(13) & WdN

End If

With .

. = 0

. = (0)

. = er

. =

. = 29.45

End With

With ..Font '設(shè)置文檔的字符格式

.Name = " 方正仿宋_GBK"

.Size = 16

. = ""

. = ""

End With

With .(1).

.Font.Size = 22

.Font.Name = " 方正小標宋_GBK"

End With

End Sub