Программирование на Visual Basic | Microsoft Access. Проверка орфографии в Access, используя Microsoft Word

В этом разделе сайта находятся примеры из сборника программ "Архив файлов на Microsoft Access". В нем рассказывается о программировании форм, отчетов, таблиц и других объектов. Используйте этот архив для изучения работы с приложением Microsoft Office Access и программированием на Visual Basic for Application. Тем кто уже знаком с VBA, используйте поиск для нахождения кодов. Наберите, например, DAO, ADO, Recordset и найдете нужную ссылку для решения проблемы с программированием

Microsoft Access. Проверка орфографии в Access, используя Microsoft Word

06. Данный пример показывает как можно проверять текстовые документы в Access, используя Word. Дается 2 варианта - быстрый и медленный с вызовом диалога коррекции текста.

'  Проверка текста с диалогом
Private Sub butExecute_Click()
Dim app As Word.Application  'Приложение программы
'Dim obj As Object  'Приложение программы, 2 вариант

    On Error GoTo 999

    ' Нужна проверка на ввод текст
    If Nz(Me.Text, "") = "" Then
        MsgBox "Введите текст!"
        Exit Sub
    End If
    
    ' Сообщение о начале проверки
    Me.Result = "Думаю ... Для замены фраз откройте Word"
    DoEvents

    Set app = New Word.Application
'   Set app = CreateObject("Word.Application") ' 2 вариант
   
    With app
        ' Отображаем Word
        .Visible = True
        
        ' Добавляем документ для проверки
        .Documents.Add
    
        ' Печатаем проверяемый текст
        .Selection.TypeText Me.Text
        
        ' Настраиваем опции проверки
        .Options.CheckGrammarWithSpelling = False
        .Options.IgnoreUppercase = False
    
        ' Выполняем проверку
        .ActiveDocument.CheckSpelling
    
        ' Выбираем новый для проверки текст
        .Selection.WholeStory
    
        ' Копируем текст в буфер
        .Selection.Copy
    
        ' Возвращаем результат после проверки
        Me.Result = .Selection.Text
        
        ' Возвращаем текст из буфера
        ' Me.Result = Clipboard.GetText
    
        ' Закрываем Word
        .ActiveDocument.Close (0)
        .Quit
    End With
    
    ' Закрываем приложение
    Set app = Nothing
    Exit Sub
999:
    MsgBox Err.Description  'Ошибка
    Err.Clear
End Sub

' Быстрая проверка на наличие ошибок
Private Sub butExecute2_Click()
Dim app As Word.Application
'Dim obj As Object  'Приложение программы, 2 вариант

    On Error GoTo 999
    
    ' Нужна проверка на ввод текст
    If Nz(Me.Text, "") = "" Then
        MsgBox "Введите текст!"
        Exit Sub
    End If
    
    ' Сообщение о начале проверки
    Me.Result = "Думаю ..."
    DoEvents
    
'   Set app = CreateObject("Word.Application") ' 2 вариант
   Set app = New Word.Application
   
   ' Быстрая проверка
    If app.CheckSpelling(Me.Text) Then
        Me.Result = "Проверка текста прошла успешно!"
    Else
        Me.Result = "В тексте есть ошибки"
    End If
    
    ' Освобождаем память
    app.Quit
    Set app = Nothing
    Exit Sub
999:
    MsgBox Err.Description  'Ошибка
    Err.Clear
End Sub

Добавить комментарий

Loading