ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] WORD中用VBA设置标题格式

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-1-20 17:45 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助


WORD中用VBA设置标题格式

Sub test()
    Content = InputBox("请输入标题行有几行", "请输入", "")
    '设置首行格式(也即是标题格式)
    Selection.HomeKey Unit:=wdStory  '移至文首
    Selection.EndKey Unit:=wdLine, Extend:=wdExtend  '选中首行
    Selection.ClearFormatting  '清除首行格式
    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter  '设置首行居中对齐
    'Selection.ParagraphFormat.LineUnitBefore = 1  '设置首行段前间距1行
    'Selection.ParagraphFormat.LineUnitAfter = 1  '设置首行段后间距1行
    Selection.Font.Name = "黑体"  '设置首行字体为“微软雅黑”
    Selection.Font.Size = 22  '设置首行字号为18号
    Selection.Font.Bold = wdToggle  '设置首行字形为加粗
    Selection.EndKey Unit:=wdLine  '移至首行末尾
    Selection.TypeParagraph  '回车

End Sub


请大家帮我完善下这个代码
1、执行代码,弹出提示框,如标题有三行(如附件),就在输入框中输入 3
2、设置格式的范围,就是第1行至第3行。
3、设置完行3行格式后,光标返回到第3行末。
4、在第3行后,添加一个回车,也就是标题与正文空一行。

谢谢老师们了!

VBA设置标题.rar (7.44 KB, 下载次数: 83)

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-20 23:05 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
请老师们帮帮忙!谢谢大家了!

TA的精华主题

TA的得分主题

发表于 2015-1-20 23:18 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
楼主,你试用我的——Word2003 通用模板(元旦版)(对了,前几天我把我的正宗模板已经发给你了,你用没用啊?)里面就有《清清爽爽》自动排版宏,其中Auto1宏你研究一下;另外,你说的行,其实应该叫做段落。(由于觉得你的问题没必要花时间弄,所以不折腾了。)

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-20 23:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
413191246se 发表于 2015-1-20 23:18
楼主,你试用我的——Word2003 通用模板(元旦版)(对了,前几天我把我的正宗模板已经发给你了,你用没用啊 ...

朋友,非常感谢你多次帮助我!
很感激你!

我是想在自动执行排版时,同时设置标题的格式
由于标题格式,有时候,不光是一行,所以这儿想出这个办法,可能是个笨办法
不知道老师有没有什么更好的办法

TA的精华主题

TA的得分主题

发表于 2015-1-21 00:36 | 显示全部楼层
本帖最后由 413191246se 于 2015-1-21 00:38 编辑

楼主,朋友,兄弟:其实最近几天,我也重新设计通用模板自动排版这个宏,现在也是在《标题一》怎么自动识别这个问题上停滞不前。一行标题,二行标题,都好处理。默认第一行就是标题一,第二行如果没有句号等标点符号,可以当成是二行标题一,也可以是《标题+标题一》这种格式;但是三行标题,可以是《标题+标题一+副标题》的样式,也可以是别的样式,我感觉用得不多,不好下结论……(其实行应该为段!样式来说:如果是一段,就是标题1;两段,可能是《标题+标题1》,也可能是《标题1+副标题》,但最近几年我倾向于喜欢《标题1+标题1》这种双行标题一样式;但是如果是双行标题,你怎么区分《标题+标题1》和《标题1+副标题》这两种样式组合呢?)
***你能举出几种文章的标题样式吗?让我看看,咱们共同研究。

TA的精华主题

TA的得分主题

发表于 2015-1-21 00:39 | 显示全部楼层
楼主,你到底用没用我的——Word2003 通用模板(元旦版)---正宗模板 啊!?里面有自动排版代码。

TA的精华主题

TA的得分主题

发表于 2015-1-21 00:47 | 显示全部楼层
对了,最近我给领导排版《述职报告》,格式是这样的:
述职报告
XXXXXXXX单位,某某某
2015年1月21日
***这种格式,与上面我讲的三行标题又不同,它的格式(样式)应该是:标题1+副标题+副标题(不是:标题+标题1+副标题),所以,三行标题不好判断到底是哪一种,我才没在我的模板中处理,只判断了单行和双行标题两种情况。
楼主,你怎么认为?

TA的精华主题

TA的得分主题

发表于 2015-1-21 15:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
如果只有一行标题,则这样处理标题:
Sub Auto1()
    With ActiveDocument
        .Paragraphs(1).Range.InsertParagraphBefore
        .Paragraphs(2).Range.InsertParagraphAfter
        With .Range(Start:=0, End:=.Paragraphs(3).Range.End)
            .Style = ActiveDocument.Styles(wdStyleHeading1)
            With .ParagraphFormat
                .SpaceBefore = 0
                .SpaceAfter = 0
                .LineSpacing = LinesToPoints(1.15)
                .Alignment = wdAlignParagraphCenter
                .AutoAdjustRightIndent = False
                .DisableLineHeightGrid = True
            End With
        End With
        .Paragraphs(1).Range.Font.Size = 21
        .Paragraphs(3).Range.Font.Size = 26
    End With
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-22 10:15 | 显示全部楼层
413191246se 发表于 2015-1-21 00:47
对了,最近我给领导排版《述职报告》,格式是这样的:
述职报告
XXXXXXXX单位,某某某

老师你好,我是这样处理的

先把标题都设置为二号宋体加粗

然后再根据 像老师说的这类情况 手动调整

我也没有想到更好的办法

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-1-22 10:16 | 显示全部楼层
413191246se 发表于 2015-1-21 00:39
楼主,你到底用没用我的——Word2003 通用模板(元旦版)---正宗模板 啊!?里面有自动排版代码。

我用了老师的 自动排版 工具

还是很好用!
非常感谢分享!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-12 10:06 , Processed in 0.027850 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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