クリップボードのデータからペースト先のセル範囲を取得する方法
対象製品
SPREAD for Windows Forms 5.0J
詳細
シート上でのペースト(Ctrl+V)時にはClipboardPastingイベントが発生するので、
同イベントにおいて、以下のようにクリップボード内のデータからペースト対象となるセル範囲を取得することが可能です。
【VB サンプルコード】
【C# サンプルコード】
同イベントにおいて、以下のようにクリップボード内のデータからペースト対象となるセル範囲を取得することが可能です。
【VB サンプルコード】
Private Sub FpSpread1_ClipboardPasting(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.ClipboardPastingEventArgs) Handles FpSpread1.ClipboardPasting
' クリップボード内のデータ取得
Dim data As FarPoint.Win.Spread.CellInfoRange = Clipboard.GetData("FarPoint.Win.Spread.CellInfoRange")
Dim row1 As Integer = FpSpread1.ActiveSheet.ActiveRowIndex
Dim col1 As Integer = FpSpread1.ActiveSheet.ActiveColumnIndex
MessageBox.Show("ペースト開始行インデックス:" & row1 & System.Environment.NewLine & _
"ペースト開始列インデックス:" & col1 & System.Environment.NewLine & _
"ペースト行数:" & data.RowCount & System.Environment.NewLine & _
"ペースト列数:" & data.ColumnCount)
End Sub
' クリップボード内のデータ取得
Dim data As FarPoint.Win.Spread.CellInfoRange = Clipboard.GetData("FarPoint.Win.Spread.CellInfoRange")
Dim row1 As Integer = FpSpread1.ActiveSheet.ActiveRowIndex
Dim col1 As Integer = FpSpread1.ActiveSheet.ActiveColumnIndex
MessageBox.Show("ペースト開始行インデックス:" & row1 & System.Environment.NewLine & _
"ペースト開始列インデックス:" & col1 & System.Environment.NewLine & _
"ペースト行数:" & data.RowCount & System.Environment.NewLine & _
"ペースト列数:" & data.ColumnCount)
End Sub
【C# サンプルコード】
private void FpSpread1_ClipboardPasting(object sender, FarPoint.Win.Spread.ClipboardPastingEventArgs e)
{
// クリップボード内のデータ取得
FarPoint.Win.Spread.CellInfoRange data = (FarPoint.Win.Spread.CellInfoRange)Clipboard.GetData("FarPoint.Win.Spread.CellInfoRange");
int row1 = FpSpread1.ActiveSheet.ActiveRowIndex;
int col1 = FpSpread1.ActiveSheet.ActiveColumnIndex;
MessageBox.Show("ペースト開始行インデックス:" + row1 + System.Environment.NewLine +
"ペースト開始列インデックス:" + col1 + System.Environment.NewLine +
"ペースト行数:" + data.RowCount + System.Environment.NewLine +
"ペースト列数:" + data.ColumnCount);
}
{
// クリップボード内のデータ取得
FarPoint.Win.Spread.CellInfoRange data = (FarPoint.Win.Spread.CellInfoRange)Clipboard.GetData("FarPoint.Win.Spread.CellInfoRange");
int row1 = FpSpread1.ActiveSheet.ActiveRowIndex;
int col1 = FpSpread1.ActiveSheet.ActiveColumnIndex;
MessageBox.Show("ペースト開始行インデックス:" + row1 + System.Environment.NewLine +
"ペースト開始列インデックス:" + col1 + System.Environment.NewLine +
"ペースト行数:" + data.RowCount + System.Environment.NewLine +
"ペースト列数:" + data.ColumnCount);
}
関連情報
- ヘッダ部のコピーだけ有効にし、ヘッダ部への文字の貼り付けを無効にする方法
- クリップボードへのコピー時に非表示の行列を除外する方法
- ペースト時にChangeイベントが発生しません
- 【Tips】セルの値のみのカット&ペーストを実装する方法
- オペレーションモードを行選択モード(RowMode)にするとセルの値をクリップボードへコピーできません
キーワード
「クリップボード」
この文書は、以前は次のFAQ IDで公開されていました : 13019