Publicidade

Preencher Campo de Texto no Word usando C#

8/23/2012 03:13:00 PM Rafael Rodrigues 10 Comments

Bom pessoal,

     Estava fazendo algumas pesquisas sobre o assunto para ver qual seria a forma mais prática para resolver o meu problema: preciso preencher campos em branco que tenho em um template de documento word.
     O resuldado: ninguém melhor pra mexer com Microsoft do que a próxima Microsoft. Sendo assim, vou utilizar para exemplificar o Word 2010 e o Visual Studio 2010.
     Vamos lá!

     Primeiramente abra o Visual Studio e cria um projeto:



          Agora vamos fazer um procedimento que vai verificar se a referência Microsoft Office foi feita. Clique com o botão direito do mouse em cima do seu projeto Add Reference => .Net => e clique duas vezes em Microsoft.Office.Interop.Word. Verifique se a referente foi importada para o pacote References da sua aplicação.


            Feito isso, cria uma classe no seu projeto chamada PreencherWord e cole o código abaixo:


A sua classe do formulário principal deverá ficar assim:


O nosso código que vai preencher os campos está pronto! Agora vamos configurar o Word.

            Clique em qualquer lugar da Barra de Ferramentas e selecione Personalizar a Faixa de Opções... conforme figura abaixo:




      Marque o CheckBox Desenvolvedor e clique em OK.


Na aba Desenvolvedor da Barra de Ferramentas, teremos os seguintes controles:


Selecione esse que está marcado na figura acima e arraste para onde achar melhor dentro do documento. Clique duas vezes em cima e aparecerá essa tela:


Coloque o text default como "prmCor" e clique em OK. Faça esse procedimento novamente acrescentando o outro campo chamado "prmModelo".
      Pronto! Rode a  aplicação e o texto padrão que você colocou como "prmCor", será alterado para "azul" e o que você como "prmModelo" será subtituído para "Pajero".


By Rafael Rodrigues






          
          



10 comentários:

  1. Olá, Rafael, gostaria de saber se esse código funciona com textbox em um form, pois eu tava fazendo aqui com base no seu e o replace não reconhece o texto da textbox, sabe o que é tá aconcetecendo

    ResponderExcluir
    Respostas
    1. Tudo bem TADS? Desculpe a demora. Eu fiz alguns testes usando o textbox e realmente não deu certo. Estava dando algum erro? Ou simplesmente não funcionava? Conseguiu resolver?

      Excluir
  2. Olá Rafael também estou tentando utilizar com textbox e não estou conseguindo, alguma luz?

    ResponderExcluir
  3. Valeu mesmo. Tão simples e eu me bati um bocado até achar este seu post.

    ResponderExcluir
  4. Como vocês fizeram com o TextBox que não funcionou? Eu fiz e funcionou.

    ResponderExcluir
    Respostas
    1. Boa noite amigo. Paz e Bem. Como você fez para dentro da Classe reconhecer o TextBox criado?

      Excluir
    2. Este comentário foi removido pelo autor.

      Excluir
    3. Veja o método aqui.

      Uso "Controls.OfType" pra conseguir pegar os controles na tela.

      https://uploaddeimagens.com.br/imagens/capturar-png--3475

      Excluir
  5. Agora, como fazer este mesmo projeto utilizando .NET 4.5?

    ResponderExcluir
  6. Este comentário foi removido pelo autor.

    ResponderExcluir