Avisar para salvar Normal.dot quando usando o Word como um servidor de automação

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 285885
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Quando você automatizar simultaneamente várias instâncias do Microsoft Word, o usuário pode receber um ou mais dos seguintes avisos:
"Normal.dot foi editado por outra sessão do Word. Se você salvar este documento com o nome original, você substituirá as alterações feitas na outra sessão. Você deseja salvar o documento usando o nome original assim mesmo?"
- ou -
Este arquivo está em uso por outro aplicativo ou usuário. (C:\Documents and Settings\...\Normal.dot)
Esses avisos podem ocorrer se forem feitas alterações para o modelo Normal.dot.
Resolução
Para resolver esse problema, siga um destes procedimentos:
  • Antes de fechá-lo ou transferir o controle para o usuário, definir a propriedade Saved do modelo Normal.dot para True da seguinte maneira :
    Application.NormalTemplate.Saved = True					
    - ou -

  • Defina o argumento SaveChanges para o método Quit como segue:
    Application.Quit SaveChanges:=wdDoNotSaveChanges					
Mais Informações

Etapas para reproduzir o problema

  1. No Visual Basic, crie um novo projeto Standard EXE. O Form1 é criado por padrão.
  2. No menu Project , clique em referências e, em seguida, adicione uma referência à sua versão do Microsoft Word Object Library.
  3. Adicione um controle CommandButton ao Form1.
  4. Adicione o seguinte código para o formulário:
    Private Sub Command1_Click()    Dim wdApp1 As Word.Application    Dim wdApp2 As Word.Application        Set wdApp1 = CreateObject("Word.Application")    wdApp1.Visible = True    wdApp1.Documents.Add        Set wdApp2 = CreateObject("Word.Application")    wdApp2.Visible = True    wdApp2.Documents.Add                    MsgBox "Change the default font of document 2."        wdApp2.ActiveDocument.Close False    wdApp2.Quit    Set wdApp2 = Nothing    wdApp1.Quit    Set wdApp1 = NothingEnd Sub					
  5. Execute o projeto Visual Basic e clique no botão de comando.
  6. Uma caixa de mensagem o direciona para alterar a fonte padrão para o segundo documento. No menu Formatar , clique em fonte e em seguida, clique em padrão . Quando você for solicitado para alterar a fonte padrão, clique em Sim e, em seguida, clique em OK para fechar a caixa de mensagem.
Quando a segunda instância do Word é fechada, um dos avisos mostrados na seção "Resumo" é exibida.

Para resolver esse problema no código acima, siga um destes procedimentos:
  • Adicione a seguinte linha antes da chamada para o método wdApp2.Quit:
        wdApp2.NormalTemplate.Saved = True					

    - ou -

  • Use o argumento SaveChanges do método Quit da seguinte maneira:
        wdApp2.Quit SaveChanges:=wdDoNotSaveChanges					
kbofficeprog

Propriedades

ID do Artigo: 285885 - Última Revisão: 12/05/2015 23:59:31 - Revisão: 5.2

Microsoft Visual Basic 6.0 Professional Edition, Microsoft Office Word 2003, Microsoft Word 2002 Standard Edition, Microsoft Word 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbautomation kbprb KB285885 KbMtpt
Comentários