指定したセルがマージされているか調べるには?
対象製品
El Tabelle for .NET
詳細
指定したセルがマージされているか確認する方法は、セルが選択されているか確認する方法とほとんど同じです。次のコードは FAQ の ID_3364 を元に作成したマージ判定用の関数と使用例です。
[Visual Basic]
[C#}
[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
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("選択されたセルはマージされていません");
}
}
{
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