MESCIUS SPREAD for Windows Forms 17.0J
日付時刻型セル

日付時刻型セルを使用すると、日付と時刻を表示するセルを設定し、このセルへのユーザー入力を日付と時刻だけに制限できます。 表示する日付と時刻の書式は、独自に指定できます。

日付型セル

日付時刻型セルとその各属性を設定するには、DateTimeCellTypeクラスを使用します。

日付時刻の書式設定

日付時刻型セルは、Windowsの地域と言語の設定を使用してデフォルトの書式を設定します。

書式は、DateTimeCellTypeクラスのDateTimeFormatプロパティを使用して設定できます。設定値には、以下、DateTimeFormat列挙体の値を使用します。

DateTimeFormat列挙体の値 説明
LongDate 日付の長い形式を使用します。
LongDateWithTime 日付と時刻の長い形式を使用します。
ShortDate 日付の短い形式を使用します。
ShortDateWithTime 日付と時刻の短い形式を使用します。
TimeOnly 時刻のみを使用します(日付なし)。
UserDefined 和暦など、ユーザー定義の日付と時刻の書式を使用します。和暦の設定方法については、後述の「和暦の使用について」を参照してください。

日付時刻型セルの日時表示に長い形式を使用している場合は、たとえば現在の日時が「10/29/2002 11:10:01」であれば、セルを表すCellクラスのTextプロパティはこのセルの書式付きデータとして「Tuesday, October 29, 2002 11:10:01 AM」を返します。この日時に対し、ValueプロパティはDateTimeオブジェクトを返します。

また、DateTimeCellTypeクラスは、データモデルに書き込む値を定義するためのEditorValueプロパティを備えています。

デフォルトでは、実行時に編集モードの日付時刻型セルをダブルクリックすると、ポップアップカレンダー(またはクロック)が表示されます。この動作を有効にするかどうかを設定できます。また、この電卓に表示される[OK]および[キャンセル]ボタンのテキストをカスタマイズできます。詳細については、「ポップアップカレンダー」を参照してください。

DateTimeCellTypeクラスのTimeDefaultプロパティを使用すると、セルに入力されていない時刻部分に供給する値を設定できます。ポップアップカレンダーを使用してセルに日付を設定すると、この時刻は午前0時となります。他の時刻を使用するには、FpSpreadクラスのSubEditorClosedイベントを捕捉して、セルの値を変更する必要があります(セルにポップアップ表示させるクロックおよびカレンダーフォームを独自に作成し、SubEditorとして使用する方法もあります、詳しくはISubEditorインタフェースを参照してください)。

日付型セルのValueプロパティが返す値は、日付と時刻をカプセル化したDateTimeオブジェクトです。DateTimeオブジェクトのTimeOfDayプロパティを調べることで、その日の時刻を取得できます。

設定方法

DateTimeCellTypeクラスのインスタンスを作成して、クラスの各プロパティを設定します。セルに設定する場合はCellクラスの、行に設定する場合はRowクラスの、列に設定する場合はColumnクラスの、あるいはスタイルに設定する場合はStyleInfoクラスのCellTypeプロパティに、定義したDateTimeCellTypeクラスのインスタンスを割り当てます。

サンプルコード

次のサンプルコードは、セルを日付時刻型セルに設定します。「Tuesday, March 04(曜日、月、日)」の形式で日時を表示します。

C#
コードのコピー
FarPoint.Win.Spread.CellType.DateTimeCellType datecell = new FarPoint.Win.Spread.CellType.DateTimeCellType();
datecell.DateSeparator = " | ";
datecell.TimeSeparator = ".";
datecell.DateTimeFormat = FarPoint.Win.Spread.CellType.DateTimeFormat.ShortDateWithTime;
datecell.MaximumDate = new System.DateTime(2100, 1, 1);
datecell.MinimumDate = new System.DateTime(1990, 12, 31);
datecell.MaximumTime = new System.TimeSpan(15, 59, 59);
datecell.MinimumTime = new System.TimeSpan(11, 0, 0);
fpSpread1.ActiveSheet.Columns[1].Width = 175;
fpSpread1.ActiveSheet.Cells[1, 1].CellType = datecell;
fpSpread1.ActiveSheet.Cells[1, 1].Value = System.DateTime.Now;
Visual Basic
コードのコピー
Dim datecell As New FarPoint.Win.Spread.CellType.DateTimeCellType()
datecell.DateSeparator = " | "
datecell.TimeSeparator = "."
datecell.DateTimeFormat = FarPoint.Win.Spread.CellType.DateTimeFormat.ShortDateWithTime
datecell.MaximumDate = new System.DateTime(2100, 1, 1)
datecell.MinimumDate = new System.DateTime(1990, 12, 31)
datecell.MaximumTime = new System.TimeSpan(15, 59, 59)
datecell.MinimumTime = new System.TimeSpan(11, 0, 0)
fpSpread1.ActiveSheet.Columns(1).Width = 175
FpSpread1.ActiveSheet.Cells(1, 1).CellType = datecell
FpSpread1.ActiveSheet.Cells(1, 1).Value = System.DateTime.Now

