アクティブセルのセル型を判断する方法

文書番号 : 38924     文書種別 : 使用方法     登録日 : 2015/07/01     最終更新日 : 2015/07/01
文書を印刷する
対象製品
SPREAD for Windows Forms 8.0J
詳細
SheetViewクラスメンバであるGetCellTypeメソッド呼び出しを行い、is演算子と併用することで判断します。具体的な方法については以下のサンプルコードをご参照ください。

◎サンプルコード(VB)
Imports FarPoint.Win.Spread.CellType

  Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'ボタン型セル
    Dim b As New ButtonCellType
    FpSpread1.ActiveSheet.Cells(0, 0).CellType = b
    'コンボボックス型セル
    Dim c As New ComboBoxCellType
    c.Items = New String() {"aaa", "bbb", "ccc"}
    FpSpread1.ActiveSheet.Cells(0, 1).CellType = c
    '日付型セル
    Dim d As New DateTimeCellType
    FpSpread1.ActiveSheet.Cells(0, 2).CellType = d
  End Sub

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim iRow As Integer = FpSpread1.ActiveSheet.ActiveRowIndex
    Dim iCol As Integer = FpSpread1.ActiveSheet.ActiveColumnIndex

    If TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is ButtonCellType Then
      Debug.WriteLine("アクティブセルはボタン型です")
    ElseIf TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is ComboBoxCellType Then
      Debug.WriteLine("アクティブセルはコンボボックス型です")
    ElseIf TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is DateTimeCellType Then
      Debug.WriteLine("アクティブセルは日付型です")
    Else
      Debug.WriteLine("アクティブセルは標準型です")
    End If
  End Sub


◎サンプルコード(C#)
using FarPoint.Win.Spread.CellType;

  private void Form1_Load(object sender, System.EventArgs e)
  {
    //ボタン型セル
    ButtonCellType b = new ButtonCellType();
    fpSpread1.ActiveSheet.Cells[0, 0].CellType = b;
    //コンボボックス型セル
    ComboBoxCellType c = new ComboBoxCellType();
    c.Items = new string[] {"aaa", "bbb", "ccc"};
    fpSpread1.ActiveSheet.Cells[0, 1].CellType = c;
    //日付型セル
    DateTimeCellType d = new DateTimeCellType();
    fpSpread1.ActiveSheet.Cells[0, 2].CellType = d;
  }

  private void button1_Click(object sender, System.EventArgs e)
  {
    int iRow = fpSpread1.ActiveSheet.ActiveRowIndex;
    int iCol = fpSpread1.ActiveSheet.ActiveColumnIndex;

    if (fpSpread1.ActiveSheet.GetCellType(iRow, iCol) is ButtonCellType)
      Console.WriteLine("アクティブセルはボタン型です");
    else if (fpSpread1.ActiveSheet.GetCellType(iRow, iCol) is ComboBoxCellType)
      Console.WriteLine("アクティブセルはコンボボックス型です");
    else if (fpSpread1.ActiveSheet.GetCellType(iRow, iCol) is DateTimeCellType)
      Console.WriteLine("アクティブセルは日付型です");
    else
      Console.WriteLine("アクティブセルは標準型です");
  }
キーワード
セル型