作成日: 2022/01/21 最終更新日: 2022/02/24
文書種別
技術情報
詳細
12.0Jでは以下の仕様変更がありました。
12.0.4500.2012での変更点 > ColumnHeader、RowHeader、ColumnFooter > Height/Width
そのため、行ヘッダの幅や列ヘッダの高さを既定から変更していない場合に、RowHeaderの列の幅やColumnHeaderの行の高さを取得すると「-1」となります。
上記ページにもあるように、行ヘッダの幅の既定値や列ヘッダの高さの既定値を取得する場合には、シートのContainingViewsプロパティでビューを取得し、行ヘッダや列ヘッダのセルの矩形から確認します。
◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'既定から変更していない場合には「-1」
TextBox1.Text = FpSpread1.ActiveSheet.RowHeader.Columns(0).Width
'ビューを取得する
Dim spreadView As FarPoint.Win.Spread.SpreadView = FpSpread1.ActiveSheet.ContainingViews(0)
'実際の行ヘッダの幅
TextBox2.Text = spreadView.GetRowHeaderCellRectangle(0, 0, 0).Width
'既定から変更していない場合には「-1」
TextBox3.Text = FpSpread1.ActiveSheet.ColumnHeader.Rows(0).Height
'実際の列ヘッダの高さ
TextBox4.Text = spreadView.GetColumnHeaderCellRectangle(0, 0, 0).Height
End Sub
◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
//既定から変更していない場合には「-1」
textBox1.Text = fpSpread1.ActiveSheet.RowHeader.Columns[0].Width.ToString();
//ビューを取得する
FarPoint.Win.Spread.SpreadView spreadView = fpSpread1.ActiveSheet.ContainingViews[0];
//実際の行ヘッダの幅
textBox2.Text = spreadView.GetRowHeaderCellRectangle(0, 0, 0).Width.ToString();
//既定から変更していない場合には「-1」
textBox3.Text = fpSpread1.ActiveSheet.ColumnHeader.Rows[0].Height.ToString();
//実際の列ヘッダの高さ
textBox4.Text = spreadView.GetColumnHeaderCellRectangle(0, 0, 0).Height.ToString();
}
<実行イメージ>
