word 批处理

发布网友

我来回答

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里不行吗?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com