none
Word muda nome de arquivo .DOT com macro RRS feed

  • Pergunta

  • Caro colegas,

         Desenvolvi uma macro para fazer numeração automática de documento do Word. Para isso utilizo um arquivo .INI para guardar o próximo número da sequencia e quando a macro e executada basicamente o que ocorre é o seguinte; um modelo .DOT é aberto, leio o arquivo .INI com o próximo número da sequencia, percorre o .DOT para trocar a numeração no meu modelo e salvo um .DOC com o numero da sequencia. O meu problema é que tenho que fechar o .DOT e deixar aberto o .DOC para o usuário completar o documento.

         Um comportamento estanho está ocorrendo. Se clico diretamente no .DOT o Word me indica que o arquivo tem macro e pergunta se quero habilitar a execução de macros, quando clico em habilitar o Word troca o nome do arquivo para Documento 1 e depois para Documento 2. Pois bem, na minha macro tenho uma linha para fechar o .DOT aberto, o problema é que não existe o .DOT aberto, pois o .DOT "virou" Documento2, ai dá erro no macro e trava o Word.

         Se eu abro o Word normalmente e depois abro o .DOT a macro é executada sem problemas, pois o arquivo .DOT está aberto e a linha abaixo não dá erro.

        'Fecha o modelo utilizado
        Documents(strArqModelo).Close (wdDoNotSaveChanges)

         O que pode estar ocorrendo?

    Abraços a todos.


    Marcelo Magalhães - R.J.

    domingo, 1 de março de 2015 04:31

Respostas

  • "Desenvolvi uma macro para fazer numeração automática de documento do Word."

    Estranho isso, já que o Word possui inúmeras ferramentas para numeração automática. Tem certeza que precisa de uma macro para fazer essa numeração?

    ---

    Experimente usar o código:

    ThisDocument.Close wdDoNotSaveChanges


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    segunda-feira, 2 de março de 2015 13:46
    Moderador

Todas as Respostas

  • Bom dia Marcelo.

    O comportamento do Office quando vc tenta abrir um modelo (tanto no Word, Excel ou Power Point) é um pouco diferente de quando vc tenta abrir qualquer outro tipo de documento. Se vc der um duplo clique no arquivo no Windows Explorer, por se tratar de um modelo, o Office vai considerar que vc deseja criar um novo documento baseado naquele modelo e não editar o modelo, diferentemente do que ocorre quando o arquivo é de outro tipo, onde a ação padrão é editar o documento.

    Para comprovar esse comportamento é bastante simples: clique com botão direito num arquivo de modelo e em outro normal. Conforme as imagens abaixo, perceba que a ação padrão para um é Novo (para modelo) e é abrir e outro .

    Quando vc abre diretamente pelo programa, a ação padrão é sempre abrir, a menos que vc vá em Criar Novo Baseado em Modelo.

    Um detalhe interessante é que a opção "Novo" está sempre disponível independente do formato. Eu a utilizo bastante quando quero abrir um arquivo somente para leitura e quero garantir que o original não será alterado, poupando bastante tempo e aumentando a segurança.

    Compreendeu?

    Abraço.


    Filipe Magno

    domingo, 1 de março de 2015 13:33
  • Bom dia Marcelo.

    O comportamento do Office quando vc tenta abrir um modelo (tanto no Word, Excel ou Power Point) é um pouco diferente de quando vc tenta abrir qualquer outro tipo de documento. Se vc der um duplo clique no arquivo no Windows Explorer, por se tratar de um modelo, o Office vai considerar que vc deseja criar um novo documento baseado naquele modelo e não editar o modelo, diferentemente do que ocorre quando o arquivo é de outro tipo, onde a ação padrão é editar o documento.

    Para comprovar esse comportamento é bastante simples: clique com botão direito num arquivo de modelo e em outro normal. Conforme as imagens abaixo, perceba que a ação padrão para um é Novo (para modelo) e é abrir e outro .

    Quando vc abre diretamente pelo programa, a ação padrão é sempre abrir, a menos que vc vá em Criar Novo Baseado em Modelo.

    Um detalhe interessante é que a opção "Novo" está sempre disponível independente do formato. Eu a utilizo bastante quando quero abrir um arquivo somente para leitura e quero garantir que o original não será alterado, poupando bastante tempo e aumentando a segurança.

    Compreendeu?

    Abraço.


    Filipe Magno

    Felipe,

         Entendi! Ok, mas como posso então fazer minha macro funcionar? O que ocorre é que na linha que vou fechar o .DOT dá erro e trava o Word.

    Abraços


    Marcelo Magalhães - R.J.

    segunda-feira, 2 de março de 2015 04:18
  • "Desenvolvi uma macro para fazer numeração automática de documento do Word."

    Estranho isso, já que o Word possui inúmeras ferramentas para numeração automática. Tem certeza que precisa de uma macro para fazer essa numeração?

    ---

    Experimente usar o código:

    ThisDocument.Close wdDoNotSaveChanges


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    segunda-feira, 2 de março de 2015 13:46
    Moderador
  • "Desenvolvi uma macro para fazer numeração automática de documento do Word."

    Estranho isso, já que o Word possui inúmeras ferramentas para numeração automática. Tem certeza que precisa de uma macro para fazer essa numeração?

    ---

    Experimente usar o código:

    ThisDocument.Close wdDoNotSaveChanges


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    Felipe,

         Pelo que sei a numeração que o Word faz é dentro do mesmo documento. O que preciso é uma numeração sequencial entre documentos. Por exemplo, carta001-2015.doc, depois carta002-2015.doc, etc... sendo que este números (001, 002, etc...) também devem estar dentro do documento. Para este problema o Word tem uma solução "pronta"?

    Abraços.


    Marcelo Magalhães - R.J.

    segunda-feira, 2 de março de 2015 18:40
  • Bom, não me vem a mente agora alguma ferramenta do Word nativa que pode te ajudar nesse caso.

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    terça-feira, 3 de março de 2015 13:33
    Moderador