Blog

Manipulando arquivos Word usando C#


Desenvolver aplicações que manipulem arquivos do Microsoft Word utilizando .net Framework é muito simples. Neste artigo mostrarei sem entrar em muitos detalhes o que é necessário fazer para que uma aplicação desenvolvida utilizando o .net Framework alimente um documento Word. Importante ressaltar que utilizarei da forma mais básica para atingir este propósito, podendo haver rotinas mais complexas para criação de documentos com as mais variadas tecnologias suportadas pelo aplicativo. 


 Primeiramente deve-se adicionar ao conjunto de referencias o seguinte item:
 
Microsoft.Office.Interop.Word

Logo após, definir o namespace:
 
using Word = Microsoft.Office.Interop.Word;

Agora finalmente começamos com a implementação:
 
// Cria a varável do tipo Missing
object missing = System.Reflection.Missing.Value;

// Cria a variável da aplicação Word
Word.Application wordApp = new Word.ApplicationClass();

// Cria e define as demais variáveis
object readOnly = false;
object isVisible = false;
object fileName = @"c:\texto.doc";
object saveAs = @"c:\novo_texto.doc";

// Define o Word como não visivel
wordApp.Visible = false;

// Cria um objeto Documento Word baseado em um arquivo existente
Word.Document doc = wordApp.Documents.Open(ref fileName, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref isVisible, ref missing, ref missing, ref missing, ref missing);

// Ativa o documento
doc.Activate();

// Acrescenta informações no inicio do documento
doc.Content.InsertBefore("Conversando com o Microsoft Word!\r\n\r\n");

// Acrescenta informações no fim do documento
doc.Content.InsertAfter("\r\n\r\nEstá é uma aplicação que utiliza tecnologia Microsoft.");

// Salva o documento do Word com o novo nome
doc.SaveAs(ref saveAs, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);

// Fecha o documento Word
doc.Close(ref missing, ref missing, ref missing);

É importante perceber que devido a não terem sido feitas definições de usuário é preciso que o documento do Word seja criado pelo usuário da aplicação, caso contrário uma mensagem de erro de permissão será exibida.


(Este artigo foi atualizado em 08/01/2017)

C# .net Word