powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Проверка правописания.
6 сообщений из 6, страница 1 из 1
Проверка правописания.
    #32655543
MikeTech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Требуется подгружать из БД (oracle) часть текстовых данных и проверять на наличие орфографических ошибок, но проблема - как выполнить проверку правописания и определить, что есть ошибки (именно орфографические) ?

При помощи записи макроса функцию или процедуру не отловил, прошу помощи.
...
Рейтинг: 0 / 0
Проверка правописания.
    #32655624
Фотография naPmu3aH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На чем программу пишете?
Microsoft Office позволяет использовать проверку орфографии (при установленном соотв. компоненте) из других программ через Common Speller API (CSAPI).
И хотя тут MS утверждает что это невозможно и посылает за другими (платными) решениями я знаю, что это возможно и народ это использует.
Примеры с исходниками можно найти в плагинах к FAR'у...

--
чем дальше в лес, тем больше нас
...
Рейтинг: 0 / 0
Проверка правописания.
    #32655810
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если просто проверить - есть ли ошибки, то примерно так

Dim mySpell As Dictionary
Set mySpell = Application.Languages(wdRussian).ActiveSpellingDictionary

Debug.Print Application.CheckSpelling(Word:="очень хорошо", MainDictionary:=mySpell)

Если нужно еще и попытаться исправить ошибки, то Application.GetSpellingSuggestions - вот кусок из хелпа

Sub DisplaySuggestions()
Dim sugList As SpellingSuggestions
Dim sug As SpellingSuggestion
Dim strSugList As String
Set sugList = GetSpellingSuggestions(Word:="lrok", _
SuggestionMode:=wdSpellword)
If sugList.Count = 0 Then
MsgBox "No suggestions."
Else
For Each sug In sugList
strSugList = strSugList & vbTab & sug.Name & vbLf
Next sug
MsgBox "The suggestions for this word are: " _
& vbLf & strSugList
End If
End Sub



(с выражением лица)
...
Рейтинг: 0 / 0
Проверка правописания.
    #32656072
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно еще так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim Word As Object
Set Word = CreateObject("Word.application")
Word.documents.Add
Word.selection.typetext "ашибка"
Word.activedocument.checkspelling
MsgBox Word.activedocument.storyranges( 1 )
Word.quit  0 
...
Рейтинг: 0 / 0
Проверка правописания.
    #32656200
MikeTech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообщем получилось, ниже код для общего развития пригодится, писалось под Word.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Private Sub Document_Open()
Dim mySpell As Dictionary
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=MSDASQL;driver={Microsoft ODBC for Oracle};uid=test;pwd=test;server=test;"
cn.Open
Dim rst As New ADODB.Recordset
rst.Open "select msg,n from table where sysdate between fd and td and r_person_n=1 and fd>=to_date('18-08-2004','dd-mm-yyyy')", cn, adOpenKeyset, adLockOptimistic
Set mySpell = Application.Languages(wdRussian).ActiveSpellingDictionary
Do Until rst.EOF
 If Application.CheckSpelling(Word:=rst.Fields( 0 ), MainDictionary:=mySpell) = False Then
   MsgBox (rst.Fields( 0 ))
 End If
   rst.MoveNext
Loop

Set mySpell = Nothing
rst.Close
cn.Close
Set cn = Nothing
Set rst = Nothing

End Sub
Но есть проблемы:
1. Если в самом Word'е не убрать чек-бокс "Грамматика", то проверяется все, это сделать програмно не получилось (вообще то скорее всего плохо искал).
2. Если слова нет в словаре, это считается как ошибка, хотя на самом деле оной не долно быть, как настроить ?
...
Рейтинг: 0 / 0
Проверка правописания.
    #32656444
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор2. Если слова нет в словаре, это считается как ошибка, хотя на самом деле оной не долно быть, как настроить ?

F1 на использованные функции - Custom.dic
где-то там же рядом про грамматику
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Проверка правописания.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]