Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何替换样式?_Vba_Ms Word - Fatal编程技术网

Vba 如何替换样式?

Vba 如何替换样式?,vba,ms-word,Vba,Ms Word,我有一个Word文档,其中有Heading1、Heading2等文本样式 我对每种格式都有特定的格式样式,我想应用这些样式 此外,我还想检查是否使用了正确的样式。好的,根据我从您的问题中了解的情况,您希望自动替换样式 下面是一个宏,可以帮助您执行此操作: Public Sub SearchReplaceStyles() Dim search_style As String ' the style which apparently seem out of style Dim replace_st

我有一个Word文档,其中有Heading1、Heading2等文本样式

我对每种格式都有特定的格式样式,我想应用这些样式


此外,我还想检查是否使用了正确的样式。

好的,根据我从您的问题中了解的情况,您希望自动替换样式

下面是一个宏,可以帮助您执行此操作:

Public Sub SearchReplaceStyles()

Dim search_style As String ' the style which apparently seem out of style
Dim replace_style As String ' the desired style

search_style = "Heading 1"
replace_style = "Heading 2"

With Selection.Find
    .ClearFormatting
    .Style = ActiveDocument.Styles(search_style)
    .Replacement.ClearFormatting
    .Replacement.Style = ActiveDocument.Styles(replace_style)
    .Wrap = wdFindContinue
    .Execute Replace:=wdReplaceAll
End With

End Sub

好的,我从你的问题中了解到,你想自动替换样式

下面是一个宏,可以帮助您执行此操作:

Public Sub SearchReplaceStyles()

Dim search_style As String ' the style which apparently seem out of style
Dim replace_style As String ' the desired style

search_style = "Heading 1"
replace_style = "Heading 2"

With Selection.Find
    .ClearFormatting
    .Style = ActiveDocument.Styles(search_style)
    .Replacement.ClearFormatting
    .Replacement.Style = ActiveDocument.Styles(replace_style)
    .Wrap = wdFindContinue
    .Execute Replace:=wdReplaceAll
End With

End Sub

是的,使用VBA宏可以实现这一点。但SO不是来提供解决方案的,而是来帮助你的。也许可以考虑读这篇文章:我明白这一点。我也不想要一个解决方案,但如果像你这样的人能给我指出正确的方向,你会使用什么版本的微软Word?你知道你可以“录制”宏吗。这将是一个起点。如果出现具体问题,请随时更新您的问题。我还想知道为什么要应用特定格式?我想了解您的用例。我使用2013。是的,我知道我可以录制宏。我是一个专业的VBA开发人员。但我创建的大多数宏都是在Excel中。现在,我的一些客户向我发送了这些未格式化的Word文档,我需要以特定的样式进行格式化。因此,我想创建一个工具来检查任何元素是否过时。我发布的内容是否有用?是的,有很多方法可以使用VBA宏来实现这一点。但SO不是来提供解决方案的,而是来帮助你的。也许可以考虑读这篇文章:我明白这一点。我也不想要一个解决方案,但如果像你这样的人能给我指出正确的方向,你会使用什么版本的微软Word?你知道你可以“录制”宏吗。这将是一个起点。如果出现具体问题,请随时更新您的问题。我还想知道为什么要应用特定格式?我想了解您的用例。我使用2013。是的,我知道我可以录制宏。我是一个专业的VBA开发人员。但我创建的大多数宏都是在Excel中。现在,我的一些客户向我发送了这些未格式化的Word文档,我需要以特定的样式进行格式化。所以,我想创建一个工具来检查任何元素是否过时。这对我发布的内容有帮助吗?非常感谢!这真的很有帮助,不客气。如果要检查格式,请告诉我。但是我相信如果你是VBA开发者,你会很快明白的。非常感谢!这真的很有帮助,不客气。如果要检查格式,请告诉我。但我相信,如果你是VBA开发人员,你会很快找到答案。