edraw-max-horizontal
Guía De Usuario
¿Qué hay de nuevo?
PRUÉBALO GRATIS
COMPRAR AHORA

Incrustar y automatizar Microsoft Word desde Visual Basic

> Conocimientos de Office > Incrustar y automatizar Microsoft Word desde Visual Basic
Publicado por Edraw | 2024-04-11 19:50:07
Con Edraw office viewer component, es fácil para los desarrolladores vb incrustar un documento word existente en un formulario y luego hacer la automatización word.

Los desarrolladores también pueden generar mediante programación el documento Word utilizando código VB y luego incrustar el documento MS Word en un formulario. No como otros componentes de lectura y escritura de Word, Edraw office viewer component trabaja con todas las características del programa Microsoft Word. Casi todas las tareas que realizamos en Word se pueden hacer mediante programación, como insertar tablas de contenido, vincular documentos, combinar correspondencia, insertar documentos, incrustar documentos, insertar imágenes, marcas de agua, etc.

Si no estás familiarizado con la incrustación del componente Edraw office en Visual Bisic, puedes consultar el siguiente artículo en primer lugar.

Incrustación de MS Word en VB.NET y automatización de Word

Incrustar MS Excel en VB 6 y hacer la automatización de Excel

Para empezar, el primer paso es incluir las referencias a objetos Word en la Solución. Para ello, haz clic con el botón derecho del ratón en la carpeta de referencia del explorador de soluciones del proyecto y selecciona Añadir referencia.

Añadir referencia de oficina

Navega a través de los objetos COM disponibles y selecciona Microsoft Office 11.0 Object Library & Microsoft Word 11.0 Object Library. Este Word DLL tiene todos los métodos que hacemos para realizar la automatización de palabras.

Añadir el componente Edraw Office Viewer en un formulario de Visual Basic.

añadir el componente office viewer

Descarga gratuita de Office Viewer Component

Automatización de Microsoft Word en Visual Basic

El punto clave es cómo construir la relación entre el componente de oficina Edraw y el módulo de objetos de Microsoft Word.

De hecho, el componente proporciona dos métodos que devuelven la interfaz Aplicación y Documento del documento MS Word abierto. Los desarrolladores pueden añadir el siguiente Código Clave en el evento DocumentOpened del componente.

CÓDIGO CLAVE

Dim appWord As Word.Application
Set appWord = EDOffice1.GetApplication()
Dim oWordDoc As Word.Document
Set oWordDoc = EDOffice1.ActiveDocument()

Entonces los desarrolladores pueden hacer la automatización de la palabra sin ninguna diferencia.

Por ejemplo:

Formato de texto

Todas las opciones de formato de texto disponibles en la aplicación Word también pueden reproducirse mediante automatización.

oWordDoc.Selection.Font.Bold = 1
oWordDoc.Selection.Font.Color = Word.WdColor.wdColorAqua
oWordDoc.Selection.Font.Italic = 1
oWordDoc.Selection.Font.Underline = Word.WdUnderline.wdUnderlineDashHeavy

Inserción de imágenes en la cabecera del documento

oWord.ActiveWindow.ActivePane.View.SeekView = Word.WdSeekView.wdSeekCurrentPageHeader
Dim logoCustom As Word.Shape = Nothing
Dim logoPath As String = "C:\Document and Settings\MyLogo.jpg"
logoCustom = oWord.Selection.HeaderFooter.Shapes.AddPicture(logoPath, oFalse, oTrue, oMissing, oMissing, oMissing, oMissing, oMissing)
logoCustom.[Select](oMissing)
logoCustom.Name = "CustomLogo"
logoCustom.Left = CSng(Word.WdShapePosition.wdShapeLeft)
oWordDoc.ActiveWindow.ActivePane.View.SeekView = Word.WdSeekView.wdSeekMainDocument

Incluir números de página en el pie de página

La inclusión de números de página autogenerados en el pie de página es otra función útil que puede simularse en el código.

