[]
ユーザーは、ウィジェット内でデータの切り取り、コピー、貼り付けを行えます。
切り取り、コピー、および貼り付けを使用する場合は、次の条件が適用されます。
貼り付けを行う場合、アクティブセルがターゲット範囲の先頭セルとなります。
コピーおよび貼り付けを行う場合、ターゲット範囲のサイズは、ソース範囲のサイズに合わせて変更される場合があります。
ターゲット範囲が縁の近くにある場合、またはソース範囲にターゲット範囲よりも多くの行または列がある場合、行または列をさらに追加できます。(WorkbookオプションのallowExtendPasteRangeプロパティをtrueに設定します)。
同じの行数や列数を持つ複数の範囲をセルの単一のブロックにコピーして貼り付けることができます。
単一の行およびセルの範囲をコピーする場合、フィルタされた行がコピーされません。フィルタされた行は、データを切り取るときに含まれます。範囲全体がクリップボードにコピーされます。
セル値のコピーまたは切り取りを行った後に、インジケータを表示できます。インジケータの表示を指定するには options.cutCopyIndicatorVisible プロパティ-を、インジケータの境界線の色を指定するには options.cutCopyIndicatorBorderColor プロパティ-を使用します。次の図は、セルブロックを選択し、[Ctrl]+[C]キーを押した後に表示されるインジケータを示します。

Workbook options.copyPasteHeaderOptionsを使用して、ヘッダーをコピーして貼り付けるかどうかを指定できます。
メモ: options.clipBoardOptionsプロパティは、データのコピーおよびデータの貼り付けのみに適用されます。
いくつかのスタイルはExcelからコピーまたはExcelに貼り付けることもできます。詳細については、「Excelオブジェクトのコピーと貼り付け」を参照してください。
次のサンプルコードは、貼り付けオプションを指定します。
activeSheet.options.clipBoardOptions = GC.Spread.Sheets.ClipboardPasteOptions.Values;次のサンプルコードは、コードを使用してコピーおよび貼り付けを行います。
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"),{sheetCount:3});
var sheet = spread.getActiveSheet();
sheet.setValue(0, 0, 1, GC.Spread.Sheets.SheetArea.viewport);
sheet.setValue(1, 0, 2, GC.Spread.Sheets.SheetArea.viewport);
sheet.setFormula(2, 0, "=A1+A2", GC.Spread.Sheets.SheetArea.viewport);
sheet.setValue(0, 1, 3, GC.Spread.Sheets.SheetArea.viewport);
sheet.setValue(1, 1, 4, GC.Spread.Sheets.SheetArea.viewport);
sheet.setFormula(2, 1, "=B1+B2", GC.Spread.Sheets.SheetArea.viewport);
var fromRange = new GC.Spread.Sheets.Range(0, 0, 3, 2);
var toRanges = [new GC.Spread.Sheets.Range(5, 0, 3, 2)];
$("#button1").click(function () {
// 切り取りおよび貼り付け操作です
spread.commandManager().execute({cmd: "clipboardPaste", sheetName: "Sheet1", fromSheet: sheet, fromRange: fromRange, pastedRanges: toRanges, isCutting: true, clipboardText: "", pasteOption: GC.Spread.Sheets.ClipboardPasteOptions.all});
});
$("#button2").click(function () {
spread.commandManager().execute({cmd: "clipboardPaste", sheetName: "Sheet1", fromSheet: sheet, fromRange: fromRange, pastedRanges: toRanges, isCutting: false, clipboardText: "", pasteOption: GC.Spread.Sheets.ClipboardPasteOptions.all});
});次のサンプルコードは、デフォルトの切り取り、コピー、および貼り付けキーを無効にします。
window.onload = function(){
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"),{sheetCount:3});
var activeSheet = spread.getActiveSheet();
spread.commandManager().setShortcutKey(undefined, GC.Spread.Commands.Key.c, true, false, false, false);
spread.commandManager().setShortcutKey(undefined, GC.Spread.Commands.Key.v, true, false, false, false);
spread.commandManager().setShortcutKey(undefined, GC.Spread.Commands.Key.x, true, false, false, false);
}次のサンプルコードは、貼り付け操作をキャンセルします。
$(document).ready(function () {
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"),{sheetCount:3});
var sheet = spread.getActiveSheet();
sheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, function (e, args) {
args.cancel = true;
});
});