拒绝干扰批量删除Excel文档中的干扰字符
2022-05-30愚人
愚人
方法1:直接用OCR识别
这些干扰字符的字体颜色都是白色,使用Excel打开后如果不将干扰字符的字体颜色设置为黑色,从外观看几乎和正常的文档没有什么区别。如果需要处理的文档不多,我们可以直接使用QQ的OCR功能进行识别(OCR默认不会识别白色字体的字符)。
启动QQ后打开一个与任意好友的聊天窗口,用QQ的截图功能截取需要处理的数据为图片,接着点击截图工具栏中的“屏幕识图”功能(图2)。
这样QQ会自动调用OCR组件对截图的内容进行识别。完成识别后,在识别窗口中点击“转为在线文档”,接着使用自己的QQ登录腾讯文档,在打开的页面中就可以看到识别结果了。最后按照提示将文档保存到本地,用Excel打开即可(图3)
方法2:用Word協助删除字符
这些干扰字符都是白色的,而其内容是随机生成的。对于同一字体的文字处理,我们可以借助Wo r d2019进行批量删除。启动Word 2019并新建文档,接着将Excel中的数据内容全选并复制,切换到Word窗口中并依次点击“开始→粘贴→保留源格式”,将数据粘贴到Word文档中(图4)。
为了方便选中干扰字符,按下“Ctrl+A”组合键全选文本,接着将全部文字的颜色设置为“黑色”,然后使用鼠标选中任意一个干扰字符,依次点击“开始→选择→选择格式相同的文本”。这样在Word中就可以将所有干扰字符全部选中,只要按下Del键便可以将干扰字符全部删除。最后将处理好的文本复制回Excel中保存即可(图5)。
方法3:使用VBA脚本批量替换
在Word中处理干扰字符需要多次复制、粘贴。如果希望在Excel中直接对干扰字符进行处理,我们还可以通过VBA脚本来实现。由于干扰字符都是白色字体,因此我们只要设置遍历代码,找到白色字体并将其删除即可。
在Excel窗口中按下“Alt+F11”快捷键,打开VBA脚本编辑窗口,依次点击“插入→模块”,然后在代码框中输入下面的代码(图6):
Sub abc()
For Each rg In [a1].CurrentRegion
F or i = 1 To Len(rg)
I f rg.Characters(Start:=i, Length:=1).Font.
ColorIndex = 2 T hen
r g.Characters(Start:=i, Length:=1).Delete
i = i - 1
E nd If
N ext
Next
End Sub
代码解释:
这里先使用“For Each”代码,以A1单元格为基准开始遍历整个文档中的数据单元格,接着再嵌套一个For语句来遍历每个单元格中的所有字符,这样从A1单元格开始,如果在其中找到白色字体就将其删除(代码中的“Font.ColorIndex = 2”表示白色字体,1表示黑色、3为红色,请自行根据实际情况设置)。
为了方便后续使用,可以先将当前文档保存为启用宏的“*.xlsm”文档,这样会在当前文档中自动生成一个名为“abc”的宏。依次点击“开发工具→宏”,选中“abc”宏后点击“选项”,为宏设置一个快捷键,如“Ctrl+J”,然后依次点击“确定”退出(图7)。
这样,以后我们只要将钉钉导出的文档粘贴到模板中,接着按下“Ctrl+W”快捷键,就可以快速删除干扰字符了。完成后将文件另存为文档保存即可(图8)。