none
Templates Word RRS feed

  • Pergunta

  • Olá pessoal.

    Tenho mais de 19000 arquivos word, onde muito mais de sua metade foram criados em um caminho onde o template apontava para um arquivo .dot não mais existente em minha rede, e hoje, ao tentar abrir um destes arquivos há uma demora de pelo menos 3 minutos para a abertura deste arquivo, onde no Office 2003, mostra-se a mensagem de que está havendo uma verificação de virua e no Office 2007 mostra exatamente que o arquivo está tentando abrir um template de um caminho inexistente.

    Fiz uma aplicação em C# onde eu altero este template para normal.dot e não mais \\caminho\template.dot, ok? Ocorre que, para que minha aplicação funcione eu preciso abrir o arquivo para efetuar a alteração do template, o que está me gerando muita dor de cabeça, pois para abrir o documento levam exatamente os mínimos 3 minutos, e imaginem para mais de 10000 arquivos!!!

    Gostaria de saber como eu poderia aplicar em lote de forma rápida a alteração de todos os templates existentes para Normal.dot? Seja em aplicação C#, o qual desenvolvo ou via Office mesmo.

    No caso de aplicação C#, gostaria de saber se há como escrever em um arquivo Word para alteração do Template, sem que seja necessário abrir o arquivo, e se isto for possível, já me pouparoa os danados mínimos de 3 minutos de abertuira de arquivo para efetuar a alteração.

    Alguém poderia me ajudar.

    Atenciosamente

    Wilson Dutra
    quarta-feira, 27 de janeiro de 2010 13:22

Todas as Respostas

  • Olá Wilson,

    Você já experimentou abrir um desses arquivos do Word em um editor de texto simples (ex: Notepad) para ver se consegue enxergar esse caminho do arquivo .dot?

    É que se essa informação estiver visível, você poderia fazer um pequeno programa em C# para abrir o arquivo de forma binária, localizar o offset onde está esse caminho, e substituir pelo caminho local (ou outro caminho que preferir).



    Abraços,
    Caio Proiete



    Caio Proiete
    Microsoft MVP, MCT, MCPD, MCTS, MCSD
    http://www.caioproiete.com
    sábado, 30 de janeiro de 2010 22:31
    Moderador
  • Olá Caio, como sempre me ajudando.

    Cara, abri o arquivo da forma que me indicou, porém o caminho do modelo.dot não existe desta forma.

    A maneira que encontrei foi utilizando um programa meu fazendo o seguinte:

    1- Crio uma aplicação word
    2- Abro o documento word
    3- Ativo o documento
    4- Altero o template
    5- Sobrescrevio o Autor do documento nas propriedades (para garantir o salvamento)
    6- Salvo o documento
    7- Fecho o documento
    8- fecho a aplicação Word

    Bom, todos oestes passos para cada arquivo word. Até que funciona bem, porém um problema: Quando vou abrir um documento deste, que possui o template apontado para um endereço errado, não entendi por que, mas, o word, com a demora da abertura do arquivo, acaba criando não sei como mais de uma aplicação word, pois na fila de processos ficam inúmeros words abertos e acaba estourando a memória, e preciso fazer o programa rodar de pequenas pastas em pequenas pastas. É funcional, mas mauito trabalhoso. Se você normalmente tentar abrir um arquivo deste, ele leva em torno de 2 a 3 minutos para abrir, e seria interessantíssimo abrir de forma binária, mas não consegue-se ver o caminho do tremplate para ser alterado.

    Tens alguma outra dica meu amigo?

    Atenciosamente
    Wilson Dutra
    Wilson Dutra
    terça-feira, 2 de fevereiro de 2010 12:17
  • Olá Wilson,

    Tem certeza que não consegue ver o caminho do arquivo .DOT? Já tentou abrir em um editor hexadecimal para procurar? Pode ser que esteja em Unicode, e aí visualizaria algo como "\.\.c.a.m.i.n.h.o.\.\.N.O.R.M.A.L...d.o.t."

    Tem algum arquivo que você possa disponibilizar em algum lugar (Ex: RapidShare) só para eu dar uma olhada? Teria que ser um arquivo que você sabe exatamente qual o caminho que está definido, para eu saber o que procurar...

    ---

    De qualquer forma, uma solução alternativa seria fazer uma pequena aplicação em Java, utilizando o framework POI da Apache, que permite ler e gravar arquivos Microsoft no formato binário, diretamente... Sem precisar interagir com a aplicação via COM. Com certeza seria bem mais rápido, e como o framework é open-source, você pode fazer uma aplicação simples aproveitando a biblioteca de leitura de arquivos Word.

    Apache POI - the Java API for Microsoft Documents
    http://poi.apache.org/


    Existe um port dessa biblioteca para .NET, e chama-se NPOI, só que ainda estão bastante atrasados e neste momento só é possível trabalhar com arquivos do Excel (XLS)... Ainda não implementaram a leitura / escrita de arquivos Word, por isso não sei se será útil... Mas é capaz de valer a pena dar uma olhada... De repente, o código que eles tem no NPOI já permite ler/escrever o cabeçalho do arquivo e talvez seja o que precisa.

    NPOI - The .NET port of Apache POI
    http://npoi.codeplex.com/


    Abraços,
    Caio Proiete



    Caio Proiete
    Microsoft MVP, MCT, MCPD, MCTS, MCSD
    http://www.caioproiete.com

    terça-feira, 2 de fevereiro de 2010 15:34
    Moderador
  • Olá Wilson,

    Uma outra possivel alternativa (não testei):

    The Dsofile.dll files lets you edit Office document properties when you do not have Office installed
    http://support.microsoft.com/default.aspx/kb/224351

    Abraços,
    Caio Proiete


    Caio Proiete
    Microsoft MVP, MCT, MCPD, MCTS, MCSD
    http://www.caioproiete.com

    terça-feira, 2 de fevereiro de 2010 19:59
    Moderador
  • Olá Caio,

    desculpe-me a demora para responder, mas estarei de imediato verificando estas suas dicas e postarei logo que possível aqui o resultado.

    Agradeço enormemente a sua atenção meu aigo

    Atenciosamente, Wilson Dutra
    segunda-feira, 22 de fevereiro de 2010 17:30
  • Caro Wilson,

    Estamos com o mesmo problema que você teve e gostaria de saber qual o caminho que foi seguido para a solução do problema.

    Atenciosamente,

    Glauco Canzian

    segunda-feira, 13 de setembro de 2010 18:39
  • E ai Galera, alguma novidade sobre o assunto, fiquei interessado!

     

    Valeu!


    David Ramires
    terça-feira, 18 de janeiro de 2011 14:03