SPREAD デザイナの使用

  1. 作業領域内のセルまたはセル範囲を選択します。
  2. プロパティ リストの「その他」カテゴリから、CellType プロパティを選択します。 ドロップダウン リストから日付時刻型を選択します。 これによって CellType プロパティが展開され、このセル型に固有のさまざまなプロパティが表示されます。 このリストから、必要に応じてプロパティを選択および設定します。

    または、セルまたはセル範囲を右クリックして[セル型]を選択します。 セル型の一覧から日付時刻型を選択します。 セル型エディタで、必要なプロパティを設定します。 〈適用〉ボタンをクリックします。

  3. [ファイル]メニューから[適用して終了]を選択し、変更をコンポーネントに適用して SPREAD デザイナを終了します。
和暦の使用について

日付時刻型セルで和暦を設定する場合は以下の情報を参考にしてください。

年号の取得と設定

和暦表示における年号はアプリケーション構成ファイルで定義できます。詳細については、「和暦年号の取得と設定」を参照してください。

書式の設定

和暦書式を使用する場合は、CellTypeプロパティの下位のプロパティリストに表示されるCalendarプロパティで「JapaneseCalendar」を選択します。

この設定により、お使いのコンピュータの「地域と言語の設定」において日付タブを選択し、カレンダー種類を「和暦」にした場合と同じ表示結果を得ることができます。 下の図はDateTimeCellType クラスのCalendar プロパティを「JapaneseCalendar」に設定した場合の表示例です。

SPREADの和暦表示 地域と言語のオプション

SPREADの和暦表示

地域と言語のオプション

<注意>
  • お使いのコンピュータの「地域と言語の設定」の設定内容によって表示結果は異なります。
  • 使用できる書式は.NET Framework に準じるため、和暦の年を表す書式フィールドに「e」や「ee」は使用できません。年には「yy」を使用します。

なお、「平成22年」や「平成22年3月」のような独自形式での表示を行いたい場合は、Japaneseカレンダーを設定し、ユーザー定義書式を利用します。

設定方法

DateTimeCellTypeクラスのインスタンスを作成します。DateTimeCellTypeクラスのCalendarプロパティを「Japanese」に、DateTimeFormatプロパティを「UserDefined」に、UserDefinedFormatプロパティに「ggyy年MM月」を設定します。セルに設定する場合はCellクラスの、行に設定する場合はRowクラスの、列に設定する場合はColumnクラスの、あるいはスタイルに設定する場合はStyleInfoクラスのCellTypeプロパティに、定義したDateTimeCellTypeクラスのインスタンスを割り当てます。

サンプルコード

次のサンプル コードは、2行2列目のセルに「ggyy年MM月」の形式で日時を表示します。

C#
コードのコピー
FarPoint.Win.Spread.CellType.DateTimeCellType datecell = new FarPoint.Win.Spread.CellType.DateTimeCellType();
datecell.Calendar = new System.Globalization.JapaneseCalendar();
datecell.DateTimeFormat = FarPoint.Win.Spread.CellType.DateTimeFormat.UserDefined;
datecell.UserDefinedFormat = "ggyy年MM月";
fpSpread1.ActiveSheet.Cells[1, 1].CellType = datecell;
Visual Basic
コードのコピー
Dim datecell As New FarPoint.Win.Spread.CellType.DateTimeCellType()
datecell.Calendar = New System.Globalization.JapaneseCalendar()
datecell.DateTimeFormat = FarPoint.Win.Spread.CellType.DateTimeFormat.UserDefined
datecell.UserDefinedFormat = "ggyy年MM月"
fpSpread1.ActiveSheet.Cells(1, 1).CellType = datecell

SPREAD デザイナの使用

  1. プレビュー パネル内で、セルまたはセル範囲を選択します。
  2. プロパティ リストの「その他」カテゴリから CellType プロパティを選択します。
  3. ドロップダウン リストから DateTime(日付型)を選択します。
  4. CellType プロパティの下位のプロパティ リストを展開します。
  5. Calendar プロパティで Japanese(和暦)を選択します。
  6. DateTimeFormat プロパティを UserDefined(ユーザー定義)に設定します。
  7. UserDefinedFormat プロパティに 「ggyy年MM月」と入力します。
  8. 設定が完了したら、[ファイル]メニューから[適用して終了]を選択します。
  • UserDefinedFormatプロパティに和暦形式の書式文字列を設定する場合、「年」をシングルクォート(')で囲むと、和暦の初年度を「1年」ではなく、「元年」と表示することが可能です。
    例)ggyy'年'MM月dd日
参照

 

 


© MESCIUS inc. All rights reserved.