19. januar 2004 - 15:07Der er
17 kommentarer og 3 løsninger
Omvendte engelske datoer
I en form udfylder jeg dato via en kalender, og vælger for eksempel 10. januar 2004. Når denne dato benyttes i engelske breve (for formatet 10 January 2004 skal bruges) laves det om til 1 October 2004. Hvis dagen er større end 12 bevares den korrekte dato.
Det er fordi du skriver tallene i forkert rækkefølge... Du skriver 01-10-04 i formodning om at der er DD-MM-ÅÅ, men engelsk format er MM-DD-ÅÅ måned dag år... derfor ska du du skrive 10-01-04 for at få den rigtige.. ;o)
Når man i dialogboksens kalenderfunktion vælger en dato, hvor dagen <= 12 laver den måneden om til dagen i dokumentfeltet, som i eksemplet i åbningsspørgsmålet.
Jeg har haft samme problem og løste det ved at indsætte et formularfelt af typen Dato og spørge på om det er engelsk eller dansk dato og så kører nedenstående makro:
Select Case strSprog Case "DK" 'Sætter sprog til dansk Selection.WholeStory Selection.LanguageID = wdDanish Selection.NoProofing = False Application.CheckLanguage = True
'Formaterer dato til dansk dato If ActiveDocument.Bookmarks.Exists("Dato") = True Then
Selection.GoTo What:=wdGoToBookmark, Name:="Dato" With Selection.FormFields(1) .Name = "Dato" .Enabled = False With .TextInput .EditType Type:=wdCurrentDateText, Default:="", Format:= _ "d. MMMM yyyy" .Width = 0 End With End With End If
Case "UK" 'Sætter sprog til engelsk Selection.WholeStory Selection.LanguageID = wdEnglishUS Selection.NoProofing = False Application.CheckLanguage = True
'Formaterer dato til engelsk dato If ActiveDocument.Bookmarks.Exists("Dato") = True Then Selection.GoTo What:=wdGoToBookmark, Name:="Dato" With Selection.FormFields(1) .Name = "Dato" .Enabled = False .OwnStatus = False With .TextInput .EditType Type:=wdCurrentDateText, Default:="", Format:= _ "MMMM d, yyyy" .Width = 0 End With End With End If End Selec
Nu er mine skabeloner enten danske eller engelske. Jeg kunne vel bruge f.eks. dokumentets brugerdefinerede egenskaber, og her betegnelsen 'sprog' til at beskrive om det er tale om DK eller UK, så jeg ikke behøver at spørge brugeren.
Når jeg skrive "spørge", så mener jeg bare: "finde ud af, hvilke sprog der skal vælges" :-)
Og du har ganske ret - det vil være helt naturligt at vælge at sætte dokumentets brugerdefinerede egenskab "sprog" til f.eks. DK eller UK, når du allerede ved det.
Det er egentlig lidt skummelt. Alle de engelske skabeloner, vi har ændret fra at hedde f.eks. "January 30, 2004" til "30 January 2004" står nu som "January 30, 2004" til trods for at feltet hedder sådan: {DOCPROPERTY "Dato" \@ "d MMMM YYYY" \* MERGEFORMAT}
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.