日付型セルに月の省略名を表示するには?
対象製品
El Tabelle for .NET
詳細
日付型セルの書式に MMM を設定しても、"Jan" や "Feb" といった月の省略名は表示されません。これは、MMM の設定が現在のスレッドのカルチャに依存しているためです。さらに、スレッドのカルチャはシステムのロケール設定に依存します。
この現象は、次のコードで確認できます。
[Visual Basic]
システムの設定に依存せずに月の省略名を表示するには、スレッドのロケールを変更します。
[Visual Basic]
なお、この変更はコンポーネントのオブジェクトが作成される前に実行する必要があります。
この現象は、次のコードで確認できます。
[Visual Basic]
Dim objDateTimeFormatInfo As New System.Globalization.DateTimeFormatInfo
objDateTimeFormatInfo = objDateTimeFormatInfo.CurrentInfo
For Each strMonthName As String In objDateTimeFormatInfo.AbbreviatedMonthNames
Debug.WriteLine(strMonthName)
Next
objDateTimeFormatInfo = objDateTimeFormatInfo.CurrentInfo
For Each strMonthName As String In objDateTimeFormatInfo.AbbreviatedMonthNames
Debug.WriteLine(strMonthName)
Next
システムの設定に依存せずに月の省略名を表示するには、スレッドのロケールを変更します。
[Visual Basic]
'スレッドの現在のカルチャを取得する
Dim objCurrentCulture As System.Globalization.CultureInfo = Application.CurrentCulture.Clone
'英語(US)のカルチャを取得する
Dim objEnglishCulture As System.Globalization.CultureInfo = New System.Globalization.CultureInfo("en-US")
Dim objCurrentDateTimeFormat As System.Globalization.DateTimeFormatInfo = objCurrentCulture.DateTimeFormat.Clone
'英語(US)のカルチャから月の省略名をコピーする
objCurrentDateTimeFormat.AbbreviatedMonthNames = objEnglishCulture.DateTimeFormat.AbbreviatedMonthNames
objCurrentCulture.DateTimeFormat = objCurrentDateTimeFormat
Application.CurrentCulture = objCurrentCulture
Dim objCurrentCulture As System.Globalization.CultureInfo = Application.CurrentCulture.Clone
'英語(US)のカルチャを取得する
Dim objEnglishCulture As System.Globalization.CultureInfo = New System.Globalization.CultureInfo("en-US")
Dim objCurrentDateTimeFormat As System.Globalization.DateTimeFormatInfo = objCurrentCulture.DateTimeFormat.Clone
'英語(US)のカルチャから月の省略名をコピーする
objCurrentDateTimeFormat.AbbreviatedMonthNames = objEnglishCulture.DateTimeFormat.AbbreviatedMonthNames
objCurrentCulture.DateTimeFormat = objCurrentDateTimeFormat
Application.CurrentCulture = objCurrentCulture
なお、この変更はコンポーネントのオブジェクトが作成される前に実行する必要があります。
キーワード
HowTo
この文書は、以前は次のFAQ IDで公開されていました : 4563