MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Formulário com o mesmo código abrir e gravar documentos Word usando todos ou parte dos BooKmarks

    Compartilhe

    Maçom
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 42
    Registrado : 06/02/2010

    [Resolvido]Formulário com o mesmo código abrir e gravar documentos Word usando todos ou parte dos BooKmarks

    Mensagem  Maçom em Dom 11 Jun 2017, 23:59

    Boa Tarde,

    deparei-me com outro problema no uso do mesmo código para abrir documentos diferentes em Word

    ou seja se o documento em Word usar todos os Bookmarks do código, abre e grava
    mas se tentar abrir outro documento que só use parte dos Bookmarks que estão no código do formulário, dá erro

    ora como uso o mesmo form para abrir documentos com texto diferente, só funciona se usar a totalidade dos Bookmarks, mas em alguns documentos uso por exemplo, o nome, morada nº passaporte etc, e noutros documentos, só quero usar por exemplo só o nome.

    alguém tem ideia se é possível, ou tenho de usar várias caixas de combinação, a ideia era usar apenas uma caixa de combinação para escolher o documento que pretendo.

    segue o código para melhor entendimento

    Private Sub gerarDoc_Click()
    'ahteixeira (2016) para MaximoAccess
    'Adaptado a partir do exemplo do colega Avelino Sampaio
    'veja a dica 75 - [Você precisa estar registrado e conectado para ver este link.]

    If IsNull(Me.cartaSel) Then MsgBox "Escolha o modelo da carta para gerar.", vbInformation, "": Exit Sub
     
    Dim wdApl As Object
    Dim strModelo As String
    Set wdApl = CreateObject("Word.Application")
    '--------------------------
    'Abre o arquivo do Word

    wdApl.Documents.Open FileName:="G:\GestaoProcessosVistosConsulares\Aplicacao\BD\DocWordTemplate" & "\" & Me.cartaSel.Column(2)
    With wdApl
    'Posiciona o cursor no INDICADOR I1_IDVisto ... e preenche
    .ActiveDocument.Bookmarks("I1_IDVisto").Select: .Selection.Text = Nz(Me.IDVisto)
    .ActiveDocument.Bookmarks("I2_NºORDEM").Select: .Selection.Text = Nz(Me.NºORDEM)
    .ActiveDocument.Bookmarks("I3_PassaporteNº").Select: .Selection.Text = Nz(Me.PassaporteNº)
    '.ActiveDocument.Bookmarks("I4_NOME").Select: .Selection.Text = Me.NOME
    .ActiveDocument.Bookmarks("I5_NOMECompleto").Select: .Selection.Text = Me.NOMECompleto
    .ActiveDocument.Bookmarks("I6_DataNascimento").Select: .Selection.Text = Me.DataNascimento
    .ActiveDocument.Bookmarks("I7_Morada").Select: .Selection.Text = Me.MORADA
    .ActiveDocument.Bookmarks("I7_C_POSTAL").Select: .Selection.Text = Me.C_POSTAL
    .ActiveDocument.Bookmarks("I8_FREGUESIA").Select: .Selection.Text = Me.FREGUESIA
    .ActiveDocument.Bookmarks("I9_CONCELHO").Select: .Selection.Text = Me.CONCELHO
    .ActiveDocument.Bookmarks("I10_EstCivil").Select: .Selection.Text = Me.EstCivil
    .ActiveDocument.Bookmarks("I11_FuncVisto").Select: .Selection.Text = Me.FuncVisto
    .ActiveDocument.Bookmarks("I12_PassaporteDataEmissao").Select: .Selection.Text = Me.PassaporteDataEmissao
    .ActiveDocument.Bookmarks("I13_EntEmissao").Select: .Selection.Text = Me.EntEmissao
    .ActiveDocument.Bookmarks("I14_ValiCTProm").Select: .Selection.Text = Me.ValiCTProm
    .ActiveDocument.Bookmarks("I15_ValorCTProm").Select: .Selection.Text = Me.ValorCTProm
    .ActiveDocument.Bookmarks("I20_NomeCompleto2").Select: .Selection.Text = Me.NOMECompleto
    .ActiveDocument.Bookmarks("I21_NºPassaporte2").Select: .Selection.Text = Nz(Me.PassaporteNº)
    .ActiveDocument.Bookmarks("I22_PassaporteDataEmissao2").Select: .Selection.Text = Me.PassaporteDataEmissao
    .ActiveDocument.Bookmarks("I23_EntEmissao2").Select: .Selection.Text = Me.EntEmissao
    .ActiveDocument.Bookmarks("I24_NomeCompleto3").Select: .Selection.Text = Me.NOMECompleto
    .ActiveDocument.Bookmarks("I25_NºPassaporte3").Select: .Selection.Text = Nz(Me.PassaporteNº)
    .ActiveDocument.Bookmarks("I26_PassaporteDataEmissao3").Select: .Selection.Text = Me.PassaporteDataEmissao
    .ActiveDocument.Bookmarks("I27_EntEmissao3").Select: .Selection.Text = Me.EntEmissao
    .ActiveDocument.Bookmarks("I28_NomeCompleto4").Select: .Selection.Text = Me.NOMECompleto
    .ActiveDocument.Bookmarks("I29_NºBI_CC").Select: .Selection.Text = Nz(Me.BI)
    .ActiveDocument.Bookmarks("I30_DataValidadeBI").Select: .Selection.Text = Me.DataValidadeBI
    .ActiveDocument.Bookmarks("I31_NomeCompleto5").Select: .Selection.Text = Me.NOMECompleto
    .ActiveDocument.Bookmarks("I32_NºBI_CC2").Select: .Selection.Text = Nz(Me.BI)
    .ActiveDocument.Bookmarks("I33_Morada2").Select: .Selection.Text = Me.MORADA
    .ActiveDocument.Bookmarks("I34_C_Postal2").Select: .Selection.Text = Me.C_POSTAL
    .ActiveDocument.Bookmarks("I35_Freguesia2").Select: .Selection.Text = Me.FREGUESIA
    .ActiveDocument.Bookmarks("I36_DataAdmissão").Select: .Selection.Text = Me.DataAdmissão
    '---------------------------------------------------------
    'Salva o documento preenchido em lugar diferente
    '---------------------------------------------------------
    'strlocal = "G:\GestaoProcessosVistosConsulares\DocWordGerado" & "\" & Me.cartaSel.Column(1) & "-" & Nz(Replace(Me.NºORDEM, " ", "")) & "-" & Format(Now, "hhmmss") & ".doc"
    strlocal = "G:\GestaoProcessosVistosConsulares\DocWordGerado" & "\" & Nz(Replace(Me.NºORDEM, " ", "")) & "-" & Format(Now, "hhmmss") & "-" & Me.cartaSel.Column(1) & ".doc"
    .ActiveDocument.SaveAs strlocal ', Password:="123"
    '------------------
    'Fecha o documento
    '------------------
    .ActiveDocument.Close
    '-------------
    'Fecha o Word
    '-------------
    .Quit
    End With
    'Limpa a memória
    Set wdApl = Nothing
    '---------------------------------------------------------
    'Abre o documento preechido para visualização e impressão
    '---------------------------------------------------------
    Application.FollowHyperlink strlocal
    End Sub
    Anexos
    Capturar.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (67 Kb) Baixado 15 vez(es)
    avatar
    Dilson
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1697
    Registrado : 11/11/2009

    Re: [Resolvido]Formulário com o mesmo código abrir e gravar documentos Word usando todos ou parte dos BooKmarks

    Mensagem  Dilson em Sex 30 Jun 2017, 17:42

    Você precisa ter todos os marcadores no seu documento word, senão ocorre erro. Visto que ele percorre as duas instancias Access e Word e na falta da referência ele pára o código.

    Uma possível solução seria manter os marcadores que não serão usados aninhados no rodapé do doc. word com a cor da letra fonte branca (se for imprimir em papel branco). Assim com toda certeza não haverá erro.

    Maçom
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 42
    Registrado : 06/02/2010

    Re: [Resolvido]Formulário com o mesmo código abrir e gravar documentos Word usando todos ou parte dos BooKmarks

    Mensagem  Maçom em Sex 30 Jun 2017, 22:39

    Boa Tarde, Dilson

    enquanto não encontrar outra, será melhor a sua opção

    muito Obrigado


    JM

      Data/hora atual: Ter 21 Nov 2017, 21:12