oWordDoc.ActiveWindow.ActivePane.View.SeekView = Word.WdSeekView.wdSeekCurrentPageFooter
oWordDoc.Selection.TypeParagraph()
Dim docNumber As String = "1"
Dim revisionNumber As String = "0"
oWordDoc.Selection.Paragraphs.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft
oWordDoc.ActiveWindow.Selection.Font.Name = "Arial"
oWordDoc.ActiveWindow.Selection.Font.Size = 8
oWordDoc.ActiveWindow.Selection.TypeText("Document #: " + docNumber + " - Revision #: " + revisionNumber)
oWordDoc.ActiveWindow.Selection.TypeText("" & Chr(9) & "")
oWordDoc.ActiveWindow.Selection.TypeText("" & Chr(9) & "")
oWordDoc.ActiveWindow.Selection.TypeText("Page ")
Dim CurrentPage As Object = Word.WdFieldType.wdFieldPage
oWordDoc.ActiveWindow.Selection.Fields.Add(oWord.Selection.Range, CurrentPage, oMissing, oMissing)
oWordDoc.ActiveWindow.Selection.TypeText(" of ")
Dim TotalPages As Object = Word.WdFieldType.wdFieldNumPages
oWordDoc.ActiveWindow.Selection.Fields.Add(oWord.Selection.Range, TotalPages, oMissing, oMissing)
oWordDoc.ActiveWindow.ActivePane.View.SeekView = Word.WdSeekView.wdSeekMainDocument

Insertar texto en el centro del documento como marca de agua

Dim logoWatermark As Word.Shape = Nothing
logoWatermark = oWordDoc.Selection.HeaderFooter.Shapes.AddTextEffect(Microsoft.Office.Core.MsoPresetTextEffect.msoTextEffect1, "Enter The Text Here", "Arial", CSng(60), Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse, 0, 0, oMissing)
logoWatermark.[Select](oMissing)
logoWatermark.Fill.Visible = Microsoft.Office.Core.MsoTriState.msoTrue
logoWatermark.Line.Visible = Microsoft.Office.Core.MsoTriState.msoFalse
logoWatermark.Fill.Solid()
logoWatermark.Fill.ForeColor.RGB = DirectCast(Word.WdColor.wdColorGray30, Int32)
logoWatermark.RelativeHorizontalPosition = Word.WdRelativeHorizontalPosition.wdRelativeHorizontalPositionMargin
logoWatermark.RelativeVerticalPosition = Word.WdRelativeVerticalPosition.wdRelativeVerticalPositionMargin
logoWatermark.Left = CSng(Word.WdShapePosition.wdShapeCenter)
logoWatermark.Top = CSng(Word.WdShapePosition.wdShapeCenter)
logoWatermark.Height = oWordDoc.InchesToPoints(2.4F)
logoWatermark.Width = oWordDoc.InchesToPoints(6F)

Inserción del índice

Dim oBookmarkTOC As Object = "Bookmark_TOC"
Dim rngTOC As Word.Range = oWordDoc.Bookmarks.get_Item(oBookmarkTOC).Range
rngTOC.[Select]()
Dim oUpperHeadingLevel As Object = "1"
Dim oLowerHeadingLevel As Object = "3"
Dim oTOCTableID As Object = "TableOfContents"
oWordDoc.TablesOfContents.Add(rngTOC, oTrue, oUpperHeadingLevel, oLowerHeadingLevel, oMissing, oTOCTableID, oTrue, oTrue, oMissing, oTrue, oTrue, oTrue)

Actualización del índice

oWordDoc.TablesOfContents(1).Update()
oWordDoc.TablesOfContents(1).UpdatePageNumbers()

Incrustación de MS Office en un programa ASP.NET

Integración de MS Project

Incorporación de Visio

Una forma sencilla de incrustar Excel en una página web

MS PowerPoint integrado

Desactiva el comando estándar de MS Word

Desactiva el botón de la cinta de Office

Mostrar/Ocultar la barra de menús de Office

Descarga gratuita de Office Viewer Component y visualización de proyectos de ejemplo

Una navaja suiza para todas tus necesidades de diagramación

EdrawMax es la herramienta de diagramación más fácil de usar que sirve para todos tus propósitos. Proporciona un espacio de trabajo para crear más de 280 tipos de diagramas, incluyendo diagramas de flujo, diagramas de Ishikawa, diagramas UML, planos de piso y más. Acelera la comprensión e impulsa la innovación en múltiples plataformas. ¡Pruébala gratis ahora!