发布网友
共4个回答
热心网友
以下就是实现你这个功能的代码,你只要把代码保存为vbs脚本,按照你自己的情况修改之后双击就可以了。因为我不知道你具体是怎样情况,所以我只是随便弄了两个字段,你根据自己的实际情况修改吧。便于理解,在图片里帮你把各个文件做了说明。你看了图片之后应该就能明白了。
'信息列表Excel文件名
infoListXLS="C:\Documents and Settings\Bill\桌面\worldExcelTest\a.xls"
'Word模块文件名
wordTemplate="C:\Documents and Settings\Bill\桌面\worldExcelTest\b.doc"
'Word文件输出路径
wordOutputPath="C:\Documents and Settings\Bill\桌面\worldExcelTest\"
'打开excel
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open(infoListXLS)
objExcel.Visible=true
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
'从打开的Excel的第二行开始读取
intRow=2
'开始循环,直到第一列“姓名”为空时退出循环
Do Until objExcel.Cells(intRow,1).Value = ""
'取得第一列内容即 姓名
name=objExcel.Cells(intRow,1).Value
'取得第二列内容即 性别
sex=objExcel.Cells(intRow,2).Value
'根据姓名以空白World为模块,复制一份
FSO.CopyFile wordTemplate,wordOutputPath & name & ".doc"
'打开新做成的Word文档,并将姓名跟性别填入Word文档的表格中
Set objWord = CreateObject("Word.Application")
objWord.Visible = False
Set objDoc = objWord.Documents.Open(wordOutputPath & name & ".doc")
Set objTable = objDoc.Tables(1)
'Word表格的第一行,第一列填入 姓名
objTable.cell(1,1).Range.Text = name '姓名
'Word表格的第一行,第二列填入 性别
objTable.cell(1,2).Range.Text = sex '性别
'保存Word文件
objDoc.save()
objWord.Quit
intRow = intRow + 1
Loop
'退出Excel
objExcel.Quit
热心网友
使用word中的邮件合并功能可以很好的解决你的问题。至于具体操作,你可以查阅一些资料,很简单的。
热心网友
Word中的“邮件合并”功能正是用于完成此类工作的。
Word2003:工具 → 信函与邮件 → 邮件合并
热心网友
将excel里的信息拷到word里不行吗?