クリップボードのデータからペースト先のセル範囲を取得する方法

文書番号 : 28842     文書種別 : 使用方法     最終更新日 : 2010/04/02
文書を印刷する
対象製品
SPREAD for Windows Forms 5.0J
詳細
シート上でのペースト(Ctrl+V)時にはClipboardPastingイベントが発生するので、
同イベントにおいて、以下のようにクリップボード内のデータからペースト対象となるセル範囲を取得することが可能です。

【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


【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);
}
関連情報
キーワード
「クリップボード」

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