MESCIUS SPREAD for Windows Forms 15.0J サンプルコード集
選択範囲を取得する

CellRangeクラスを利用することで選択範囲を取得することができます。

【実行例】

選択範囲の取得

  • CellRangeクラスで取得される範囲は選択した順番ではなく、選択した範囲の大小順となります。選択した順番で範囲を取得したい場合には、ModelクラスのSelectionオブジェクトを使用します。
    -----------------------------------
       Dim sel As FarPoint.Win.Spread.Model.DefaultSheetSelectionModel = FpSpread1.ActiveSheet.Models.Selection

       For i As Integer = 0 To sel.Count - 1
          Console.WriteLine("選択された先頭行インデックス:" & sel(i).Row.ToString())
          Console.WriteLine("選択された行数:" & sel(i).RowCount.ToString())
       Next

private void Form1_Load(object sender, EventArgs e)
{
    // 拡張選択モードを設定
    fpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.ExtendedSelect;
    fpSpread1.ActiveSheet.RowCount = 5;
    fpSpread1.ActiveSheet.ColumnCount = 5;
    fpSpread1.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never;
    fpSpread1.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never;
}
 
private void button1_Click(object sender, EventArgs e)
{
    FarPoint.Win.Spread.Model.CellRange[] cr = fpSpread1.ActiveSheet.GetSelections();
 
    for (int i = 0; i <= cr.Length - 1; i++)
    {
        Console.WriteLine("---------------------");
        Console.WriteLine("CellRangeクラスを利用");
        Console.WriteLine("---------------------");
        Console.WriteLine("選択された先頭行インデックス:" + cr[i].Row.ToString());
        Console.WriteLine("選択された行数:" + cr[i].RowCount.ToString());
        Console.WriteLine("選択された先頭列インデックス:" + cr[i].Column.ToString());
        Console.WriteLine("選択された列数:" + cr[i].ColumnCount.ToString());
        Console.WriteLine("");
    }
}
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    ' 拡張選択モードを設定
    FpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.ExtendedSelect
    FpSpread1.ActiveSheet.RowCount = 5
    FpSpread1.ActiveSheet.ColumnCount = 5
    FpSpread1.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never
    FpSpread1.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim cr() As FarPoint.Win.Spread.Model.CellRange = FpSpread1.ActiveSheet.GetSelections()
 
    For i As Integer = 0 To cr.Length - 1
        Console.WriteLine("---------------------")
        Console.WriteLine("CellRangeクラスを利用")
        Console.WriteLine("---------------------")
        Console.WriteLine("選択された先頭行インデックス:" & cr(i).Row.ToString())
        Console.WriteLine("選択された行数:" & cr(i).RowCount.ToString())
        Console.WriteLine("選択された先頭列インデックス:" & cr(i).Column.ToString())
        Console.WriteLine("選択された列数:" & cr(i).ColumnCount.ToString())
        Console.WriteLine("")
    Next
End Sub

出力例
---------------------
CellRangeクラスを利用
---------------------
選択された先頭行インデックス:1
選択された行数:1
選択された先頭列インデックス:-1
選択された列数:-1

---------------------
CellRangeクラスを利用
---------------------
選択された先頭行インデックス:3
選択された行数:1
選択された先頭列インデックス:-1
選択された列数:-1

 

 


© MESCIUS inc. All rights reserved.