Usuário com melhor resposta
Word muda nome de arquivo .DOT com macro

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.
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
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator quarta-feira, 11 de março de 2015 00:27
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
-
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.
-
"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
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator quarta-feira, 11 de março de 2015 00:27
-
"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.
-