セルの値のみのペースト機能を実装する方法

文書番号 : 38838     文書種別 : 使用方法     登録日 : 2015/06/25     最終更新日 : 2015/06/25
文書を印刷する
対象製品
SPREAD for Windows Forms 8.0J
詳細
セルのコピー&ペースト(またはカット&ペースト)を行った場合、デフォルト定義では値・書式・数式を含むすべてのデータオブジェクトを貼り付けますが、ここでは値のみをペーストする方法をいくつか紹介します。用途に合わせてご活用ください。

◎方法1:入力マップの定義による実装
デフォルトの入力マップでは、[Ctrl]+[V]による動作には「ClipboardPasteAll」が定義されています。
この定義を「ClipboardPasteValues」に変更することで、値のみのペースト機能を実装できます。

◎サンプルコード(VB)
Imports FarPoint.Win.Spread

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
  Dim im As New InputMap
  im = FpSpread1.GetInputMap(InputMapMode.WhenFocused)
  im.Put(New Keystroke(Keys.V, Keys.Control), SpreadActions.ClipboardPasteValues)
End Sub


◎サンプルコード(C#)
using FarPoint.Win.Spread;

private void Form1_Load(object sender, System.EventArgs e)
{
  InputMap im;
  im = fpSpread1.GetInputMap(InputMapMode.WhenFocused);
  im.Put(new Keystroke(Keys.V, Keys.Control), SpreadActions.ClipboardPasteValues);
}


◎方法2:ClipboardPasteメソッドの使用による実装
SheetViewクラスより提供されているClipboardPasteメソッドを利用し、貼り付けオプションを指定することで値のみのペースト機能を実装できます。

◎サンプルコード(VB)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  FpSpread1.ActiveSheet.ClipboardPaste(FarPoint.Win.Spread.ClipboardPasteOptions.Values)
End Sub


◎サンプルコード(C#)
private void button1_Click(object sender, System.EventArgs e)
{
  fpSpread1.ActiveSheet.ClipboardPaste(FarPoint.Win.Spread.ClipboardPasteOptions.Values);
}
キーワード
クリップボード