Post History
I was looking for the exact same thing. Dug around and found ways to do it outside Word, but really wanted to do this without leaving Word. Did some more reading and discovered the key is to run a ...
Answer
#3: Attribution notice added
Source: https://writers.stackexchange.com/a/36945 License name: CC BY-SA 3.0 License URL: https://creativecommons.org/licenses/by-sa/3.0/
#2: Initial revision
I was looking for the exact same thing. Dug around and found ways to do it outside Word, but really wanted to do this without leaving Word. Did some more reading and discovered the key is to run a find and replace, searching for the vowel characters in the Hebrew Unicode block. I wanted to keep maqqef and sof pasuq, so I had to use three separate ranges (if you don't want those characters, you can simplify this to one search for the whole range 1425-1479). The results are below. If you select text and run the macro, it will only apply to the selection. If you don't have a selection, it will run to end of document. Sub HebrewDevocalizer() With Selection.Find .ClearFormatting .Replacement.ClearFormatting .Text = "[" & ChrW(1425) & "-" & ChrW(1469) & "]" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .ClearFormatting .Replacement.ClearFormatting .Text = "[" & ChrW(1471) & "-" & ChrW(1474) & "]" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .ClearFormatting .Replacement.ClearFormatting .Text = "[" & ChrW(1476) & "-" & ChrW(1479) & "]" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll End Sub