Vba 如果没有以下文本,Marco将删除Microsoft Word中的标题
我经常生成带有标题的MicrosoftWord文档,这些标题下并不总是有文本。我需要一个宏,将检查每个标题,如果下面没有文本,删除标题 标题的样式为“标题1”、“标题2”和“标题3”,以下文本的样式始终为“普通” 有人能推荐一个宏来完成这项任务吗,或者给我指出正确的开始方向吗 试试这个:Vba 如果没有以下文本,Marco将删除Microsoft Word中的标题,vba,ms-word,Vba,Ms Word,我经常生成带有标题的MicrosoftWord文档,这些标题下并不总是有文本。我需要一个宏,将检查每个标题,如果下面没有文本,删除标题 标题的样式为“标题1”、“标题2”和“标题3”,以下文本的样式始终为“普通” 有人能推荐一个宏来完成这项任务吗,或者给我指出正确的开始方向吗 试试这个: Sub test() Dim HeadingF As Range Set HeadingF = ActiveDocument.Content With HeadingF.Find
Sub test()
Dim HeadingF As Range
Set HeadingF = ActiveDocument.Content
With HeadingF.Find
.Style = "Heading 1"
.Forward = True
.Wrap = wdFindStop
End With
Do
HeadingF.Find.Execute
If HeadingF.Find.Found Then
If HeadingF.Paragraphs(1).Next.Range.Text = vbCr Then
HeadingF.Delete
End If
End If
Loop While HeadingF.Find.Found
End Sub
作为参考,编辑Manu的代码给了我以下信息:
Sub test()
Dim HeadingF As Range
Set HeadingF = ActiveDocument.Content
With HeadingF.Find
.Style = "Heading 1"
.Forward = True
.Wrap = wdFindStop
End With
Do
HeadingF.Find.Execute
If HeadingF.Find.Found Then
If HeadingF.Paragraphs(1).Next.Range.Style <> "Normal" Then
HeadingF.Delete
End If
End If
Loop While HeadingF.Find.Found
End Sub
子测试()
暗淡的头像范围
Set HeadingF=ActiveDocument.Content
头朝下,找到
.Style=“标题1”
.Forward=True
.Wrap=wdFindStop
以
做
HeadingF.Find.Execute
如果找到了头,那么
如果标题F.段落(1).Next.Range.Style为“正常”,则
标题F.删除
如果结束
如果结束
返回时循环f.Find.Found
端接头
谢谢,不幸的是,vbCr
在这种情况下不起作用,因为在标题本身之后没有换行符(布局是按空格前后进行的)。但是,如果我用if HeadingF.parages(1).Next.Range.Text=vbCr
替换行if HeadingF.parages(1).Next.Range.Style“Normal”
,这似乎效果更好,因此非常感谢您让我开始学习。我正在尝试将多个If HeadingF.段落(1).Next.Range.Style
组合起来,作为我的下一步。好的,我很乐意提供帮助