異なるSPREADのシート間でのコピーを行う方法が2種類あります。 一つはクリップボードを使う方法と、XML文字列を使う方法です。
■クリップボードを使う方法
コピー元のActiveSheetの「ClipboardCopy」メソッドを使うことで、指定された範囲のセルをクリップボードにコピーします。 その後、コピー先のActiveSheetの行・列の数を合わせておいて、「ClipboardPaste」メソッドで貼付を行います。 以下のソースでは、「Button1_Click」の処理です。
■XML文字列を使う方法
コピー元のシートを「GetObjectXml」メソッドにてシリアライズ化しXML文字列化します。 その後、コピー先のシートに「SetObjectXml」メソッドにてXML文字列を逆シリアライズ化してやります。 以下のソースでは、「Button2_Click」の処理です。
尚、ここではやっていませんが、数式を含むシートの場合には、シートの追加後にLoadFormulasメソッドを呼び出すことで数式が有効になるそうです。
下図は、プログラムが起動した時の表示です。
下図は、「Button2」をクリック後の表示です。「Button1」と「Button2」では若干結果が異なります。 「Button1」では行選択状態はコピーされず、左上のセルがアクティブになります。 「Button2」は行選択状態もコピーされる様です。
■関連記事
⇒VB.NET:SpreadでのEnter時にセルを右移動させる方法
⇒VB.NET:Spreadでフォーカスを持っていない時にセル枠を表示しない設定
⇒VB.NET:Spreadのヘッダカラム及び、通常のカラムの連結
⇒VB.NET:Spreadのシートへの簡単な一覧データの設定について
⇒VB.NET:Spreadのシートのセルにボタン、テキスト、チェックボックスのセルタイプの設定
⇒VB.NET:Spreadのセルのボタンクリック時のイベント処理
⇒VB.NET:Spreadのセルへのデータ設定の描画速度アップ
⇒VB.NET:Spreadのセルのチップウインドウで別に設定された文字列を表示する
⇒VB.NET:Spreadでデータ一覧表示を簡単に行う方法について
⇒VB.NET:Spreadデータ一覧表示での行選択処理(CellDoubleClickイベント , KeyDownイベント)
⇒VB.NET:Spreadデータ一覧表示での行選択処理(CellDoubleClickイベント , KeyDownイベント)その2
⇒VB.NET:Spreadデータ一覧表示での自動ソート実行時に複数のソート条件を指定する方法について
⇒VB.NET:SpreadでのCSV出力とCSV入力を使って、異なるSPREADコントロール間でシートデータのコピーを行う方法
⇒VB.NET:SpreadシートのPDF出力と表示を行う方法
⇒VB.NET:2個のSpread間での[Enter]キー、矢印キーなどでフォーカス移動を行う方法
⇒VB.NET:Spreadの数値セルタイプを使ってデータメンテナンスのプログラムに使う方法
⇒VB.NET:Spreadのテキストセルでバイト数入力制限を掛ける方法
⇒VB.NET:Spreadのチェックボックス型セルにはCheckChangedイベントを、ボタン型セルにはClickイベントの発生方法