2 maneiras rápidas de obter a diferença entre duas datas ou horas via Word VBA

Compartilhe agora:

Neste artigo, queremos apresentar a você 2 maneiras rápidas e eficientes de obter a diferença entre 2 datas ou horários específicos por meio de macros do Word.

Calcular os dias ou tempo que faltam entre 2 datas ou horas concretas não é difícil. Você pode fazer as contas sozinho ou obter uma calculadora de duração de data ou hora. E aqui queremos demonstrar as 2 formas de macro que permitem obter a diferença de data ou hora no Word. A seguir estão as etapas detalhadas:

Obter a diferença de data

  1. primeiro e primeiroost, abra o Word.
  2. Em seguida, clique na guia “Desenvolvedor” se já estiver ativado.
  3. Em seguida, clique em “Visual Basic” para abrir o editor VBA. você pode se referir a Como inserir música de fundo em seu documento do Word para adicionar "Desenvolvedor" à faixa de opções. Ou você também pode pressionar “Alt + F11” se preferir não.Clique em "Desenvolvedor"->Clique em "Visual Basic"
  4. Agora clique em “Normal” e depois em “Inserir”.
  5. No menu de lista, escolha “Módulo”.Clique em "Normal"->Clique em "Inserir"->Clique em "Módulo"
  6. Em seguida, clique duas vezes no novo módulo para entrar na área de edição.
  7. Cole os seguintes códigos:
Sub CalculateDateDifference() Dim dtStartDate As Date Dim dtEndDate As Date Dim lDaysLeft As Long ' Insira os start data e data final, calcule a diferença de data. dtStartData = InputBox("Digite o start data","Start Date","Por exemplo: 2017/1/1") dtEndDate = InputBox("Digite a data final","Data final","Por exemplo: 2017/2/1") lDaysLeft = DateDiff("d", dtStartDate, dtEndDate) ' Saída para calcular a diferença de data entre as duas datas. MsgBox ("Faltam " & lDaysLeft & " dias restantes de " & dtStartDate & " to " & dtEndDate & vbCrLf) End Sub
  1. Clique em “Executar” para executar os códigos.Cole Códigos->Clique em "Executar"
  2. Agora você verá um “Start Data” caixa de diálogo. Digite o stardata na caixa de texto e clique em “OK”.Digite Start Data->Clique em "OK"
  3. Em seguida, há a caixa de diálogo "Data final". Da mesma forma, insira a data final e clique em “OK”.Insira a Data Final->Clique em "OK"
  4. Em seguida, uma caixa de mensagem aparecerá, indicando a diferença entre as 2 datas.Caixa de mensagem mostrando a diferença entre as datas

Caso precise inserir o resultado em seu documento, você pode editar um pouco a macro alterando a linha de código “MsgBox (“Faltam ” & lDaysLeft & ” dias restantes de ” & dtStartDate & ” até ” & dtEndDate & vbCrLf)"Para"Selection.Text = “Existem ” & lDaysLeft & ” dias restantes de ” & dtStartDate & ” até ” & dtEndDate & vbCrLf".

Obter a diferença de tempo

  1. Primeiro repita os primeiros 6 passos acima.
  2. Em seguida, cole estes códigos:
Sub CalculateTimeDifference() Dim dtStartTime As Date Dim dtEndTime As Date Dim lTimeLeft As Long Dim lHour As Long Dim lMinute As Long Dim lSecond As Long ' Obtenha os starhora t e a hora final. dtStartHora = InputBox("Digite os start vez","Start Time", "Por exemplo:18:00:00") dtEndTime = InputBox("Digite o horário final","Horário final", "Por exemplo:18:00:00") ' Calcula a diferença de horário. lTimeLeft = DateDiff("s", dtStartTime, dtEndTime) lHour = lTimeLeft \ 3600 lTimeLeft = lTimeLeft - lHour * 3600 lMinute = lTimeLeft \ 60 lSecond = lTimeLeft - lMinute * 60 MsgBox ("Existem " & lHour & " horas " & lMinute & " minutos " & lSecond & " segundos restantes de " & dtStartTime & " to " & dtEndTime & vbCrLf) End Sub
  1. Lembre-se de clicar em “Executar”.Cole Códigos->Aperte "Executar"
  2. No “Start Time”, digite o starhora t, como “18:00:00”.Digite Start Hora->Clique em "OK"
  3. Em seguida, digite a hora final na caixa de diálogo “Hora final” e clique em “OK”. E você pode verificar o resultado na caixa de mensagem que aparece.Digite Hora de término->Clique em "OK"A diferença de tempo

Mitigar o risco de perda de arquivos

De vez em quando, o Word pode parar de funcionar do nada, deixando nossos arquivos em grande perigo. Portanto, para reduzir a chance de danificar os arquivos, sugerimos que você faça backups regulares. Além disso, obtenha um Produto de recuperação de arquivos do Word é necessário quando você precisa consertar arquivos quebrados.

Introdução do autor:

Vera Chen é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo Ferramenta de reparo de dados do Excel xls e pdf reparar produtos de software. Para mais informações visite www.datanumen.com

Compartilhe agora:

3 respostas para “2 maneiras rápidas de obter a diferença entre duas datas ou horas via Word VBA”

  1. Se eu quisesse a diferença nas strings de data e hora inseridas em um controle de conteúdo de texto simples, como posso fazer isso. Por exemplo, quero inserir a data e hora como uma string mmddyyyhhmm e quero a diferença em duas strings em horas e minutos.
    Tentei inserir dois controles de conteúdo rich text e um controle de conteúdo de texto simples nomeando-os StartTime EndTime e TimeDifference e criei uma macro da seguinte forma:
    Sub CalcularTimeDifference()

    EscurecertartTimeControl como ContentControl
    Dim endTimeControl como ContentControl
    Dim DifferenceControl As ContentControl
    EscurecertartTimeStr como string
    Dim endTimeStr como string
    Dim diferença como duplo

    'Obtém referências aos controles de conteúdo
    Definir startTimeControl = ActiveDocument.ContentControls(“StartHora”)
    Definir endTimeControl = ActiveDocument.ContentControls (“EndTime”)
    Definir diferençaControl = ActiveDocument.ContentControls (“TimeDifference”)

    'Extrai strings de data e hora
    startTimeStr = startTimeControl.Range.Text
    endTimeStr = endTimeControl.Range.Text

    ' Tratamento de erros (opcional – adicione verificações para formato válido)

    'Calcula a diferença (assumindo o formato mmddyyyhhmm)
    diferença = DateDiff(“h”, CDate(endTimeStr), CDate(startTimeStr)) & “:” & _
    DateDiff(“m”, CDate(endTimeStr), CDate(startTimeStr))

    'Mostra a diferença no controle de resultado
    diferençaControl.Range.Text = diferença

    End Sub

    Recebo um erro em set start linha de controle de tempo.

    Agradeço sua ajuda

Deixe um comentário

O seu endereço de e-mail não será publicado. Os campos obrigatórios são marcados com *