USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  VB6 X OFFICE
Ade
MACEIÓ
AL - BRASIL
ENUNCIADA !
Postada em 02/06/2006 09:27 hs            
Olá,
    Estou usando o VB6 para mesclar dados do BD para o Word 2000(conforme rotina abaixo), ocorre que em algumas vezes o modelo em que estou me baseando fica preso e e sempre que a aplicação roda diz que o modelo está sendo usado por outra aplicação ou presa, dai pede para ler apenas como leitura, notificar ou cancelar, em qualquer uma das situações o arquivo continua presa, mesmo que sai da aplicação e volte. Como posso fazer para liberar este arquivo que fica preso pela aplicação alguém pode me ajudar? Obs: Eu só consigo liberar manualmente, indo através do Painel de Controle->Gerenciador de Computador->Pastas Compartilhadas->Arquivos Abertos e daí encontro o arquivo que está preso e libero na mão, como posso fazer isto pela aplicação?
Rotina utilizada:
 'Declara e Cria os objetos Application e document
  Dim objWord As New Word.Application, objDoc As Word.Document
 'Adiciona um documento, baseado no modelo criado
  Set objDoc = objWord.Documents.Add("X:sistemasmodelosEscritura" & gRSTemp("modelos") & ".doc")
  seqx = Format(Mid(gRSTemp("modelos"), 5, 2), "00")
' Atribui os valores inseridos na aplicação, aos campos de formulário do documento Fixos
             objDoc.FormFields("txt_livro").Range = txt_livro.Text
             objDoc.FormFields("txt_folha").Range = txt_folha.Text
             objDoc.FormFields("txt_traslado").Range = txt_traslado.Text
             M_data = FN_DATA_EXTENSO(Date)
        'x     objDoc.FormFields("txt_Data").Range = M_data
             objDoc.FormFields("txt_Data1").Range = M_data
             M_data = FN_DIA_MES_EXTENSO(Date)
             objDoc.FormFields("txt_ext1").Range = M_data
   If MsgBox("Grava na pasta feitas a escritura?", vbQuestion + vbYesNo) _
          = vbNo Then
         'Torna visível a aplicação
         objWord.Visible = True
         objWord.WindowState = wdWindowStateMaximize
         'Seta a propriedade filter do CommomDialogControl para somente exibir arquivos do Word
 
'------Salva
         CdlSave.Filter = "Documento do Word (*.doc)|.doc"
         Arqx = TXT_CODIGO & ".doc"
         CdlSave.filename = "X:sistemasmodelosTemp" & Arqx & ""
        'Abre a janela para salvar e salva o documento
        'CdlSave.ShowSave
         objDoc.SaveAs CdlSave.filename
         'Retira os objetos da memória
'         Set objDoc = Nothing
'         Set objWord = Nothing
'         Exit Sub
   Else
         'Torna visível a aplicação
         objWord.Visible = True
         objWord.WindowState = wdWindowStateMaximize
        'Seta a propriedade filter do CommomDialogControl para somente exibir arquivos do Word
         CdlSave.Filter = "Documento do Word (*.doc)|.doc"
         Arqx = Format(txt_livro, "000") + Format(txt_folha, "000") + Left(cbo_f_verso, 1) & ".doc"
         CdlSave.filename = "X:sistemasmodelosfeitas" & Arqx & ""
        'Abre a janela para salvar e salva o documento
        'CdlSave.ShowSave
         objDoc.SaveAs CdlSave.filename
   End If
  'Retira os objetos da memória
   Set objDoc = Nothing
   Set objWord = Nothing
End If
Sair_rotina:
   MousePointer = 0
   Exit Sub
errEscritura:
     'Retira os objetos da memória
   Set objDoc = Nothing
   Set objWord = Nothing
   Erro "Erro na geração da escritura"
   Exit Sub
End Sub
   
Ama
Pontos: 2843
UBERLÂNDIA
MG - BRASIL
ENUNCIADA !
Postada em 03/06/2006 21:28 hs         
Quando trabalho com office prefiro usar opção create object  assim vc cria um novo objeto com base no modelo e no final salvo um no documento.Não tenho problemas.
   
kerplunk
Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 05/06/2006 08:16 hs         
O erro que está ocorrendo é que um dos objetos criados não está sendo fechado corretamente, faça uma depuração do código que com certeza vais encontrar o erro!
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página