WORD

07/03/2006 - 13:06 por Oscar | Informe spam
Hola

Os expongo la idea que tengo a ver que os parece... Tengo un richtextbox
donde la gente va escribiendo sus lineas(con negrita, etc...) Como no tengo,
ni encuentro ningún corrector ortográfico se me ha ocurrido la idea de que
cuando este sobre la linea se abra sobre el formulario una instancia de Word
donde pueda escribir la linea con todas las funciones de word y una vez
acabado, que recupere el texto de word en formato rtf y lo guarde en el
richtextbox o directamente en la BD. Es posible? Como?

Saludos, Oscar
 

Leer las respuestas

#1 Luis Miguel Blanco
07/03/2006 - 23:49 | Informe spam
Hola Oscar

Utilizando VB.NET puedes acceder a Word mediante el módulo de
interopeabilidad que Word emplea para exponer sus objetos, de forma que es
posible manipular las características del procesador de textos desde un
programa escrito en VB.NET.

En primer lugar, desde tu solución en Visual Studio .NET, debes agregar una
referencia al componente "Microsoft Word xx Object Library", donde xx
corresponde al número de versión. Ten en cuenta en el cuadro de diálogo para
agregar referencia, que debes seleccionar la pestaña COM, ya que el
componente de Word se encuentra en esta categoría.

Una vez establecida la referencia hacia el componente de Word, supongamos
que en tu formulario añades dos controles RichTextBox, en uno tienes el texto
original que debes revisar con un corrector, mientras que en el otro
depositarás el texto revisado.

En el código del formulario debes importar el espacio de nombres
Microsoft.Office.Interop para manipular de forma más cómoda el objeto de Word.

Seguidamente, utilizando por ejemplo un botón del formulario, escribimos el
código encargado de manipular Word desde la aplicación. Lo primero será crear
una variable de tipo Word.ApplicationClass, que contendrá la instancia de
Word, mediante la que utilizaremos su corrector ortográfico.

Tras instanciar esta variable, es decir, iniciar Word desde código,
mostramos la ventana de Word, añadimos un nuevo documento y volcamos al mismo
el texto a revisar; lanzamos el corrector ortográfico, y después de realizar
la revisión, devolvemos el texto del documento, al otro control RichTextBox,
cerrando Word.

A continuación te adjunto un bloque de código con todas las operaciones que
te acabo de describir.

'///////////////////////////////////
Imports Microsoft.Office.Interop

Public Class Form1
Inherits System.Windows.Forms.Form
'
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim oWord As Word.ApplicationClass
oWord = New Word.ApplicationClass
oWord.Application.Visible = True
oWord.Application.WindowState = Word.WdWindowState.wdWindowStateNormal
oWord.Documents.Add()
oWord.Application.Resize(257, 288)
oWord.Application.Move(50, 75)
oWord.Selection.TypeText(Me.RichTextBox1.Text)
oWord.Selection.HomeKey()
oWord.ActiveDocument.CheckSpelling()
oWord.Selection.Paragraphs(1).Range.Select()
Me.RichTextBox2.Text = oWord.Selection.Text
oWord.ActiveDocument.Close(Word.WdSaveOptions.wdDoNotSaveChanges)
oWord.Application.Quit()
oWord = Nothing
End Sub
End Class
'///////////////////////////////////

Y esto sería, todo, espero que te sirva de ayuda.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Oscar" wrote:

Hola

Os expongo la idea que tengo a ver que os parece... Tengo un richtextbox
donde la gente va escribiendo sus lineas(con negrita, etc...) Como no tengo,
ni encuentro ningún corrector ortográfico se me ha ocurrido la idea de que
cuando este sobre la linea se abra sobre el formulario una instancia de Word
donde pueda escribir la linea con todas las funciones de word y una vez
acabado, que recupere el texto de word en formato rtf y lo guarde en el
richtextbox o directamente en la BD. Es posible? Como?

Saludos, Oscar



Preguntas similares