VBA中如何将Excel表格中某单元格内容插入word指定位置中
例如,excel文件中有个sheet1,里面有10行5列,我需要将其中某几列,比如每一行的第2,3,5列的内容复制到word文档中,依次生成10个word文档
请问这样的VBA怎么写?能给个例子嘛?谢谢

解决方案 »

  1.   

    最简单的办法。就是word里面的域
      

  2.   

    你如果用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 = TrueDim aRow As String   '记录excel的有效行数
    Dim i As Integer
    Dim temp As String   '取excel的指定单元格数据
    aRow = aSheet.Range("A1").CurrentRegion.Cells.Rows.CountFor 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 iaApp.Quit                                           '退出excel
    aWrd.Quit                                           '退出wordApplication.ScreenUpdating = True                   '恢复屏幕刷新End Sub