作成日: 2018/05/11 最終更新日: 2018/05/11
文書種別
不具合
状況
修正済み
詳細
セルがロックされている場合、v10以前のバージョンでは、クリップボードから貼り付けを行うことができませんでしたが、v11の初版では、貼り付けオプションの設定によって、貼り付けられる場合があります。
なお、この動作はClipboardPasteメソッドを使用する時だけではなく、入力マップをカスタマイズした場合にも発生します。
■再現用サンプルコード(C#)
■再現手順
1. "A1"セルを選択し、[Ctrl+C]キーを押してコピーします。
2. 別の空白セルを選択し、[Ctrl+V]キーを押して貼り付けます。
→コピーした"A1"セルの値が、そのセルに貼り付けられます。
なお、この動作はClipboardPasteメソッドを使用する時だけではなく、入力マップをカスタマイズした場合にも発生します。
■再現用サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
// セルに値を設定します。
fpSpread1.ActiveSheet.Cells[0, 0].Text = "test";
// シートを保護します。
fpSpread1.ActiveSheet.Protect =true;
// 入力マップを変更します。
FarPoint.Win.Spread.InputMap im;
im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused);
// ※[Ctrl+V]時の動作を"値の貼り付け"に変更します。
im.Put(new FarPoint.Win.Spread.Keystroke(Keys.V, Keys.Control),
FarPoint.Win.Spread.SpreadActions.ClipboardPasteValues);
}
{
// セルに値を設定します。
fpSpread1.ActiveSheet.Cells[0, 0].Text = "test";
// シートを保護します。
fpSpread1.ActiveSheet.Protect =true;
// 入力マップを変更します。
FarPoint.Win.Spread.InputMap im;
im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused);
// ※[Ctrl+V]時の動作を"値の貼り付け"に変更します。
im.Put(new FarPoint.Win.Spread.Keystroke(Keys.V, Keys.Control),
FarPoint.Win.Spread.SpreadActions.ClipboardPasteValues);
}
■再現手順
1. "A1"セルを選択し、[Ctrl+C]キーを押してコピーします。
2. 別の空白セルを選択し、[Ctrl+V]キーを押して貼り付けます。
→コピーした"A1"セルの値が、そのセルに貼り付けられます。
回避方法
Service Pack 1(v11.0.4502.2012)で修正済み。
旧文書番号
41787