Just nu i M3-nätverket
Gå till innehåll

Visa veckonummer i Word?


Miss Storm

Rekommendera Poster

Hej!

 

Jag håller på att skapa ett Worddokument. I dokumentet vill jag att veckans nummer visas. Alltså att veckonumret som visas varierar vart efter tiden går.

 

Jag lyckas infoga vanliga datum o klockslag, men inte veckonummer. Måste jag göra ett VB-script för detta? Någon som kan hjälpa mig med det..?

 

Hoppas, hoppas på hjälp!

 

/MissStorm

 

Länk till kommentar
Dela på andra webbplatser

Function UDFWeekNumISO(InputDate As Date)

UDFWeekNumISO = DatePart("ww", InputDate, vbMonday, vbFirstFourDays)

End Function

 

Länk till kommentar
Dela på andra webbplatser

Som Jag konstaterat i denna tråd:

http://eforum.idg.se...d=612567#612924

så har funktionen en bug.

 

Men med nedanstående tillägg så funkar den helt perfekt.

 

Function UDFWeekNumISO(InputDate As Date)
UDFWeekNumISO = DatePart("ww", InputDate, _
vbMonday, vbFirstFourDays)
If UDFWeekNumISO=53 And Day(InputDate)=31 _
And WeekDay(InputDate)=vbMonday Then UDFWeekNumISO=1
End Function

 

/Pär B

Länk till kommentar
Dela på andra webbplatser

  • 3 veckor senare...

Hej, det är inte bara den sista december som är röjt i Microsofts DatePart() funktion, även t.ex. näst sista december blir fel, dvs. din UDF-funktion returnerar veckonummer 53 för exempelvis 2019-12-30, men i verkligheten är det vecka nr. 1 då.

 

P.S. Kollade lite på DatePart() i VB.NET, den verkar ännu buggigare där...

[inlägget ändrat 2004-09-11 00:40:07 av DrTung]

Länk till kommentar
Dela på andra webbplatser

Hej!

 

Verkar som om felet drabbar just måndagar eftersom tisdagen 2019-12-31 får rätt veckonummer.

En snabbkoll visade att felet även drabbade 2059-12-29. Så om man ändrar if-satsen så att den kollar även 29 och 30/12 för måndagar så kommer man runt felet.

If UDFWeekNumISO=53 And Day(InputDate)>28 And WeekDay(InputDate)=vbMonday Then UDFWeekNumISO=1

 

/Pär B

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...