Verificando a ortografia no VB com o Word


Você é bom de 'portuguêz' ? Sempre esta 'serto' da grafia das palavras que escreve ? Bem ,  se você esta ficando 'ancioso' para que eu 'começe' logo o artigo e nem percebeu os erros de ortografia cometidos , realmente está precisando de um bom verificador ortográfico ( não custa nada estudar um pouco a língua pátria ...)

Vamos mostrar como fazer a verificação ortográfica de um texto no Visual Basic usando o Word via automação.  Então...   

Inclua o seguinte código no evento Load do formulário.


Private Sub Form_Load()
  Text1.Text = " Hoji eu istou muinto ancioso para uzar meu conputador "
End Sub

A seguir insira o código abaixo no evento Click do botão de comando - Command1.

Private Sub Command1_Click()
Dim oword As Object
Dim otmpdoc As Object
Dim lorigtop As Long

' criando um documento word
Set oword = CreateObject("Word.Application")
Set otmpdoc = oword.documents.Add

'posiciona o texto fora da area visivel
lorigtop = oword.Top
oword.WindowState = 0
oword.Top = 3000

' atribui texto ao documento e verifica ortografia
With otmpdoc
  .content.Text = Text1.Text
  .Activate
  .checkspelling

  'apos as alteracoes retorna o texto
  Text1.Text = .content.Text

  'fecha o documento e sai do word
  .saved = True
  .Close
End With

oword.Top = lorigtop
oword.quit
Set oword = Nothing

End Sub

Ao executar o projeto a caixa de texto já estará exibindo nosso texto padrão . Basta clicar no botão de comando para que o Word inicie a verificação ortográfica . A caixa de diálogo da verificação do Word irá surgir solicitando que você corrija cada palavra errada. Veja abaixo:

Ao encerrar o texto corrigido será exibido na sua aplicação VB como abaixo:

Como funciona ?

Você deve estar estranhando o fato de não termos que fazer nenhuma referência ao objeto Word em nosso projeto . Sabe por que ?  porque usamos CreateObject("Word.Application") , quando fazemos isto não precisamos referenciar o objeto no projeto.

 criando um documento word
Set oword = CreateObject("Word.Application")
Set otmpdoc = oword.documents.Add

A função CheckSpelling do Word é que faz todo o trabalho após ser invocada :

With otmpdoc
  .content.Text = Text1.Text
  .Activate
  .checkspelling

  'apos as alteracoes retorna o texto
  Text1.Text = .content.Text

  'fecha o documento e sai do word
  .saved = True
  .Close
End With

A seguir retornamos o texto correto para a caixa de texto , salvamos e encerramos o Word .

Inté ...