Excel用vba自动生成word

Sub GenDocfromExcel()

'excel控制word,生成新文件,插入图片和文件名,保存
'office 2003, VBA工具/引用中要勾选Microsoft Word 11.0 Object Library
'office 2007, VBA工具/引用中要勾选Microsoft Word 12.0 Object Library
'...

Range("A1:B13").Copy '复制当前内容

Dim WordApp As Word.Application '定义变量
Set WordApp = CreateObject("Word.Application") '生成WORD对象
WordApp.Documents.Add '新建文件

WordApp.Selection.Paste '粘贴

fn$ = "D:\" & Range("b1") '生成文件名
WordApp.ActiveDocument.SaveAs fn$ '保存文件

WordApp.Quit '退出
Set WordApp = Nothing '取消变量

End Sub


 

  • 9
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Excel VBA可以通过自动化Word应用程序来批量生成Word文档。具体的实现过程如下: 1. 在Excel中,首先需要创建一个具有必要数据数据源。可以将数据存储在Excel表格中,也可以使用其他文件和数据源。 2. 在VBA中,使用创建Word应用程序对象的代码来创建Word应用程序实例。如下所示: Dim wordApp As Object Set wordApp = CreateObject(“Word.Application”) 3. 然后,使用Word应用程序对象中的不同方法和属性来创建Word文档。如下示例代码: Dim wordDoc As Object Set wordDoc = wordApp.Documents.Add 4. 确定或使用数据源的内容来更新Word文档。如下代码示例: Dim table As Object Set table = wordDoc.Tables.Add(Range:=wordDoc.Range(0, 0), NumColumns:=3, NumRows:=5) With table '设置表头 .Cell(1, 1).Range.Text = "姓名" .Cell(1, 2).Range.Text = "学号" .Cell(1, 3).Range.Text = "分数" '设置数据 .Cell(2, 1).Range.Text = "张三" .Cell(2, 2).Range.Text = "20200901" .Cell(2, 3).Range.Text = "88" .... End With 5. 将文件保存到指定的文件夹或位置。如下所示: wordDoc.SaveAs (“C:\Users\myfolder\file1.docx”) 6. 完成后,关闭Word应用程序实例并释放所有对象,以避免内存泄漏。如下所示: wordApp.Quit Set wordDoc = Nothing Set wordApp = Nothing 在以上的示例代码中,可以根据需要进行修改,以满足所需的文档样式和内容。通过Excel VBA来生成Word文档,可以实现高效、快速、准确地批量生成文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值