SpreadJSでは、pasteSkipInvisibleRangeプロパティを使用して非表示範囲にデータを貼り付けるかどうかを指定できます。デフォルトでは、データが非表示のセル、行や列に貼り付けられます。
非表示範囲にデータを貼り付けないようにするには、pasteSkipInvisibleRangeプロパティをTrueに設定します。これにより、データが範囲内の表示されるセルのみに貼り付けられ、非表示のセル、行や列はスキップされます。
pasteSkipInvisibleRange = Trueの場合 | pasteSkipInvisibleRange = False(デフォルト)の場合 |
---|---|
SpreadJSでは、次の状態のセル、行や列が非表示とみなされます。
次は、pasteSkipInvisibleRangeプロパティをサポートする機能とその場合の動作の一覧です。
コピー対象オブジェクト |
コピー前の状態 |
pasteSkipInvisibleRange = True | pasteSkipInvisibleRange = False |
---|---|---|---|
値 | セルに属します |
対象セルが非表示の場合、次の有効な表示行または列に貼り付けます。 範囲が非表示のままの場合、効果はコピーされた範囲と同じです。 コピーされた範囲が有効ではない場合、貼り付けられません。 貼り付けた範囲の次に表示される行列の数が、コピーされた範囲の行列の数より少ない場合、範囲全体が貼り付けられません。 |
セルが非表示のままの場合は非表示になり、セルが表示されると値が表示されます。 範囲が表示されるようになると、効果はコピーされた範囲と同じです。 |
数式とSparklineEx | セルに接続します |
対象セルが非表示の場合、次の有効な表示行または列に貼り付けられます。 数式参照では非表示の範囲が考慮されるため、数式の結果は前の結果と異なる場合があります。 このプロパティは、シートへのDynamicArrayとArrayFormulaの貼り付けをサポートしません。たとえば、DynamicArrayをコピーしようとすると、シートには何も貼り付けられません。 |
ペーストされた値と同じ。 |
スタイル(CellStyle、CellButton、フォーマッター、およびCellType) | セルに属します |
対象セルが非表示の場合、次の有効な表示行または列に貼り付けます。 範囲が非表示のままの場合、効果はコピーされた範囲の効果と同じになります。 |
ペーストされた値と同じ。 |
ドラッグ移動 |
範囲を選択します | 移動長方形は非表示の範囲を考慮し、範囲長方形は拡大します。 | 非表示の範囲を考慮します。 |
コピー元セルの移動 | 範囲をコピーまたは切り取りします。 | 範囲を上下に移動すると、移動された範囲は非表示の範囲を考慮し、対象範囲は非表示の範囲を無視します。 |
非表示の範囲を考慮します。 |
カスタム名 |
セルや範囲の参照 |
参照型はセルの場合、新規のcustomName参照が新規セルに変更され、非表示の範囲を無視します。 参照型が範囲の場合、新規のcustomName参照が非表示の範囲を考慮します。 |
移動後、customName参照が新規範囲に変更します。 |
コメント | セルに属します |
ペーストされた値と同じ。 |
ペーストされた値と同じ。 |
タグ | セルに属します |
ペーストされた値と同じ。 |
ペーストされた値と同じ。 |
ハイパーリンク | セルに属します |
ペーストされた値と同じ。 |
ペーストされた値と同じ。 |
バインディングパス | セルに属します |
ペーストされた値と同じ。 |
ペーストされた値と同じ。 |
ヘッダ | セルに属します | 対象の行や列が非表示の場合、ヘッダ領域の次の有効な表示行列に貼り付けます。コピーされた行列の数が、貼り付けた表示行列の数よりも多い場合は、値の一部のみを貼り付けます。 | 変更された値のみをコピー・貼り付けします。 |
セル状態 | セルに属します | セル状態を除き、セル値のみをコピーします。 | セル値のみをコピーし、セル状態をコピーしません。 |
スパークライン | セルに属します | データ範囲の参照は、数式の参照と同じです。 スパークライン領域は貼り付け値と同じです。 |
ペーストされた値と同じ。 スパークラインデータ範囲が非表示の場合、計算時に非表示範囲が無視されます。 |
データ検証 |
範囲のDataValidationを作成するときに、範囲として保存されます。 |
対象セルが非表示の場合、次の有効な表示行または列に貼り付けます。 |
コピーされたdataValidation範囲を貼り付けると、複数セルとして保存されます。 セルが非表示の時、非表示になり、セルが表示されると値が表示されます。 |
条件付き書式設定 | 範囲のConditionalFormatを作成するときに、範囲として保存されます。 |
対象セルが非表示の場合、次の有効な表示行または列に貼り付けます。 b。 同じ行または同じ列の複数の範囲をコピーすると、[a]のようにさらに小さな範囲に分割されます。 c。 範囲をコピーして複数の範囲に貼り付けると、[a]のように範囲が2つ以上の範囲に分割されます。 シートに複数の範囲のコピーと貼り付けはサポートしません。 |
セルが非表示の時、非表示になり、セルが表示されると値が表示されます。 a. シートに範囲をコピー・ペーストします。表示されると、コピーした範囲と同じです。 b. 同じ行や列を持つ複数範囲をコピーします。1つの範囲として貼り付けられますが、2つの範囲として保存されます。各範囲を独自に計算します。 c. 範囲を1つコピーして、複数範囲に貼り付けます。各範囲が独自に計算され、同じ結果を表示します。 シート内に複数範囲のコピー・ペーストをサポートしません。 |
セル結合 | 範囲全体 |
非表示範囲をスキップした結合セルの貼り付けをサポートしません。セル結合の結果は非表示範囲に貼り付けた場合と同じです。ただし、結合したセル内のセルを非表示範囲を除いて貼り付けます。 非表示範囲が表示されるようになると、結合セルがコピーされた範囲と同じになります。 |
範囲全体のままです。 非表示範囲が表示されるようになると、結合セルがコピーされた範囲と同じになります。 |
テーブル | テーブル全体 |
テーブルの一部のみをコピーすると、値とスタイルのみを次の有効な表示行列に貼り付けます。 テーブル全体を含む範囲をコピーして非表示の範囲に貼り付けると、テーブルは展開されませんが、非表示の範囲をスキップしてテーブルの値が貼り付けられます。 テーブルの右または下に貼り付けると、テーブルが自動展開をサポートしている場合、展開範囲には非表示範囲が含まれ、非表示範囲には値が含まれません。 |
テーブルの一部のみをコピーすると、値とスタイルのみを貼り付けます。 ただし、テーブル全体を含む範囲をコピーすると、テーブル全体が貼り付けられます。 範囲が表示するようになると、コピーされた範囲と同じ効果になります。 |
次のサンプルコードは、非表示範囲にデータを貼り付けない方法を示します。
JavaScript |
コードのコピー
|
---|---|
workbook.options.pasteSkipInvisibleRange = true;
|
SpreadJSデザイナの[設定]タブでは、[Spread設定]グループの[全般]オプションを選択して[Spread設定]ダイアログを表示します。このダイアログでは、[クリップボード]タブをクッリクし、[非表示の領域への取り付けをスキップする]チェックボックスを使用してスプレッドシート内の非表示範囲にデータを貼り付けるかどうかを有効・無効にすることができます。