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