ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4307|回复: 2

[求助]word中用宏设置文本格式

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-4-30 13:26 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

我把一个目录下的txt文件合并成一个word(其实每个txt是一个红头文件),每个文件结束插入了分页符号,但是我想用宏的方法设置word文本的格式,比如每文件开头第一行(居中,粗体,字体大小),第2-4行居右),请问守柔大侠,该怎么样写呢?因为文件有几百个啊.(粘贴结束肯定要回到这个文件的开头,但是每个红头文件贴过来可能有好几页,估计要读分页符才能找到这个文件的开头的位置),谢谢!

i = 1 While i < 300

ChangeFileOpenDirectory "C:\temp\" Documents.Open FileName:=i & ".txt", ConfirmConversions:=False, ReadOnly:= _ False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _ "", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _ Format:=wdOpenFormatAuto, Encoding:=936 Selection.WholeStory Selection.Copy ActiveWindow.Close Selection.PasteAndFormat (wdPasteDefault) Selection.InsertBreak Type:=wdPageBreak i = i + 1 Wend End Sub

或者先用宏设置格式再合并,可是在录制宏的时候,不让设置文本的格式啊???

[此贴子已经被作者于2005-4-30 13:35:11编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-4-30 14:26 | 显示全部楼层

Selection.HomeKey Unit:=wdLine Selection.EndKey Unit:=wdLine, Extend:=wdExtend

这个好像可以的。谢谢!

TA的精华主题

TA的得分主题

发表于 2005-5-1 08:26 | 显示全部楼层

请参:

'* +++++++++++++++++++++++++++++ '* Created By I Love You_Word!@ExcelHome 2005-5-1 8:25:04 '仅测试于System: Windows NT Word: 10.0 Language: 2052 '^The Code CopyIn [ThisDocument-ThisDocument]^' '* -----------------------------

Option Explicit Sub Example() Dim i As Integer, MyPath As String, Adoc As Document, MyRange As Range MyPath = "C:\temp\" '定义一个文件夹路径 On Error Resume Next '忽略错误 Application.ScreenUpdating = False '关闭屏幕更新 For i = 1 To 300 '建立一个循环 '以隐藏窗口的方式打开指定路径下的TXT文件 Set Adoc = Documents.Open(FileName:=MyPath & i & ".Txt", Visible:=False) With Application.Windows(ThisDocument).Selection '本文档的插入点(光标位置) .EndKey wdStory '移到最后 .InsertAfter Adoc.Content.Text '插入指定文档(TXT文件)的文本 Adoc.Close False '退出并不保存 With .Paragraphs(1) '第一个段落 .Alignment = wdAlignParagraphCenter '居中 .Range.Font.Name = "华文新魏" '设置字体 .Range.Font.Size = 16 '设置字号 .Range.Font.Bold = True '设置为粗体 End With '定义一个RANGE对象为选中部分的第二~四个段落部分 Set MyRange = ThisDocument.Range(.Paragraphs(2).Range.Start, .Paragraphs(4).Range.End) MyRange.ParagraphFormat.Alignment = wdAlignParagraphRight '居右 .EndKey wdStory '移到最后 .InsertBreak Type:=wdPageBreak '插入分页符 End With Next Application.ScreenUpdating = True End Sub '----------------------请将上述代码粘贴于你的目标文档(即最终生成合并文档的)THISDOCUMENT中,也就是你新建一个空白文档,将此代码粘贴于此空白文档的THISDOCUMENT的代码窗口中即可。

如有问题,再作交流

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-13 15:27 , Processed in 0.030671 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表