ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 8160|回复: 22

一个小难题:单词修复-去中间不该有的空格

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-3-25 20:45 | 显示全部楼层 |阅读模式

Directions: In this section, you will hear 3 short passages. At th e end of each passage, you will hear some questions. Both the passage and the q uestions will be spoken only once. After you hear a question, you must choose th e best answer from the four choices marked A), B), C), and D). Then mark the cor responding letter on the Answer Sheet with a single line through the centre.

单词修复-去中间不该有的空格

问题:

一篇文档中,类似红字的这种单词挺多的,也就是有些单词的中间进来了一个(只有一个!)不该有的空格,一个个地删太麻烦了。

我想,既然WORD能识别这些元素是错的(或者说不是单词,例如cor),那么可不可以给它个命令,让它把它识别为非单词的这些东东(再例如uestions),自动跟它的前后单词分别结合一下,如果跟其中一个的结合体是WORD能够识别的单词呢,就结合;如果跟前后都能或都不能组合成单词,那就用例如红色字体标示一下。

这个可以做到吗?

这算不算个小难题呀?

IfLOPZa3.rar (3.3 KB, 下载次数: 23)

[此贴子已经被作者于2007-3-25 20:47:26编辑过]

TA的精华主题

TA的得分主题

发表于 2007-3-25 21:08 | 显示全部楼层
选中全文》工具》拼音和语法》

TA的精华主题

TA的得分主题

发表于 2007-3-25 21:09 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-3-25 21:44 | 显示全部楼层
QUOTE:
以下是引用LangQueS在2007-3-25 21:08:56的发言:
选中全文》工具》拼音和语法》

这个还是得手工来,呵呵

而且还弄出来好多无关的语法检查。

我是想批量自动处理,呵呵

而且只是处理拼写有错误的单词。

不过还是很感谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-3-25 21:47 | 显示全部楼层
QUOTE:
以下是引用cxz008在2007-3-25 21:09:06的发言:

检查拼写

在单词下面显示个波浪线还是可以的

这个我有,呵呵!

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-3-26 09:35 | 显示全部楼层
没有人能解答么?这个问题值得研究,我觉得意义重大!

TA的精华主题

TA的得分主题

发表于 2007-3-26 10:01 | 显示全部楼层
用VBA的方法也许可以,但不能确保改动后是正确的,而且如果将某个word认为有问题的元素(也是一个“word”)与其前或后的word结合后错误都消失(也许有这种可能),此时该选前一个结合不是后一个?

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-3-26 12:01 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
QUOTE:
以下是引用sylun在2007-3-26 10:01:47的发言:
用VBA的方法也许可以,但不能确保改动后是正确的,而且如果将某个word认为有问题的元素(也是一个“word”)与其前或后的word结合后错误都消失(也许有这种可能),此时该选前一个结合不是后一个?

"如果跟前后都或都不能组合成单词,那就用例如红色字体标示一下。"

呵呵,是有这个可能性。

另外,确实不能确保改动后的都正确,但我的理解,如果这种情况出现的概率应该是在可以授受的范围。这些人工再检查,呵呵。为了方便检查,倒也可以把更改后的单词用另一种颜色如蓝色标示一下。

TA的精华主题

TA的得分主题

发表于 2007-3-26 12:57 | 显示全部楼层

请测试一下如下代码是否可行

Sub correct_err()
'
    Dim myRange As Range, myErrors As Variant, myerr As Range
    Dim n As Integer, c As Integer, errtxt As String
    Set myErrors = ActiveDocument.Range.SpellingErrors
    n = myErrors.Count
    For Each myerr In myErrors
        Set myRange = myerr
        errtxt = myerr.Text
        With myRange
            '先尝试与前一word(可能是空格)合并
            While Not (.Words(1).Previous Is Nothing)
                .SetRange Start:=.Words(1).Previous.Start, End:=.End
                .Select
                .Text = Replace(.Text, Chr(32), "")
                .HighlightColorIndex = wdYellow
                c = c + 1
                '如果仍有错,则与后一word合并
                If .SpellingErrors.Count > 0 Then
                    .Select
                    .Text = Replace(.Text, errtxt, Chr(32) & errtxt, 1)
                    .HighlightColorIndex = wdNoHighlight
                    c = c - 1
                    While Not (.Words(2).Next Is Nothing)
                        .SetRange Start:=.Words(2).Start, End:=.Words(2).Next.End
                        .Select
                        .Text = Replace(.Text, Chr(32), "")
                        .HighlightColorIndex = wdYellow
                        c = c + 1
                        '如果错误仍未消除,则恢复原样
                        If .SpellingErrors.Count > 0 Then
                            .Text = Replace(.Text, errtxt, errtxt & Chr(32), 1)
                            .HighlightColorIndex = wdNoHighlight
                            c = c - 1
                        End If
                        GoTo NF
                    Wend
                End If
                GoTo NF
            Wend
        End With
NF: Next myerr
    MsgBox "共发现" & n & "个错误,并尝试更正了" & c & "个(突出显示部分)。", vbInformation
End Sub

[此贴子已经被作者于2007-3-26 12:57:52编辑过]

TA的精华主题

TA的得分主题

发表于 2007-3-26 14:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
sylun,向你学习了!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-28 08:31 , Processed in 0.035398 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表