Microsoft Office Forums

Go Back   Microsoft Office Forums > >

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #3  
Old 11-02-2025, 03:24 PM
vivka vivka is offline Code to remove all diacritics Windows 7 64bit Code to remove all diacritics Office 2016
Expert
 
Join Date: Jul 2023
Posts: 305
vivka is on a distinguished road
Default

Hi, RobiNew! Not elegant but works. I couldn't make VBA see Array() or Split() functions with diacritics or their Uncodes however I tried. So I came up with this "primitive" code.
Code:
Sub RemoveDiacritics()

Dim rng As range
    
    Set rng = Selection.range
    With rng.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .text = ChrW(192)
        .Replacement.text = "A"
        .Forward = True
        .Wrap = wdFindStop
        .Format = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
        .Execute Replace:=wdReplaceAll
        .text = ChrW(193)
        .Replacement.text = "A"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(194)
        .Replacement.text = "A"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(195)
        .Replacement.text = "A"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(196)
        .Replacement.text = "A"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(197)
        .Replacement.text = "A"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(198)
        .Replacement.text = "A"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(200)
        .Replacement.text = "E"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(201)
        .Replacement.text = "E"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(202)
        .Replacement.text = "E"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(203)
        .Replacement.text = "E"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(204)
        .Replacement.text = "I"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(205)
        .Replacement.text = "I"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(206)
        .Replacement.text = "I"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(207)
        .Replacement.text = "I"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(209)
        .Replacement.text = "N"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(210)
        .Replacement.text = "O"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(211)
        .Replacement.text = "O"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(212)
        .Replacement.text = "O"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(213)
        .Replacement.text = "O"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(214)
        .Replacement.text = "O"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(217)
        .Replacement.text = "U"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(218)
        .Replacement.text = "U"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(219)
        .Replacement.text = "U"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(220)
        .Replacement.text = "U"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(221)
        .Replacement.text = "Y"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(224)
        .Replacement.text = "a"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(225)
        .Replacement.text = "a"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(226)
        .Replacement.text = "a"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(227)
        .Replacement.text = "a"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(228)
        .Replacement.text = "a"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(229)
        .Replacement.text = "a"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(232)
        .Replacement.text = "e"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(233)
        .Replacement.text = "e"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(234)
        .Replacement.text = "e"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(235)
        .Replacement.text = "e"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(236)
        .Replacement.text = "i"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(2374)
        .Replacement.text = "i"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(238)
        .Replacement.text = "i"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(241)
        .Replacement.text = "n"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(242)
        .Replacement.text = "o"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(243)
        .Replacement.text = "o"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(244)
        .Replacement.text = "o"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(245)
        .Replacement.text = "o"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(246)
        .Replacement.text = "o"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(249)
        .Replacement.text = "u"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(250)
        .Replacement.text = "u"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(251)
        .Replacement.text = "u"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(252)
        .Replacement.text = "u"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(253)
        .Replacement.text = "y"
        .Execute Replace:=wdReplaceAll
        .text = ChrW(255)
        .Replacement.text = "y"
        .Execute Replace:=wdReplaceAll
End With
End Sub

Last edited by vivka; 11-03-2025 at 09:40 AM.
Reply With Quote
 



Similar Threads
Thread Thread Starter Forum Replies Last Post
Code to remove all diacritics VBA Code to remove specific highlight syl3786 Word VBA 4 03-27-2023 05:01 PM
Sofware or VBA Code to remove Attachments HowardC Outlook 7 09-12-2015 05:04 AM
Bug (?) in Arabic & Hebrew diacritics in Word - show red only vgwilkins Word 0 01-14-2013 09:09 AM
Code to remove all diacritics A crazy spelling grammar - for diacritics YooNaa Kim Word 3 01-28-2011 01:39 PM
Diacritics and Word Template sinojosh Word 0 03-11-2009 06:58 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 03:34 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2026 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft