今回は「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]);
複数のワークシートを移動
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]);
上記コードを実装しているサンプルは以下です。
また、以下のデモでも動作を確認できます。
さいごに
弊社Webサイトでは、製品の機能を気軽に試せるデモアプリケーションやトライアル版も公開していますので、こちらもご確認いただければと思います。
また、ご導入前の製品に関するご相談やご導入後の各種サービスに関するご質問など、お気軽にお問合せください。