' Spell-Checker for clipboard contents. Requires MS Word
' Steve Yandl, October 23, 2000
' /////////////////////////////////////////////////////////////////
'
Dim oWD, RangeOriginal, RangeCorrected, Cnt, Status
Set oWD = WScript.CreateObject("Word.Application")
oWD.Visible =false
oWD.Documents.Add
On Error Resume Next
oWD.Selection.Paste
If err.number<>0 then
MsgBox "Буфер обмена пуст!"
oWD.ActiveDocument.Close wdDoNotSaveChanges
oWD.Quit
Set oWD=Nothing
Set oWD=Nothing
WScript.Quit
End If
'
Set RangeOriginal=oWD.ActiveDocument.Range(0,oWD.Selection.End)
If oWD.CheckSpelling(RangeOriginal)=False Then
oWD.ActiveDocument.CheckSpelling
Set RangeCorrected = oWD.ActiveDocument.Range(0,oWD.Selection.End)
RangeCorrected.copy
'
If RangeCorrected.Words.Count>7 Then
Cnt=RangeCorrected.Words.Count
Status= "Текст, начинающийся с: "&_
RangeCorrected.Words.Item(1)&" "&RangeCorrected.Words.Item(2)&" "&_
RangeCorrected.Words.Item(3)&"....."&vbCRLF&"и заканчивающийся: ....."&_
RangeCorrected.Words.Item(Cnt-2)&" "&RangeCorrected.Words.Item(Cnt-1)&_
" "&RangeCorrected.Words.Item(Cnt)&vbCRLF&"проверен. "&_
"Исправленный текст скопирован в буфер обмена."
Else
Status= "<< "&RangeCorrected&" >>"&vbCRLF&"был проверен."&_
" Исправленный текст скопирован в буфер обмена."
End If
'
Else
Status= "Проверка завершена. Текст не содержит ошибок."
End If
'
oWD.ActiveDocument.Close wdDoNotSaveChanges
oWD.Quit
Set oWD=Nothing
MsgBox Status
Можно ли его как-то подправить, чтобы проверять текст в
файле под курсором или в выделенных файлах?
MVV
Никоим образом не идеализируя вордовский проверяльщик, хочу сказать, что польза от него, конечно же, есть. У меня, например, с грамотностью всё в порядке, а вот печатаю я достаточно неаккуратно, и банальные описки в EmEditor с помощью того же проверяльщика отлавливать потом очень даже удобно. Скажем, при подготовке истории версий TC.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Он не найдет в нем ошибок. Хотя даже двоечник скажет, что они там есть.
Большая советская энциклопедия писал(а):Орфография
(греч. orthographía, от orthós — правильный и gráphõ — пишу), правописание, система правил, определяющих единообразие способов передачи речи (слов и грамматических форм) на письме. Общественная функция О. проявляется в том, что единообразное написание слов, независимо от индивидуальных и диалектных особенностей произношения, облегчает пользование письменной речью. Правила О. включают выбор способов буквенного обозначения фонем и слов, а также употребление заглавных букв, перенос слов, их раздельное, слитное или полуслитное написание и др.
Проще говоря - орфография занимается написанием слов, а не составлением предложений из них. Каждое слово в вашем примере написано абсолютно правильно.
Не буду упоминать, что пунктуация и грамматика также важны, как и орфография, и что автор топика наверняка подразумевал комплексную проверку правильности текста, а не исключительно орфографию, которую можно проверить банальным словарем вообще без ворда.
Собственно, мой пример очень наглядно показывает, что проверка орфографии без проверки пунктуации и грамматики может давать крайне ущербный результат.
Аж интересно стало, выпускает ли кто-нибудь нормальный модуль проверки правильности текста на русском языке в ворде.
Rodny писал(а):MVV
А разве кроме ОРФО что-то ещё есть?
Ну, я думал, мож есть что еще. А про ОРФО раньше слышал, во времена 97 офиса... хотя, оно разочаровало - их бесплатная проверка на сайте тоже ни хрена не видит ошибок в моем злобном предложении. Так что с ОРФО тоже толку мало.
Самые распространенные ошибки - это опечатки (у меня, по крайней мере), которые могут быть и забавны (то, что в юмористических журналах называется "очипятки"). Например:
дочка отсчета
тонкостенный сосут
сонаправленный лектор
Ворд подобные ошибки иногда отлавливает. А предлагаемый скрипт?
[off]
Кстати, Ворд 2003 в этом отношении чувствительно лучше 2000. Все-таки мелкомягкие не зря хлеб кушают
[/off]