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]Formulário Access X Arquivo 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]Formulário Access X Arquivo Word Empty Formulário Access X Arquivo Word

    Mensagem  vileman 12/2/2012, 22:30

    Companheiros accessianos, estou a precisar da seguinte ajuda:

    Através deste Fórum copiei uma rotina para gerar um arquivo Word através dos campos de um Formulário, e fiz minhas adaptações. Aqui na minha residência tenho uma máquina que usa Access 2003, Windows 7 Ultimate 64 bits, funcionou bem (exceto pelo ocorrido no tópico: Access x Word, em Off Tópic - Assuntos Variados, aberto por mim recentemente), no entanto, quando copiei para a máquina no meu trabalho que usa Access 2003, Windows 7 Professional 64 bits, aconteceu o seguinte erro:

    1) Após gerar o arquivo Word, fazer as alterações e ao fechar o mesmo aparece a mensagem: "Normal.dot foi editado por outra sessão do Word. Se você salvar este documento com o nome original, todas as alterações efetuadas na outra sessão serão sobrescritas. Deseja salvar o documento com o nome original assim mesmo?" Opções: Sim - Não - Cancelar, com os seguintes resultados:

    1.1) Ao clicar em "Sim": Este documento é somente leitura (C:\Users\Vileman\appdata\...\normal.dot, com Opções: 'Ajuda' e 'Ok';

    1.2) Ao clicar em "Não": Abre tela 'Salvar como' mostrando a Pasta de Modelos do Word, e abaixo pede o nome do Arquivo a ser salvo, com Opções: Sim - Não - Cancelar;

    1.3) Ao clicar em "Cancelar": Não acontece nada.

    Resultado: Toda vez tenho que usar o Ctl+Alt+Delete para fechar, o que não é a forma correta.

    Questão: Como resolver isso? Alguém já passou por algo semelhante? Porque no erro acima o Word faz referência ao arquivo Normal.dot, visto que estou gerando o documento através do arquivo-matriz: MatrizOficio.doc?
    Abaixo estou copiando a rotina que gera o arquivo Word para melhor entendimento de quem puder ajudar:

    Private Sub BtWord_Click() 'Botão usado para gerar Documento Word
    'OBRIGATÓRIO: Referência: Microsoft Word 11.0 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:\JANUS\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("Vinculo").Select
    .Selection.Text = (CStr(Forms!F13_Oficios!NomeVinculo))

    'Salva o arquivo gerado
    .ActiveDocument.SaveAs "C:\JANUS\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:\JANUS\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 (25/01/2012)
    Dim y As String
    w = "C:\JANUS\01.Oficios\"
    y = "C:\JANUS\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 (31/01/2012)
    Me.RotuloWord.Visible = False 'Torna Rótulo do Word Invisivel - Manoel (06/02/2012)
    '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
    Convidado
    Convidado


    [Resolvido]Formulário Access X Arquivo Word Empty Re: [Resolvido]Formulário Access X Arquivo Word

    Mensagem  Convidado 12/2/2012, 23:56

    Onde copiou não há o nome do autor????
    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]Formulário Access X Arquivo Word Empty Formulário Access X Arquivo Word

    Mensagem  vileman 13/2/2012, 23:43

    Caro Cafpr

    Copiei o código do tópico: "Access para Word de novo" (http://maximoaccess.forumeiros.com/t2472-resolvidoaccess-para-word-de-novo#19883), o qual foi aberto pelo colega Alcides, que diz "Recebí boa ajuda do Criquio sobre um código para enviar dados para o word ...", então presume-se que a autoria seja do nosso outro colega Criquio.
    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]Formulário Access X Arquivo Word Empty Re: [Resolvido]Formulário Access X Arquivo Word

    Mensagem  criquio 7/3/2012, 21:00

    Estou passando o tópico a Resolvido. Se necessário, reabra por gentileza.
    Caso já tenha resolvido, favor dar um retorno.
    Grato:

    A moderação.


    .................................................................................
    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]Formulário Access X Arquivo Word Empty Formulário Access X Arquivo Word

    Mensagem  vileman 8/3/2012, 12:30

    Caro Criquio, o tópico ainda não está Resolvido, então ainda vou deixar em aberto, pois até o momento não tive ajuda ou consegui resolver de outra forma, ok?
    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]Formulário Access X Arquivo Word Empty Re: [Resolvido]Formulário Access X Arquivo Word

    Mensagem  criquio 8/3/2012, 12:54

    Observei que está faltando iniciar a linha Visible = True com um ponto:

    .Visible = True

    Em alguns casos, pode acontecer erros em uma máquina, enquanto em outras não. Uma vez que essa linha está dentro de um With que faz referência a um objeto, todas as linhas dependentes desse objeto devem se iniciar com um ponto. Já vi casos tambem em que voltou a funcionar normal retirando o With e colocando o objeto antes do ponto:

    Set oApp = CreateObject("Word.Application") 'Cria e abre o objeto Word

    ' Torna o MS Word visível
    oApp.Visible = True
    ' Abre o documento base
    oApp.Documents.Open ("C:\JANUS\MatrizOficio.doc")
    'Move cada campo para o indicador definido no documento
    oApp.ActiveDocument.Bookmarks("NumOficio").Select

    ...

    Uma vez que está usando um modelo, pode tambem tentar mudar a linha que abre o documento para:

    Código:
    .Documents.Add Template:=DBPath & "\Relatórios\Arquivos auxiliares\Affidavit.doc", NewTemplate:=False, DocumentType:=0
    O modelo acima faz parte de um aplicativo que eu criei para uma exportadora de produtos.


    .................................................................................
    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]Formulário Access X Arquivo Word Empty Formulário Access X Arquivo Word

    Mensagem  vileman 9/3/2012, 12:39

    Criquio, vou testar e depois informo o resultado, obrigado.

    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]Formulário Access X Arquivo Word Empty Formulário Access X Arquivo Word

    Mensagem  vileman 10/3/2012, 22:46

    Mestre Criquio, mais uma vez realmente tens razão eu esqueci de mencionar esse detalhe no início do tópico, o erro acontece de máquina para máquina, ou seja, no PC em casa, a rotina funciona normalmente com ou sem o ponto em visible = true e com o With, e na máquina do meu trabalho foi onde aconteceu o erro, embora em outras máquinas de outros usuários no meu trabalho que usam a mesma rotina também funciona perfeitamente, vai entender ...

    Fiz os testes no PC aqui em casa, retirando o With e usando o comando nas demais linhas o "oApp" e também funcionou perfeitamente.

    Fiz também outro teste usando o seu código: .Documents.Add Template:=DBPath & "\Relatórios\Arquivos auxiliares\Affidavit.doc", NewTemplate:=False, DocumentType:=0,
    substituindo, ficou como abaixo:

    Set oApp = CreateObject("Word.Application") 'Cria e abre o objeto Word
    'With oApp 'Linha retirada
    ' Torna o MS Word visível
    oApp.Visible = True
    ' Abre o documento base
    oApp.Documents.Add Template:=DBPath & "C:\JANUS\MatrizOficio.doc", NewTemplate:=False, DocumentType:=0

    'Move cada campo para o indicador definido no documento
    oApp.ActiveDocument.Bookmarks("NumOficio").Select
    ...

    Acrescentei o "OApp" no início da linha do seu código, pois sem ele estava dando a mensagem: Erro de compilação: Referência inválida ou não qualificada".

    Então, aqui na máquina de casa, funcionou bem com suas 2 orientações, na 2ª feira vou testar na máquina que uso no trabalho e informo o resultado, ok?

    Acredito que dessa vez vai funcionar (espero).









    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]Formulário Access X Arquivo Word Empty Re: [Resolvido]Formulário Access X Arquivo Word

    Mensagem  criquio 10/3/2012, 23:30

    Certo. Aguardaremos.

    Só para lembrar: caso não funcione mesmo assim, observe se está marcada a referência correta às bibliotecas do Microsoft Word na versão correta à que está instalada no pc. Pode acontecer desse pc que está dando erro estar com uma versão diferente.


    .................................................................................
    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]Formulário Access X Arquivo Word Empty Formulário Access X Arquivo Word

    Mensagem  vileman 12/3/2012, 23:46

    Mestre Criquio, verifiquei a versão da máquina no trabalho e realmente mais uma vez tinhas razão, pois tem algumas máquinas que usam o Windows XP e outras o Windows 7, todas com Access 2003, onde a referência é Microsoft Word 11.0 Object Library, enquanto que na minha máquina estava marcada a Referência Microsoft Word 14.0 Object Library, então marquei para a minha máquina em casa para a versão 11.0, para quando copiar de uma máquina para outra não ocorrer divergências e erro, vivendo e aprendendo, valeu.

    Abraços

    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]Formulário Access X Arquivo Word Empty Re: [Resolvido]Formulário Access X Arquivo Word

    Mensagem  criquio 12/3/2012, 23:49

    É tentando que se chega lá. Cada obstáculo superado conta mais uns degraus na escalada do aprendizado Very Happy


    .................................................................................
    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]Formulário Access X Arquivo Word Empty Re: [Resolvido]Formulário Access X Arquivo Word

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 15:48