当前位置:编程学习 > VB >>

VBA中如何将Excel表格中某单元格内容插入word指定位置中

VBA中如何将Excel表格中某单元格内容插入word指定位置中
例如,excel文件中有个sheet1,里面有10行5列,我需要将其中某几列,比如每一行的第2,3,5列的内容复制到word文档中,依次生成10个word文档
请问这样的VBA怎么写?能给个例子嘛?谢谢 --------------------编程问答-------------------- 最简单的办法。就是word里面的域 --------------------编程问答--------------------
引用楼主 juncius 的回复:
VBA中如何将Excel表格中某单元格内容插入word指定位置中
例如,excel文件中有个sheet1,里面有10行5列,我需要将其中某几列,比如每一行的第2,3,5列的内容复制到word文档中,依次生成10个word文档
请问这样的VBA怎么写?能给个例子嘛?谢谢


先去吃饭,回来给写代码. --------------------编程问答-------------------- 你如果用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
--------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 路过,学习一下。
补充:VB ,  VBA
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,