写了一段改标题样式的代码,一级和二级都更改成功了,三级标题却没有反映,望大神帮看看!

cv521zw 2017-09-06 04:38:21
代码:
sub myfunc()
Dim i As Paragraph
For Each i In ActiveDocument.Paragraphs
If i.Range Like "[一二三四五六七八九十]、*" Or i.Range Like "[一二三四五六七八九十][一二三四五六七八九十百]、*" Or i.Range Like "[二三四五六七八九]十[一二三四五六七八九]、*" Or i.Range Like "[一二三四五六七八九]百[一二三四五六七八九零][一二三四五六七八九十]、*" Or i.Range Like "[一二三四五六七八九]百[一二三四五六七八九]十[一二三四五六七八九]、*" Then
i.Range.Font.Name="黑体"
i.Range.Font.Size=16
ElseIf i.Range Like "([一二三四五六七八九十])*" Or i.Range Like "([二三四五六七八九十][一二三四五六七八九十])*" Or i.Range Like "([二三四五六七八九]十[一二三四五六七八九])*" Then
i.Range.Font.Name="楷体"
i.Range.Font.Size=16
ElseIf i.Range Like "#.*" Or i.Range Like "##.*" Or i.Range Like "###.*" Or i.Range Like "####.*" Then
i.Range.Font.Bold=True
End If
Next
end sub
上面改一级标题和二级标题的代码都成功了,三级的代码else if 没进去不知道怎么回事 希望大神帮看看。

一、 一级标题---成功更改
(一) 二级标题---成功更改
3.三级标题---没变化
(4)正文
...全文
1594 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cv521zw 2017-09-07
引用 2 楼 cv521zw 的回复:
[quote=引用 1 楼 Chen8013 的回复:] 没有样本文档,无法确认啊。 会不会是“三级标题”的那个“点”,文档中跟代码中不一致?   你写的代码中是中文的“.”,文档中是不是这个点呢? 还有一个问题:   象这样“有规律的序号”,在编辑时,MS Office肯定会自作聪明的给你变成“项目序号”了,   会不是你的“三级”标题在文档中看起来是“有序号的”,而代码中 i.Range 的内容却不会把这个“序号”包含进去?
我刚刚尝试了 谢谢您的提醒 那个点在代码中确实有问题,更改后就没问题了 谢谢
回复
cv521zw 2017-09-07
引用 1 楼 Chen8013 的回复:
没有样本文档,无法确认啊。 会不会是“三级标题”的那个“点”,文档中跟代码中不一致?   你写的代码中是中文的“.”,文档中是不是这个点呢? 还有一个问题:   象这样“有规律的序号”,在编辑时,MS Office肯定会自作聪明的给你变成“项目序号”了,   会不是你的“三级”标题在文档中看起来是“有序号的”,而代码中 i.Range 的内容却不会把这个“序号”包含进去?
是这样的 我是在txt文档中手写的无样式的文档(样本文档就是上面一级标题,二级标题那个),复制到word中更改样式的,您说的序号的问题,因为我是初学,您能说的具体点吗,点的问题txt文档中中文跟英文看不出区别,我会尝试一下的
回复
舉杯邀明月 2017-09-06
没有样本文档,无法确认啊。 会不会是“三级标题”的那个“点”,文档中跟代码中不一致?   你写的代码中是中文的“.”,文档中是不是这个点呢? 还有一个问题:   象这样“有规律的序号”,在编辑时,MS Office肯定会自作聪明的给你变成“项目序号”了,   会不是你的“三级”标题在文档中看起来是“有序号的”,而代码中 i.Range 的内容却不会把这个“序号”包含进去?
回复
发帖
VBA
创建于2007-09-28

2062

社区成员

VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
申请成为版主
帖子事件
创建了帖子
2017-09-06 04:38
社区公告
暂无公告