1. 程式人生 > 實用技巧 >利用excel生成word,批量插入圖片、題注、標題等格式

利用excel生成word,批量插入圖片、題注、標題等格式

此文轉載自:https://blog.csdn.net/maoersong/article/details/112259199

對於word中需要插入大量型別相似的圖片,使用excel插入圖片、標題、題注等內容是非常方便的,先使用excel編輯好各個圖片對應的標題、題注。

excel中工作表第一列為圖片的標題,第二列為圖片路徑。如下圖所示:

使用alt+F11快速進入巨集(VBA)編輯框,VBA程式碼如下,主要修改迴圈的行數(For r = 2 To 4)、儲存word的位置資訊、excel工作表的名稱(例如,這裡的名稱為報表):

Sub 生成word()
    Dim wordApp As Word.Application
    Application.StatusBar = "正在建立。。。"
    Set wordApp =
New Word.Application With wordApp .Visible = False Application.StatusBar = "正在建立word" .Documents.Add For Each sh In ActiveWorkbook.Sheets If sh.Name = "報表" Then '此處可根據需要自行設定或者刪除改語句 For r = 2 To 4 figtitle = sh.Cells(r, 1).Value figpath = sh.Cells(r, 2).Value .Selection.TypeText Text:=figtitle '
此處"標題 3"為3級標題格式,可根據自己的word實際情況進行修改 .Selection.Style = .ActiveDocument.Styles("標題 3") '新增新的段落 .Selection.TypeParagraph '根據路徑插入圖片 .Selection.InlineShapes.AddPicture Filename:=figpath, LinkToFile:=False, SaveWithDocument:=True '新增新的段落 .Selection.TypeParagraph '
.LockAspectRatio = msoFalse '取消圖片大小縱橫比的鎖定 ' ' .Height = 285 '設定圖片高度為 400px ' .Width = 374 '設定圖片寬度 300px Next End If Next Application.StatusBar = "正在儲存" '生成word的儲存路徑,可根據實際情況修改 .ActiveDocument.SaveAs2 ("F:\圖片.docx") Application.StatusBar = "正在退出" .Quit End With Set wordApp = Nothing Application.StatusBar = False End Sub

遇到的錯誤:
1 使用者定義型別未定義(定位錯誤在Dim wordApp As Word.Application),原因在於程式碼中引用相關控制元件的方法有問題。對此我們首先需要加入對控制的支援庫,然後方可在編輯中引用對應控制元件。
引用對應支援庫的方法:在VBA環境下,點選“工具"->”引用 “項。如果“引用”為灰色不可選狀態,則點選停止執行程式按鈕即可恢復。

然後在開啟的”引用“視窗中,勾選相應的項,點選”確定“即可完成支援庫的匯入操作。
這裡Microsoft Word 16.0 Object Library的預設路徑不對,需要根據實際位置進行修改,點選瀏覽按鈕選擇相應的檔案即可,我的路徑為“D:\Program Files\Microsoft Office\Office16\MSWORD.OLB”

批量插入題注等資訊參考:
批量匯入圖片到word並新增檔名
利用excel生成word並在其中批量插入圖片和題注、文字描述等內容