指定したセルがマージされているか調べるには?

文書番号 : 11491     文書種別 : 使用方法     最終更新日 : 2003/04/14
文書を印刷する
対象製品
El Tabelle for .NET
詳細
指定したセルがマージされているか確認する方法は、セルが選択されているか確認する方法とほとんど同じです。次のコードは FAQ の ID_3364 を元に作成したマージ判定用の関数と使用例です。

[Visual Basic]
Private Function IsMerged(ByVal TargetPosition As GrapeCity.Views.ElTabelle.Position) As Boolean

  Dim objRange, objRanges() As GrapeCity.Views.ElTabelle.Range
  'マージされているセル範囲をすべて取得する
  objRanges = Sheet1.GetBlocks(GrapeCity.Views.ElTabelle.BlocksType.Merge)
  For Each objRange In objRanges
    '指定したセルを含むセル範囲がないか確認する
    If objRange.Contains(TargetPosition) = True Then
      Return(True)
      Exit Function
    End If
  Next

End Function

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

  If IsMerged(Sheet1.ActivePosition) = True Then
    Debug.WriteLine("選択されたセルはマージされています")
  Else
    Debug.WriteLine("選択されたセルはマージされていません")
  End If
End Sub


[C#}
private bool IsMerged(GrapeCity.Views.ElTabelle.Position targetPosition)
{
  GrapeCity.Views.ElTabelle.Range[] objRanges;
  //マージされているセル範囲をすべて取得する
  objRanges = sheet1.GetBlocks(GrapeCity.Views.ElTabelle.BlocksType.Merge);
  foreach(GrapeCity.Views.ElTabelle.Range objRange in objRanges)
  {
    //指定したセルを含むセル範囲がないか確認する
    if(objRange.Contains(targetPosition) == true)
    {
      //含むセルがある場合
      return true;
    }
  }
  return false;
}

private void button1_Click(object sender, System.EventArgs e)
{
  if(IsMerged(sheet1.ActivePosition) == true)
  {
    System.Diagnostics.Debug.WriteLine("選択されたセルはマージされています");
  }
  else
  {
    System.Diagnostics.Debug.WriteLine("選択されたセルはマージされていません");
  }
}
関連情報
キーワード
HowTo

この文書は、以前は次のFAQ IDで公開されていました : 3369