你如果用excel表的vba编译器的话,请先将word的组件引用"工具--引用--Microsoft Word XX library.." 确定
如果你是用word的vba编译器的话,先将excel的组件引用"工具--引用--Microsoft Excel XX library.." 确定
然后右键左边的vba project 插入 模块(module),将以下代码复制之后,稍加修改就可以用
- Sub Test()
- '
- '宏 从excel复制每行指定的单元格内容到word,每行生成一个word文档
- '
- Application.ScreenUpdating = False '关闭屏幕刷新
- '定义excel的部分
- Dim aApp As Application
- Dim aBook As Workbook
- Dim aSheet As Worksheet
- Set aApp = CreateObject("excel.application")
- 'aApp.Visible = True
- Set aBook = aApp.Workbooks().Open(Filename:="C:\Documents and Settings\Jully\桌面\export.xls")
- Set aSheet = aBook.Worksheets.Item(1)
- '定义word部分
- Dim aWrd As Word.Application
- Set aWrd = CreateObject("word.application")
- 'aWrd.Visible = True
- Dim aRow As String '记录excel的有效行数
- Dim i As Integer
- Dim temp As String '取excel的指定单元格数据
- aRow = aSheet.Range("A1").CurrentRegion.Cells.Rows.Count
- For i = 1 To aRow
- temp = aSheet.Cells(Trim(i), 2) & aSheet.Cells(Trim(i), 5) & aSheet.Cells(Trim(i), 5) '取单元格每一行的第2.3.5列的内容
- aWrd.Documents.Add '添加新文档
- aWrd.Documents(1).Activate '获取焦点
- aWrd.Selection.TypeText Text:=temp '输出
- aWrd.Documents(1).SaveAs Filename:="C:" & Trim(i) & ".doc" '保存
- aWrd.Documents(1).Close '关闭
- Next i
- aApp.Quit '退出excel
- aWrd.Quit '退出word
- Application.ScreenUpdating = True '恢复屏幕刷新
- End Sub
复制代码