现要求将一个Excel数据表中的每行数据导成一个Word文档,即有多少行数据就生成多少个Word文档,Excel每列与Word文档中的表格项一一对应。
前置工作:将Word文档空表格当然模板文档做好,与工作Excel置于同一路径下。
Sub 分离()Application.ScreenUpdating = Falsep = ThisWorkbook.Path & "/"f = p & "空白模板.doc"Dim myWS As WorksheetSet myWS = ThisWorkbook.Sheets(1) '存有数据的表格For i = 3 To 54 '遍历数据行FileCopy f, p & "test/" & myWS.Cells(i, 2).Text & ".doc" '复制空模板并以某列数据为名命名新产生的文档Set wd = CreateObject("word.application")Set d = wd.documents.Open(p & "test/" & myWS.Cells(i, 2).Text & ".doc") '打开新文档d.tables(1).Cell(1, 2) = myWS.Cells(i, 2).Text '###'复制表格每列内容到文档,有多少项就有多少条d.tables(1).Cell(5, 4) = myWS.Cells(i, 20).Text '###d.Closewd.QuitSet wd = NothingNextApplication.ScreenUpdating = TrueEnd Sub