複数のワークシートをコピー、移動する

今回は「DioDocs(ディオドック)」の機能で、Excelファイルに含まれる複数のワークシートを一度にコピーしたり移動する方法を紹介します。

ワークシートのコピーや移動は、DioDocs for Excelの従来バージョンでも用意されていた機能ですが、2023年6月21日(水)にリリースされた「DioDocs V6J SP1」では、一度に複数のワークシートをコピーしたり移動できるようになっています。

複数のワークシートをコピー

IWorksheetsインターフェイスに新しく追加された以下のメソッドを使用して、複数のワークシートを一度にコピーできるようになっています。

  • Copy:複数のワークシートを指定したワークブックの最後にコピー
  • CopyAfter:複数のワークシートを指定したワークシートの前にコピー
  • CopyBefore:複数のワークシートを指定したワークシートの後にコピー
// ワークブックを開く
var workbook = new GrapeCity.Documents.Excel.Workbook();
workbook.Open("multiworksheet.xlsx");

// Sheet1とSheet2を末尾にコピー
workbook.Worksheets[new string[] { "Sheet1", "Sheet2" }].Copy();

// Sheet1とSheet2をSheet3の後にコピー
workbook.Worksheets[new string[] { "Sheet1", "Sheet2" }].CopyAfter(workbook.Worksheets[2]);

// Sheet1とSheet2をSheet1の前にコピー
workbook.Worksheets[new string[] { "Sheet1", "Sheet2" }].CopyBefore(workbook.Worksheets[0]);
Sheet1とSheet2を末尾にコピー
Sheet1とSheet2を末尾にコピー
Sheet1とSheet2をSheet3の後にコピー
Sheet1とSheet2をSheet3の後にコピー
Sheet1とSheet2をSheet1の前にコピー
Sheet1とSheet2をSheet1の前にコピー

複数のワークシートを移動

IWorksheetsインターフェイスに新しく追加された以下のメソッドを使用して、複数のワークシートを一度に移動できるようになっています。

  • Move:複数のワークシートを指定したワークブックの最後に移動
  • MoveAfter:複数のワークシートを指定したワークシートの前に移動
  • MoveBefore:複数のワークシートを指定したワークシートの後に移動
// ワークブックを開く
var workbook = new GrapeCity.Documents.Excel.Workbook();
workbook.Open("multiworksheet.xlsx");

// Sheet1とSheet2を末尾に移動
workbook.Worksheets[new string[] { "Sheet1", "Sheet2" }].Move();

// Sheet1とSheet2をSheet3の後に移動
workbook.Worksheets[new string[] { "Sheet1", "Sheet2" }].MoveAfter(workbook.Worksheets[2]);

// Sheet3とSheet4をSheet1の前に移動
workbook.Worksheets[new string[] { "Sheet3", "Sheet4" }].MoveBefore(workbook.Worksheets[0]);
Sheet1とSheet2を末尾に移動
Sheet1とSheet2を末尾に移動
Sheet1とSheet2をSheet3の後に移動
Sheet1とSheet2をSheet3の後に移動
Sheet3とSheet4をSheet1の前に移動
Sheet3とSheet4をSheet1の前に移動

上記コードを実装しているサンプルは以下です。

また、以下のデモでも動作を確認できます。

さいごに

弊社Webサイトでは、製品の機能を気軽に試せるデモアプリケーションやトライアル版も公開していますので、こちらもご確認いただければと思います。

また、ご導入前の製品に関するご相談やご導入後の各種サービスに関するご質問など、お気軽にお問合せください。

\  この記事をシェアする  /