MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集 > セル型 > アクティブセルのセル型を取得する |
セル型を判断する場合はSheetViewクラスメンバであるGetCellTypeメソッド呼び出しを行い、 is演算子(VB.NETの場合はTypeOf 〜 Is演算子)と併用することで行います。
private void Form1_Load(object sender, System.EventArgs e) { //ボタン型セルを定義します FarPoint.Win.Spread.CellType.ButtonCellType b = new FarPoint.Win.Spread.CellType.ButtonCellType(); fpSpread1.ActiveSheet.Cells[0, 0].CellType = b; //コンボボックス型セルを定義します FarPoint.Win.Spread.CellType.ComboBoxCellType c = new FarPoint.Win.Spread.CellType.ComboBoxCellType(); c.Items = new string[] {"aaa", "bbb", "ccc"}; fpSpread1.ActiveSheet.Cells[0, 1].CellType = c; //日付型セルを定義します FarPoint.Win.Spread.CellType.DateTimeCellType d = new FarPoint.Win.Spread.CellType.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 FarPoint.Win.Spread.CellType.ButtonCellType) Console.WriteLine("アクティブセルはボタン型です"); else if (fpSpread1.ActiveSheet.GetCellType(iRow, iCol) is FarPoint.Win.Spread.CellType.ComboBoxCellType) Console.WriteLine("アクティブセルはコンボボックス型です"); else if (fpSpread1.ActiveSheet.GetCellType(iRow, iCol) is FarPoint.Win.Spread.CellType.DateTimeCellType) Console.WriteLine("アクティブセルは日付型です"); else Console.WriteLine("アクティブセルは標準型です"); }
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load 'ボタン型セルを定義します Dim b As New FarPoint.Win.Spread.CellType.ButtonCellType FpSpread1.ActiveSheet.Cells(0, 0).CellType = b 'コンボボックス型セルを定義します Dim c As New FarPoint.Win.Spread.CellType.ComboBoxCellType c.Items = New String() {"aaa", "bbb", "ccc"} FpSpread1.ActiveSheet.Cells(0, 1).CellType = c '日付型セルを定義します Dim d As New FarPoint.Win.Spread.CellType.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 FarPoint.Win.Spread.CellType.ButtonCellType Then Console.WriteLine("アクティブセルはボタン型です") ElseIf TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is FarPoint.Win.Spread.CellType.ComboBoxCellType Then Console.WriteLine("アクティブセルはコンボボックス型です") ElseIf TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is FarPoint.Win.Spread.CellType.DateTimeCellType Then Console.WriteLine("アクティブセルは日付型です") Else Console.WriteLine("アクティブセルは標準型です") End If End Sub