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

Обсуждение любых программ, не имеющих отношения к Total Commander.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Аватара пользователя
Andrey_A
Сообщения: 394
Зарегистрирован: Пт апр 10, 2009 06:28
Откуда: Сочи
Контактная информация:

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

Сообщение 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
Можно ли его как-то подправить, чтобы проверять текст в
файле под курсором или в выделенных файлах?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

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

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

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

Мальчика пошло в школе. 
Он не найдет в нем ошибок. Хотя даже двоечник скажет, что они там есть. :D
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

MVV
Никоим образом не идеализируя вордовский проверяльщик, хочу сказать, что польза от него, конечно же, есть. У меня, например, с грамотностью всё в порядке, а вот печатаю я достаточно неаккуратно, и банальные описки в EmEditor с помощью того же проверяльщика отлавливать потом очень даже удобно. Скажем, при подготовке истории версий TC.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Lazy Crazy
Сообщения: 400
Зарегистрирован: Вс янв 16, 2005 20:53

Сообщение Lazy Crazy »

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

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

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

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

Сообщение MVV »

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

Аж интересно стало, выпускает ли кто-нибудь нормальный модуль проверки правильности текста на русском языке в ворде.
Аватара пользователя
Rodny
Сообщения: 949
Зарегистрирован: Ср янв 24, 2007 00:59
Откуда: Могилёв, Беларусь

Сообщение Rodny »

MVV
А разве кроме ОРФО что-то ещё есть?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Rodny писал(а):MVV
А разве кроме ОРФО что-то ещё есть?
Ну, я думал, мож есть что еще. А про ОРФО раньше слышал, во времена 97 офиса... хотя, оно разочаровало - их бесплатная проверка на сайте тоже ни хрена не видит ошибок в моем злобном предложении. Так что с ОРФО тоже толку мало.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

> бесплатная проверка на сайте тоже ни хрена не видит...
Там же написано "проверка орфографии".
Орфографических ошибок в твоём предложении нет.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Самые распространенные ошибки - это опечатки (у меня, по крайней мере), которые могут быть и забавны (то, что в юмористических журналах называется "очипятки"). Например:
дочка отсчета
тонкостенный сосут
сонаправленный лектор
Ворд подобные ошибки иногда отлавливает. А предлагаемый скрипт?
[off]
Кстати, Ворд 2003 в этом отношении чувствительно лучше 2000. Все-таки мелкомягкие не зря хлеб кушают
[/off]
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

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

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

oWD.Documents.Add
пишем

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

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

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

oWD.Selection.Paste
пишем

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

oWD.Selection.WholeStory
Соответственно у скрипта должен быть параметр %P%N.
Нет, я не сплю. Я просто медленно моргаю.
Аватара пользователя
Andrey_A
Сообщения: 394
Зарегистрирован: Пт апр 10, 2009 06:28
Откуда: Сочи
Контактная информация:

Сообщение Andrey_A »

Спасибо Batya работает!
Ответить