Страница 1 из 1

Скрипт для орфографической проверки текста

Добавлено: Сб май 01, 2010 14:08
Andrey_A
Недавно попался скрипт Орфографическая проверка текста в буфере обмена

Код: Выделить всё

' 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
Можно ли его как-то подправить, чтобы проверять текст в
файле под курсором или в выделенных файлах?

Добавлено: Сб май 01, 2010 15:09
MVV
Судя по тому, что он использует вордовский проверяльщик, грош цена такому скрипту:) ибо проверяльщик в ворде кирпича просит.

Проверь текст на наличе ошибок в ворде:

Код: Выделить всё

Мальчика пошло в школе. 
Он не найдет в нем ошибок. Хотя даже двоечник скажет, что они там есть. :D

Добавлено: Сб май 01, 2010 16:27
Avada
MVV
Никоим образом не идеализируя вордовский проверяльщик, хочу сказать, что польза от него, конечно же, есть. У меня, например, с грамотностью всё в порядке, а вот печатаю я достаточно неаккуратно, и банальные описки в EmEditor с помощью того же проверяльщика отлавливать потом очень даже удобно. Скажем, при подготовке истории версий TC.

Добавлено: Вс май 02, 2010 17:35
Lazy Crazy
MVV писал(а):Судя по тому, что он использует вордовский проверяльщик, грош цена такому скрипту:) ибо проверяльщик в ворде кирпича просит.

Проверь текст на наличе ошибок в ворде:

Код: Выделить всё

Мальчика пошло в школе. 
Он не найдет в нем ошибок. Хотя даже двоечник скажет, что они там есть. :D
Большая советская энциклопедия писал(а):Орфография
(греч. orthographía, от orthós — правильный и gráphõ — пишу), правописание, система правил, определяющих единообразие способов передачи речи (слов и грамматических форм) на письме. Общественная функция О. проявляется в том, что единообразное написание слов, независимо от индивидуальных и диалектных особенностей произношения, облегчает пользование письменной речью. Правила О. включают выбор способов буквенного обозначения фонем и слов, а также употребление заглавных букв, перенос слов, их раздельное, слитное или полуслитное написание и др.
Проще говоря - орфография занимается написанием слов, а не составлением предложений из них. Каждое слово в вашем примере написано абсолютно правильно. :wink:

Добавлено: Вс май 02, 2010 19:54
MVV
Не буду упоминать, что пунктуация и грамматика также важны, как и орфография, и что автор топика наверняка подразумевал комплексную проверку правильности текста, а не исключительно орфографию, которую можно проверить банальным словарем вообще без ворда.
Собственно, мой пример очень наглядно показывает, что проверка орфографии без проверки пунктуации и грамматики может давать крайне ущербный результат.

Аж интересно стало, выпускает ли кто-нибудь нормальный модуль проверки правильности текста на русском языке в ворде.

Добавлено: Вс май 02, 2010 21:47
Rodny
MVV
А разве кроме ОРФО что-то ещё есть?

Добавлено: Вс май 02, 2010 23:47
MVV
Rodny писал(а):MVV
А разве кроме ОРФО что-то ещё есть?
Ну, я думал, мож есть что еще. А про ОРФО раньше слышал, во времена 97 офиса... хотя, оно разочаровало - их бесплатная проверка на сайте тоже ни хрена не видит ошибок в моем злобном предложении. Так что с ОРФО тоже толку мало.

Добавлено: Пн май 03, 2010 00:06
Tol!k
> бесплатная проверка на сайте тоже ни хрена не видит...
Там же написано "проверка орфографии".
Орфографических ошибок в твоём предложении нет.

Добавлено: Пн май 03, 2010 01:33
Вахмурка
Самые распространенные ошибки - это опечатки (у меня, по крайней мере), которые могут быть и забавны (то, что в юмористических журналах называется "очипятки"). Например:
дочка отсчета
тонкостенный сосут
сонаправленный лектор
Ворд подобные ошибки иногда отлавливает. А предлагаемый скрипт?
[off]
Кстати, Ворд 2003 в этом отношении чувствительно лучше 2000. Все-таки мелкомягкие не зря хлеб кушают
[/off]

Добавлено: Вт май 04, 2010 10:00
Batya
Andrey_A писал(а):Можно ли его как-то подправить, чтобы проверять текст в
файле под курсором или в выделенных файлах?
Вместо строки

Код: Выделить всё

oWD.Documents.Add
пишем

Код: Выделить всё

oWD.Documents.Open WScript.Arguments(0), False, True
И вместо строки

Код: Выделить всё

oWD.Selection.Paste
пишем

Код: Выделить всё

oWD.Selection.WholeStory
Соответственно у скрипта должен быть параметр %P%N.

Добавлено: Вт май 04, 2010 10:27
Andrey_A
Спасибо Batya работает!