Sub ExcelToWord() '  利用Word程序创建文本文件,运行时word不能为打开状态

     Dim WordApp As Object

     '搜索Dim Records As Integer, i As Integer

     Dim Region As String, SalesAmt As String, SalesNum As String, strTitle As String

     Set WordApp = CreateObject("Word.Application") '创建word对象

     Records = Application.CountA(Sheets("sheet2").Range("A:A")) 'A列非空数据个数

     WordApp.Documents.Add '新建文档

     '写Title

         strTitle = Cells(, )

         With WordApp.Selection

             .Font.Size = 

             .ParagraphFormat.Alignment =   '左对齐0  居中1 右对齐2

             .Font.Bold = True

             .TypeText Text:=strTitle

             .TypeParagraph

         End With

     '写内容

     For i =  To Records + 

         'Region = Data.Cells(i, 1).Value '将第一列某行的值赋值给变量

         Region = Cells(i, )

         'SalesNum = Data.Cells(i, 2).Value '获取该行B列数据

         SalesNum = Cells(i, )

         'SalesAmt = Data.Cells(i, 3).Value '获取该行C列数据

         SalesAmt = Cells(i, )

         With WordApp.Selection

                 .Font.Size =  '设置字体字号

                 .Font.Bold = True '字体粗

                 .ParagraphFormat.Alignment =  '设置对齐

                 .TypeText Text:=Region & vbTab & SalesNum

                ' .TypeParagraph

                 .Font.Size =  '设置字体

                 .ParagraphFormat.Alignment =  '设置对齐

                 .Font.Bold = False '字体不加粗

                 .TypeText Text:=vbTab & SalesAmt

                 .TypeParagraph '回车

                 .TypeParagraph '回车

         End With

     Next i

     WordApp.ActiveDocument.SaveAs Filename:="AAA" '保存文件

     WordApp.Quit '退出程序

     Set WordApp = Nothing '清空

     MsgBox "文件保存在我的文档底下的AAA文件"

 End Sub

注意代码和数据源都在sheet2中。

