Thread: [Solved] word 2013 operation on text
View Single Post
 
Old 09-25-2018, 02:21 AM
macropod's Avatar
macropod macropod is online now Windows 7 64bit Office 2010 32bit
Administrator
 
Join Date: Dec 2010
Location: Canberra, Australia
Posts: 22,345
macropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond repute
Default

Try, for example:
Code:
Sub Demo()
Application.ScreenUpdating = False
With ActiveDocument.Range
  With .Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = "[0-9]{1,4} [AB].[DC]."
    .Replacement.Text = ""
    .Forward = True
    .Format = False
    .Wrap = wdFindStop
    .MatchWildcards = True
    .Execute
  End With
  Do While .Find.Found
    If Split(.Text, " ")(1) = "B.C." Then
      .InsertAfter " (chinese year " & Split(.Text, " ")(0) + 2699 & ")"
    ElseIf Split(.Text, " ")(1) = "A.D." Then
      .InsertAfter " (chinese year " & Split(.Text, " ")(0) + 2698 & ")"
    End If
    .Collapse wdCollapseEnd
    .Find.Execute
  Loop
End With
Application.ScreenUpdating = True
End Sub
Note: You'll need to check the correct value to add for B.C. years vs A.D. years, since there was no 0 B.C./A.D.
__________________
Cheers,
Paul Edstein
[Fmr MS MVP - Word]
Reply With Quote