Sette inn dagens mandags dato i et Word-dokument

Det er vanlig å datere dokumenter og rapporter, men ting kan bli komplisert hvis du oppretter dokumentet på en annen dato enn rapportdatoen. For eksempel kan du lage en ukentlig rapport på fredag, men bruke datoen for forrige mandag til å identifisere den. Den enkleste løsningen er å bare sjekke kalenderen og legge inn riktig dato manuelt. Men hva hvis du lager en mal for noen andre å bruke? Eller antar at du bare vil at malen skal takle oppgaven for deg!

Å legge inn datoer i Word er enkle å beregne datoer er en annen sak. Hvis alle forholdene er helt riktige, vil et nestet felt fungere, men det er ingen garantier; datofelt er ikke fleksible nok til å alltid håndtere alle muligheter. En makro er den beste veien å gå. For å legge inn datoen for den nåværende mandagen, kan du bruke følgende makro:

Sub ReturnCurrentMonday() 
 'Return Monday of current week. 
 Dim dteMonday As Date 
 dteMonday = IIf(Weekday(Date) = 1, Date - 6, _ 
 Date - (Weekday(Date) - 2)) 
 Selection.InsertBefore dteMonday 
 End Sub 

For å gå inn i makroen, trykk Alt + F11 for å starte Visual Basic Editor. Velg modul fra Sett inn-menyen, og skriv inn ovennevnte underprosedyre. (Du kan legge modulen til Normal-malen eller det gjeldende dokumentet.)

Hvis du vil bruke makroen, går du tilbake til Word og plasserer innsettingspunktet der du vil ha datoen (det trenger ikke å være i en topptekst eller bunntekst, men det er det mest sannsynlige stedet). Klikk på utvikler-fanen og klikk deretter på makroer i kodegruppen. I Word 2003 velger du Makro fra Verktøy-menyen, og deretter velger du Makroer. Velg makroen og klikk Kjør (pass på at du har valgt riktig alternativ fra rullegardinmenyen Makroer). Det er alt du trenger!

Denne makroen er avhengig av funksjonen Weekday (), som returnerer et heltall for hver dag i uken:

  • Søndag = 1
  • Mandag = 2
  • Tirsdag = 3
  • Onsdag = 4
  • Torsdag = 5
  • Fredag ​​= 6
  • Lørdag = 7

Hvis den nåværende datoen er en søndag, trekker den sanne handlingen 6 fra den gjeldende datoen, og returnerer forrige mandag. For hver annen dag i uken starter den falske handlingen, og den er litt mer sammensatt. The Weekday (Date) - 2 component evalueres først. Å trekke denne verdien fra gjeldende dato returnerer mandagen for den aktuelle uken. For eksempel er 18. oktober 2011 en tirsdag, og den falske handlingen evalueres som følger:

 10-18-2011 - (ukedag (dato) - 2)) = 
 10-18-2011 - (3 - 2) = 
 10-18-2011 - 1 = 
 10-17-2011 

Å returnere gjeldende ukes mandagsdato er en hyppig forespørsel, men du kan trenge makroen for å returnere en annen dag i uken. Du kan bruke dette grunnleggende uttrykket for å imøtekomme de fleste enhver forespørsel ved å legge til eller trekke fra riktig antall dager. I tillegg kan du legge til Format () -funksjonen for å tvinge et spesifikt datoformat.

© Copyright 2021 | pepebotifarra.com