若要改变保存word的路径(参考:http://club.excelhome.net/thread-1301171-1-1.html):

 Sub 联系的例子二()
Dim wd
Dim Arange
Set wd = CreateObject("word.application") '利用标识符启动WOrd wd.Visible = True’显示Word
wd.Documents.Open ("E:\office\excel\ExcelToWord.docx") '打开欲操作的对像
Arange = wd.Documents().Paragraphs().Range '取得要使用的文字
Workbooks("第三节.xlsm").Worksheets().Range("b8") = Arange '将文字写入相应单元格 Set wd = Nothing '终止两个程序间的联系
Set wd = Nothing '终止两个程序间的联系
End Sub Sub ExcelToWord() ' 利用Word程序创建文本文件,运行时word不能为打开状态 Dim WordApp As Object '搜索Dim Records As Integer, i As Integer Dim Region As String, SalesAmt As String, SalesNum As String, strTitle As String Set WordApp = CreateObject("Word.Application") '创建word对象 Records = Application.CountA(Sheets("sheet1").Range("A:A")) 'A列非空数据个数 WordApp.Documents.Add '新建文档 '写Title strTitle = Cells(, ) With WordApp.Selection .Font.Size = .ParagraphFormat.Alignment = '左对齐0 居中1 右对齐2 .Font.Bold = True .TypeText Text:=strTitle .TypeParagraph End With '写内容 For i = To Records + 'Region = Data.Cells(i, 1).Value '将第一列某行的值赋值给变量 Region = Cells(i, ) 'SalesNum = Data.Cells(i, 2).Value '获取该行B列数据 SalesNum = Cells(i, ) 'SalesAmt = Data.Cells(i, 3).Value '获取该行C列数据 SalesAmt = Cells(i, ) With WordApp.Selection .Font.Size = '设置字体字号 .Font.Bold = True '字体粗 .ParagraphFormat.Alignment = '设置对齐 .TypeText Text:=Region & vbTab & SalesNum ' .TypeParagraph .Font.Size = '设置字体 .ParagraphFormat.Alignment = '设置对齐 .Font.Bold = False '字体不加粗 .TypeText Text:=vbTab & SalesAmt .TypeParagraph '回车 .TypeParagraph '回车 End With Next i WordApp.ActiveDocument.SaveAs Filename:=ThisWorkbook.Path & "\第三节" '按指定路径保存文件,此处为本excel路径 WordApp.Quit '退出程序 Set WordApp = Nothing '清空 MsgBox "文件保存在" & ThisWorkbook.Path & "下 第三节 文件" End Sub

excelToWord-vba的更多相关文章

  1. VBA 格式化字符串 - Format大全

    VBA 格式化字符串 VBA 的 Format 函数与工作表函数 TEXT 用法基本相同,但功能更加强大,许多格式只能用于VBA 的 Format 函数,而不能用于工作表函数 TEXT ,以下是本人归 ...

  2. VBA学习

    1. Range / Cells / Columns / Rows 2. 绝对引用 $F$13 / 相对引用 F13 公式所在单元格的被复制到其他位置时,绝对引用不变 3. VLookup / NLo ...

  3. VBA学习思路

    打算花两三天学习VBA的基础,学习资料为<别怕,VBA其实很简单>,为了快速学习,先了解大致框架,后续再深入学习各种属性.方法和技巧. 1.VBA编程环境基本操作,手工操作,熟悉即可 2. ...

  4. VBA笔记(三)——常用对象

    VBA实际上就是操作Excel,把Excel进行拆解,划分多层对象,由顶至下为(也可以说是层层包裹): Application:代表Excel程序本性,之后我们操作对象都在它之下,因为是唯一且至高点, ...

  5. VBA中使用计时器的两种方法

    '================================ ' VBA采用Application.OnTime实现计时器 ' ' http://www.cnhup.com '========= ...

  6. VBA初试——合并

    今天遇到一个任务,要把excel中的相同行合并:没有找到直接的办法(vlookup大概能做),试了试VBA挺好用 数据结构 第一.二列是描述字段,第二列元素唯一:第三到第八列是标志位 任务 合并描述字 ...

  7. ArcGIS中的VBA修复

    一直以来,ArcGIS10.1 的VBA安装后,菜单栏里也没相关菜单,听说是许可的问题,直到遇到这个问题才知道真正的原因. 由于项目需要使用了ArcGIS10.0, 不知道操作了什么,打开ArcMap ...

  8. 如何在Excel中通过VBA快速查找多列重复的值

    今天项目组的一个同事问我如何快速的找到一个Excel中第3列和第5列的值完全重复的值,我想了想虽然Excel中自带查找重复值的功能,但是好像只能对同一列进行比较,所以就写了一个VBA进行处理,VBA非 ...

  9. VBA笔记(二)——基础语法

    数据类型 VBA提供了15种标准数据类型,具体见下表: 变量 Sub 变量学习() 'Dim 变量名 As 数据类型 Dim str1 As String '声明定长的String变量 '使用变量类型 ...

  10. VBA笔记(一)

    开启VBA编程环境--VBE 方法一:按<Alt+F11>组合建 方法二:查看代码 宏设置 当然启用宏的设置方式不同,宏的启动方式也不一样. 首先打开"office 按钮&quo ...

随机推荐

  1. day 31 表单标签,CSS

    一. HTML表单标签 HTML表单用于搜集不同类型的用户输入,然后把数据提交给服务器处理. 常用的表单标签: 标签 作用 form 所有表单标签的根标签 input 输入标签,包括单行输入框.密码框 ...

  2. ELK日志系统:Filebeat使用及Kibana如何设置登录认证(转)

    原文地址:http://www.cnblogs.com/yjmyzz/p/filebeat-turorial-and-kibana-login-setting-with-nginx.html 根据el ...

  3. cf相关命令

    进行登录的命令: cf login -a https://api.bupaas.citicsinfo.com --skip-ssl-validation 进行发布的命令: cf push gwdemo ...

  4. 安装opencv2.4.9

    首先如果你的运气足够好,你完全可以按照 : https://my.oschina.net/u/1757926/blog/293976 或者OpenCV中文论坛上的Linux下opencv的安装方法 但 ...

  5. go语言使用go-sciter创建桌面应用(三) 事件处理,函数与方法定义,go与tiscript之间相互调用

    sciter处理脚本tiscript,用于处理UI交互中的一些逻辑,跟js很像,但又有点区别,对前端熟悉的人应该能很快上手. tiscrip脚本文档 https://sciter.com/develo ...

  6. JwtBearerAppBuilderExtensions.UseJwtBearerAuthentication(IApplicationBuilder

    netcore从1.1升级到2.0时,出的错,因为使用的时Jwt token参考https://github.com/aspnet/Security/issues/1310#issuecomment- ...

  7. Jmeter常用脚本开发之JDBC请求

    简单说明:JDBC请求就是使用Jmeter连接数据库,执行sql语句,并返回对应的响应结果 步骤: 1.引入使用的数据库的驱动jar包,使用不同的数据库,我们需要引入不同的jar包.本文使用的MySQ ...

  8. opencv 学习总结 方法总结

    师者传道受业解惑也,图片识别是门学科,需要师者传教,才会较快解开谜团,解开困惑,没人引导,要学会图片识别,有点难度,因为其中的做法超出自己的想象范围. 大家都知道,在超出想象范围,或者从未想到的方式, ...

  9. 使用PreparedStatement时,输出完整的SQL语句

    使用psstmt时不能打印出完整的sql语句,挺不方便的,找到一个实现方法,记录下来. package com.zhh.function.util; import java.io.InputStrea ...

  10. 【已处理完】Centos 6.5版本,df -h出来的容量与du -sh的容量不对应是怎么会事呢?

    问题如题,df -h 出来的容量与du -sh 查看的容量信息不一样,是那里出了问题了吗? 下面分别是du -sh *与df -h出来的结果 [root@mail /]# du -sh * 6.2M ...