Ir para conteúdo
Fórum Script Brasil
  • 0

Visual Basic No Word


Guest Roger Robert Kock

Pergunta

Guest Roger Robert Kock

Olá,

Gostaria de pedir a ajuda de vocês para o seguinte caso:

Tenho vários documentos do Microsoft Word em casa, que se referem a leis e diretrizes que tem de ser atualizadas de 3 em 3 meses, estes mesmos documentos tem um cabeçalho com a data da última modificação (colocada manualmente pela pessoa que o modificou por último).

Por exemplo:

Última modificação: 30/12/2003

Porém nem sempre as pessoas que modificam estes documentos observam a data de sua última modificação no cabeçalho, e acabam salvando estes documentos sem alterar esta data.

Gostaria de saber se é possível fazer com que o Word compare a data da última modificação (aquela posta manualmente no cabeçalho) com a atual, e se já tiverem passado mais de 3 meses desde a última modificação, ele exiba, assim que o arquivo for aberto uma janelia pop-up, dizendo que o documento precisa ser atualizado.

Se for possível, peço que alguém me explique como fazer, desde já agradeço!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Como ficaria meio complicado explicar como fazer, decidi fazer um exemplo baseado no que você apresentou e ficou assim:

Private Sub Document_Open()
    Dim Data As Date
    Dim Hoje As Date
    
    Selection.Find.Execute "Última modificação:"
    If Selection.Find.Found Then
        Selection.MoveRight Unit:=wdCharacter, Count:=1
        Selection.MoveRight Unit:=wdCharacter, Count:=11, Extend:=wdExtend
        Data = CDate(Trim(Selection.Text))
        Hoje = Now()
        If DateSerial(Year(Hoje), Month(Hoje), Day(Hoje)) > DateSerial(Year(Data), Month(Data) + 3, Day(Data)) Then
            MsgBox "Atualize o documento!"
        End If
    End If
End Sub

Ou seja, primeiro procura-se pela string "Última modificação:", e se ela for encontrada, move-se o cursor para direita uma posição (isso porque esse texto fica selecionado), daí seleciona-se 11 caracteres a direita (para selecionar a data do documento), converte-se o texto para uma data (que fica na variável Data) e pega-se também a data do dia (que fica na variável Hoje), verifica-se então se a data de hoje é maior do que a data do documento somada de 3 meses, se for aparece uma mensagem. Tudo isso fica na sub Document_Open() que sempre é executada quando o documento é aberto (ou se ficar no Normal.dot é executada sempre que qualquer documento é aberto). Ok?

Qualquer dúvida, 'stamos aí.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Roger Robert Kock

cara.... valeu mesmo pela ajuda, se não for pedir demais, poderias por isso em um documento do Word mesmo, para eu poder testar aqui, mais uma vez muitíssiomo obrigado!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...