將excel中的數據填入word模板中-VBA


首先將word模板中需要填寫excel中數據的空白處用自己獨特的字符串標記,比如   數據001  什么的。如下圖:

這樣,就可以用vba搜尋這些自己獨特的標記來根據excel內容填充word了。

第一個填好的如下圖:

而excel中數據如下圖:

然后代碼如下:

 1  Sub 生成Word文件_Click()
 2   Dim Word對象 As New Word.Application, 當前路徑, 導出文件名, 導出路徑文件名, i, j
 3    Dim Word表格行號, Word表格列號, Excel數據表列號
 4    Dim Str1, Str2
 5    當前路徑 = ThisWorkbook.Path
 6     B = InputBox("請輸入數據開始行", "提示")
 7   c = InputBox("請輸入數據結束行", "提示")
 8   
 9    判斷 = 0
10    For i = B To c
11       導出文件名 = "通知書"
12       FileCopy 當前路徑 & "\通知書.doc", 當前路徑 & "\" & 導出文件名 & "(" & Sheets("統計表").Range("c" & i) & ").doc" '可以將Sheets("1").Range("B" & i)換成其他數據
13       導出路徑文件名 = 當前路徑 & "\" & 導出文件名 & "(" & Sheets("統計表").Range("c" & i) & ").doc" '可以將Sheets("1").Range("B" & i)換成其他數據
14       With Word對象
15         .Documents.Open 導出路徑文件名
16         .Visible = False
17          With .Selection.Find
18             For x = 7 To 1 Step -1 '從大到小,防止字符串序號低位與高位串擾,填寫數據即excel表總列數
19                Str1 = "數據" & Format(x, "000")
20                'MsgBox "str1" & Str1
21                Str2 = Sheets("統計表").Cells(i, x)
22                .Text = Str1 '查找到指定字符串
23                .Replacement.Text = Str2 '替換字符串
24               .Execute Replace:=wdReplaceAll '全部替換
25             Next x
26           End With
27              
28           
29         
30         .Selection.WholeStory '全部選中
31         .Selection.Font.Color = wdColorAutomatic '字符為自動顏色
32       End With
33       Word對象.Documents.Save
34       Word對象.Quit
35       Set Word對象 = Nothing
36 '      If i = c Then
37 '       MsgBox "已輸出到 Word 文件!", 0 + 48 + 256 + 0, "提示:"
38 '      End If
39       
40    Next i
41    If 判斷 = 0 Then
42       i = MsgBox("已輸出到 Word 文件!", 0 + 48 + 256 + 0, "提示:")
43    End If
44    
45 End Sub

 

 這個excelhome里給的一個代碼。挺好的,就是中文變量挺多的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM