Crear documento Word con PowerShell

Este es un ejemplo sencillo de como a través de PowerShell podemos generar un documento Word con todas sus funcionalidades que contiene esta aplicación de Microsoft Office, para enriquecer el texto. Ideal para presentar informes, con información obtenida del sistema.

A continuación muestro un ejemplo sencillo de como generar un documento Word con PowerShell.

Windows PowerShell
#Creación de un objeto Word.Application
PS > $objWord = New-Object -ComObject Word.Application
#Se hace visible la ventana, sino solo existirá el proceso mas no se mostraría,
#dependo de lo que se necesite se puede optar a uno o a otro, por defecto tiene
#el valor $false
PS > $objWord.Visible = $true
#Se Crear un documento nuevo de Word, si lo deseas puedes abrir uno con
#la instrucción $objWord.Documents.Open($nombreArchivo.docx)
PS > $objDoc = $objWord.Documents.Add()
#Crea un objeto Selection del objecto $objWord, este objeto trabajara donde se encuentre
#localizado el pipeline del área de trabajo de Word
PS > $objSelection = $objWord.Selection
#Este párrafo tendrá una alineación centrada para ello se le ha dado el valor 1, para
#ver el valor que tiene se ha de introducir la instrucción $objSelection.ParagraphFormat.Alignment,
#por defecto tiene el valor 0
PS > $objSelection.ParagraphFormat.Alignment = 1
#Se obtiene el valor por defecto de la negrita, en este caso esta deshabilitada, con el
#valor por defecto 0
PS > $objSelection.Font.Bold
0
#Se habilita la negrita en el párrafo
PS > $objSelection.Font.Bold = 1
#Se introduce texto en el área de trabajo
PS > $objSelection.TypeText(“Tittle”)
#Crear un párrafo nuevo
PS > $objSelection.TypeParagraph()
#Para este nuevo párrafo se ha deshabilita la negrita, es posible también habilitar
#la negrita para una palabra o palabras
PS > $objSelection.Font.Bold = 0
#Alineación del párrafo a la izquierda
PS > $objSelection.ParagraphFormat.Alignment = 0
#Se introduce texto en el área de trabajo
PS > $objSelection.TypeText(“This is a paragraph”)
#Crea un párrafo nuevo
PS > $objSelection.TypeParagraph()
#Se crear un objeto, para trabajar con imágenes
PS > $objShape = $objDoc.Shapes
#Se introduce la imagen en el documento de trabajo
PS > [void] $objShape.AddPicture(“e:\image\Koala.jpg”)
#Se almacena en variable la ruta absoluta del archivo donde se guardara
PS > $fileName = “e:\ScriptWordDocument.docx”
#Se guarda el documento
PS > $objDoc.SaveAs($fileName)
#Cierra el documento en el que nos encontramos trabajando
PS > $objDoc.Close()
#Se cierra la aplicacián de Word
PS > $objWord.Application.Quit()