有比遍历文档段落更快的方法吗?

时间:2020-06-19 01:06:19

标签: vba ms-word

完成新手。我使用Pandoc创建了Word文档,但是阿拉伯语输出需要一些修改。遍历在线文档和帖子,我得到了以下代码:

Sub pandoc_RTL()
'
' pandoc_RTL Macro
'
'

Dim objPara As Paragraph

    For Each objPara In ActiveDocument.Paragraphs

        If objPara.Style = "body AR" Then
            objPara.Range.Select            
            Selection.RtlRun
            Selection.RtlPara
        End If

        If objPara.Style = "hadith AR" Then
            objPara.Range.Select
            Selection.RtlRun
            Selection.RtlPara
        End If

        If objPara.Style = "hadith in-list AR" Then
            objPara.Range.Select
            Selection.RtlRun
            Selection.RtlPara
        End If

        If objPara.Style = "athar AR" Then
            objPara.Range.Select
            Selection.RtlRun
            Selection.RtlPara
        End If

        If objPara.Style = "body AR" Then
            objPara.Range.Select
            Selection.RtlRun
            Selection.RtlPara
        End If

    Next

End Sub

我的问题:

  1. 正则表达式是避免重复的唯一方法,因为所有必需的样式都以“ AR”结尾?
  2. 除了遍历所有段落之外,还有其他更快的方法吗?

1 个答案:

答案 0 :(得分:1)

您只需要修改样式。可通过已启用RTL语言的任何文档中的“管理样式”>“修改”>“格式”>“段落”>“缩进和间距”来访问此单选按钮。无论如何,使用VBA:

R.id.nav_host_fragment

完成。

相关问题