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

Preguntas similare

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



Respuesta Responder a este mensaje
#2 Jorge
08/03/2006 - 00:16 | Informe spam
Saludos Luis yo tengo instalado el Office 2003, cuando jalo la referencia
Microsoft Office 11.0 Object Library, me añade en la carpeta Referencias La
referencia: Microsoft.Office.Core, y no puedo instanciar la variable pues no
obtengo el name space Interop.
Como lo podria hacer?...Ha me olvidava trabajo con Visual Basic 2005
Express.

Gracias...


"Luis Miguel Blanco" escribió
en el mensaje news:
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



Respuesta Responder a este mensaje
#3 Luis Miguel Blanco
08/03/2006 - 23:26 | Informe spam
Hola Jorge

En principio no parece que sea un problema de Visual Studio 2005, aunque la
edición que utilices sea Express; posiblemente sea cuestión de que te faltan
librerías de Office para poder acceder a los objetos del modelo de clases de
Word.

Vuelve a ejecutar el programa de instalación de Office, y en lugar de usar
la instalación predeterminada, utiliza la personalizada, y al seleccionar
componentes, asegúrate de que seleccionas las librerías de .NET.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Jorge" wrote:

Saludos Luis yo tengo instalado el Office 2003, cuando jalo la referencia
Microsoft Office 11.0 Object Library, me añade en la carpeta Referencias La
referencia: Microsoft.Office.Core, y no puedo instanciar la variable pues no
obtengo el name space Interop.
Como lo podria hacer?...Ha me olvidava trabajo con Visual Basic 2005
Express.

Gracias...


"Luis Miguel Blanco" escribió
en el mensaje news:
> 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
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida