MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Access x Word

    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    [Resolvido]Access x Word Empty Access x Word

    Mensagem  vileman 10/2/2012, 02:08

    ** Uso Access 2003 com Windows 7 64 bits

    Após pesquisa aqui neste Fórum achei parte de uma rotina para usar em um Formulário do Acess para gerar um Documento do Word com os campos do mesmo. Até aqui tudo funcionou perfeito. Quando fiz alguns testes aconteceu o seguinte:

    1º Teste:
    a) Abri um documento qualquer do Word fora do Sistema usado no Access;
    b) Abri o Sistema e gerei um novo Documento do Formulário para o Word, mas quando o mesmo é gerado ao abrir aparece a mensagem de alerta: "Arquivo em uso - Ofício 0001-2012.doc está bloqueado para edição por 'Vileman' - Você deseja:
    ( ) abrir uma cópia somente leitura
    ( ) criar uma cópia local e mesclar suas alterações posteriormente
    ( ) receber notificação quando a cópia original estiver disponível
    Com as opções de: OK e Cancelar

    Clico e cancelar e funciona normal.

    2º Teste: - Fiz o inverso
    a)Fechei tudo, e abri primeiramente o Sistema e gerei um novo Documento Word.
    b)Abri outro documento qualquer do Word, e funcionou normalmente sem a mensagem anterior.

    Informo ainda que ao abrir o Gerenciador de Tarefas do Windows aconteceu o seguinte:

    No 1º Teste acima:
    Na Guia 'Processos' aparecem 2 Winword.exe *32 em execução. Na Guia 'Aplicativos' mostra os 2 arquivos abertos.
    No 2º Teste acima:
    Na Guia 'Processos' aparece apenas 1 Winword.exe *32 em execução. Na Guia 'Aplicativos' mostra ow 2 arquivos abertos.

    Resumo: No 1º Teste é como ele abrisse 2 executáveis do Word, quando o 2º documento é gerado pelo Formulário Access, porisso aparece aquela mensagem de alerta citada no início deste tópico. No 2º Teste, executa normalmente sem mensagem nenhuma.

    A questão é: Tem como evitar que apareça a mensagem acima no 1º Teste, caso já tenha um outro Documento Word aberto antes de ser gerado um documento word pelo Acess, visto que o Sistema é usado em Rede ?
    Alguém já passou por tal situação ? Ou sabe como resolver essa questão ?

    Abaixo segue o código que uso em um botão do Formulário:

    Private Sub BtWord_Click()
    'OBRIGATÓRIO: Referência: Microsoft Word xx.x Object Library
    #Const DESENV = -1

    On Error GoTo TrataErro
    Dim oApp As Object 'Cria uma variável objeto
    Dim strSQL As String

    ' Inicia o MS Word
    Set oApp = CreateObject("Word.Application") 'Cria e abre o objeto Word
    With oApp
    ' Torna o MS Word visível
    Visible = True
    ' Abre o documento base
    .Documents.Open ("C:\ARGUS\MatrizOficio.doc")
    'Move cada campo para o indicador definido no documento
    .ActiveDocument.Bookmarks("NumOficio").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!NumOficio))
    .ActiveDocument.Bookmarks("Sigla").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!SiglaSetor))
    .ActiveDocument.Bookmarks("DataOficio").Select
    .Selection.Text = (Format(Forms!F13_Oficios!DataOficio, "dd")) & " de " & (Format(Forms!F13_Oficios!DataOficio, "mmmm")) & " de " & (Format(Forms!F13_Oficios!DataOficio, "yyyy"))
    .ActiveDocument.Bookmarks("TrataD").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!Tratamento))
    .ActiveDocument.Bookmarks("Destinatario").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!NomeDestinatario))
    .ActiveDocument.Bookmarks("CargoD").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!CargoDestinatario))
    .ActiveDocument.Bookmarks("OrgaoD").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!OrgaoDestinatario))
    .ActiveDocument.Bookmarks("Emitente").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!NomeEmitente))
    .ActiveDocument.Bookmarks("Cargo").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!CargoEmitente))
    .ActiveDocument.Bookmarks("Funcao").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!FuncaoEmitente))
    .ActiveDocument.Bookmarks("CodOficio").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!CODOficio))
    .ActiveDocument.Bookmarks("Tombo").Select
    .Selection.Text = (CStr(IIf(IsNull(NomeIDDOC), " ", "Tombo Nº " & Forms!F13_Oficios!NomeIDDOC)))
    'Salva o arquivo gerado
    .ActiveDocument.SaveAs "C:\ARGUS\01.Oficios\" & "Oficio " & Replace(Me.NumOficio, "/", "-") & " " & CurrentUser() & ".doc"
    MsgBox "Documento WORD gerado com sucesso...", vbInformation
    'Fecha o documento
    .ActiveDocument.Close
    End With

    'Fecha o Word
    oApp.Quit
    Dim x As String
    x = "C:\ARGUS\01.Oficios\" & "Oficio " & Replace(Me.NumOficio, "/", "-") & " " & CurrentUser() & ".doc"
    Dim Word As New Word.Application
    With Word
    .Documents.Open x
    .Visible = True
    .WindowState = wdWindowStateMaximize

    Dim w As String 'ROTINA: Abrir arquivo automaticamente após ser gerado
    Dim y As String
    w = "C:\ARGUS\01.Oficios\"
    y = "C:\ARGUS\01.Oficios\" & "Oficio " & Replace(Me.NumOficio, "/", "-") & " " & CurrentUser() & ".doc"
    Shell "C:\WINDOWS\explorer.exe """ & y & "", vbNormalFocus

    End With
    Me.BtWord.Visible = False 'Torna Invisivel a Imagem após fechar Word
    Me.RotuloWord.Visible = False 'Torna Rótulo do Word Invisivel
    'Libera a memória
    Set oApp = Nothing
    Saida:
    Exit Sub

    TrataErro:
    'Se um campo do formulário estiver vazio, remove o texto do Indicador e continua
    If Err.Number = 94 Then
    oApp.Selection.Text = ""
    Resume Next
    End If
    MsgBox "Form_F13_Oficios - btWord_Click" & vbCrLf & Err.Description, vbExclamation + vbOKOnly, "Erro: " & CStr(Err.Number)
    #If DESENV Then
    oApp.Quit
    Set oApp = Nothing
    Stop
    Resume
    #End If
    Resume Saida
    End Sub
    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    [Resolvido]Access x Word Empty Access x Word

    Mensagem  vileman 12/3/2012, 23:51

    Estou dando como Resolvido este tópico, pois fiz o seguinte: ao aparecer a mensagem conforme 1º teste, cliquei na opção "Cancelar" e fica tudo normal. Fica o registro caso alguém venha a ter o mesmo problema.

    Obrigado.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Access x Word Empty Re: [Resolvido]Access x Word

    Mensagem  criquio 12/3/2012, 23:59

    Provavelmente você esteja utilizando um módulo preparado para 32 bits em um sistema de 64 bits. Aí seria necessário algumas alterações. Não estou usando sistema de 64 bits para testar agora.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    vileman
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 580
    Registrado : 25/05/2011

    [Resolvido]Access x Word Empty Access x Word

    Mensagem  vileman 16/3/2012, 00:50

    Bem lembrado Criquio, vou ver por esse lado também, obrigado.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Access x Word Empty Re: [Resolvido]Access x Word

    Mensagem  criquio 16/3/2012, 13:43

    Grato pelo retorno. Qualquer dúvida, retorne.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Conteúdo patrocinado


    [Resolvido]Access x Word Empty Re: [Resolvido]Access x Word

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 25/11/2024, 00:37