用unicode替换ascii字符

时间:2015-10-22 03:35:58

标签: vba unicode ms-word ascii word-vba

这是我在word vba macro中的代码

Public sub as2uni()
    Dim rdcm As Range 
    Set rdcm = ActiveDocument.Range 
    With rdcm.Find    
     .MatchCase = True     
      rdcm.Select     
     .Text = "0079"
     .Replacement.Text = "\U0BB2"
     .Execute , , , , , , , , , , wdRepl
   End with
End sub 

我只想在所有我的文档中将ASC替换为Unicode ,我该怎么做?

1 个答案:

答案 0 :(得分:1)

我不确定我理解你的宏的目的......我知道你想要用Latha脚本格式的字符替换所有的大写“O”ல

在这种情况下,您需要更改指定替换术语的方式。 Unicode的 ^ Unnn 格式仅对“查找内容”框有效。为了解决这个问题,我将copied复制并粘贴到Word界面中的“替换”框中,然后执行“查找/替换”。查看记录的代码显示您需要使用函数ChrW在宏中指定Unicode表示。

此外,您需要更改指定搜索ANSI 79的方式,如下所示。

Public Sub as2uni() 'Latha
    Dim rdcm As Range
    Set rdcm = ActiveDocument.Range
    With rdcm.Find
        .ClearFormatting
     .MatchCase = True
     ' rdcm.Select
     .Text = "^79"
     .Replacement.Text = ChrW(2994)
     .Execute Replace:=wdReplaceAll
   End With
End Sub