セルの値のみのペースト機能を実装する方法
対象製品
SPREAD for Windows Forms 7.0J
詳細
セルのコピー&ペースト(またはカット&ペースト)を行った場合、デフォルト定義では値・書式・数式を含むすべてのデータオブジェクトを貼り付けますが、ここでは値のみをペーストする方法をいくつか紹介します。用途に合わせてご活用下さい。
◎方法1:入力マップの定義による実装
デフォルトの入力マップでは、[Ctrl]+[V]による動作には「ClipboardPasteAll」が定義されています。
この定義を「ClipboardPasteValues」に変更することで、値のみのペースト機能を実装出来ます。
◆サンプルコード(VB)
◆サンプルコード(C#)
◎方法2:ClipboardPasteメソッドの使用による実装
SheetViewクラスより提供されているClipboardPasteメソッドを利用し、貼り付けオプションを指定することで値のみのペースト機能を実装出来ます。
◆サンプルコード(VB)
◆サンプルコード(C#)
◎方法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
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);
}
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
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);
}
{
fpSpread1.ActiveSheet.ClipboardPaste(FarPoint.Win.Spread.ClipboardPasteOptions.Values);
}
関連情報
- 通常モードのセルに対するデータ貼り付け(CopyAndPaste)のタイミングを取得する方法
- コンテキストメニューから[切り取り][コピー][貼り付け]を行うには
- 【Tips】セルの値のみのカット&ペーストを実装する方法
- ペースト時にChangeイベントが発生しません
- クリップボードへのコピー時に非表示のセルを除外したい
キーワード
「クリップボード」