各位大神,我這里需要將excel資料匯入word模板 并輸出一個單檔案(模板集合)批量列印,參考了網上一些程式,但始終實作不了,請大神指教。


Sub 工藝卡()
'
' 工藝卡批處理 宏
'
'
' 打開 Data.xlsx 檔案
Dim MyFile As Object
Set MyFile = CreateObject("Scripting.FileSystemObject")
Dim FilePath As String
FilePath = ActiveDocument.Path & "\Data.xls"
' 如果不存在 Data.xlsx 檔案
If Not MyFile.FileExists(FilePath) = True Then
' 退出
MsgBox "無法找到檔案: Data.xlsx", Title:="Error"
Exit Sub
End If
' 讀取 Data.xlsx 檔案
Dim ExcelObject As Object
Set ExcelObject = GetObject(FilePath)
Set Table = ExcelObject.Sheets(1).UsedRange()
Dim WordApp As Object '定義Word Application
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
Dim WordDoc As Object '定義檔案
Dim WordDoc1 As Object '定義檔案
Set WordDoc = WordApp.Documents.Add
WordDoc.SaveAs2 (ActiveDocument.Path & "\Data.doc")
WordDoc.Close
Set WordDoc1 = WordApp.Documents.Open(ActiveDocument.Path & "\工藝卡模板.docx")
' 回圈
For i = 4 To Table.Rows.Count
' 清空變數
For Each Var In ActiveDocument.Variables
Var.Delete
Next
' 添加一個名字為 Name 的變數,它的值是 Data.xlsx 中第 i 行第 1 列的內容
ActiveDocument.Variables.Add Name:="xmmc", Value:=Table.Cells(2, 2).Text
ActiveDocument.Variables.Add Name:="gzl", Value:=Table.Cells(2, 7).Text
ActiveDocument.Variables.Add Name:="gy", Value:=Table.Cells(2, 10).Text
ActiveDocument.Variables.Add Name:="jh", Value:=Table.Cells(2, 13).Text
ActiveDocument.Variables.Add Name:="jgmc", Value:=Table.Cells(i, 2).Text
ActiveDocument.Variables.Add Name:="th", Value:=Table.Cells(i, 5).Text
ActiveDocument.Variables.Add Name:="sl", Value:=Table.Cells(i, 9).Text
' 更新 Word 檔案
ActiveDocument.Fields.Update
Next
End Sub
uj5u.com熱心網友回復:
順序有問題吧Set WordDoc = WordApp.Documents.Add (模板位置) ‘這里你可以創建一個模板格式的WORD
在這里填充資料,然后保存、列印
然后關閉檔案
然后回圈建立新的WORD檔案Set WordDoc = WordApp.Documents.Add (模板位置)
然后繼續重復
uj5u.com熱心網友回復:
具體創建方法查看我的帖子有個EXCEL基礎,創建和使用表格部分是通用的轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/257916.html
標籤:VBA
上一篇:git 使用手冊
