OriginはOrigin Cを使用して、分割、統合などブックを操作するための機能を提供しています。
複数のワークブックを統合して一つにまとめる場合、実際には、ソースワークシートからターゲットワークブックにコピーします。ワークブックにワークシートを追加するには、AddLayerメソッドを使用できます。
次のサンプルは、現フォルダ内のすべてのワークブックを統合して新しいワークブックを作成します。
WorksheetPage wksPgTarget; wksPgTarget.Create("Origin"); // 目的のワークブックを作成 Folder fld = Project.ActiveFolder(); // アクティブ/現在のフォルダを取得 foreach(PageBase pb in fld.Pages) { // フォルダ内全ページでループ WorksheetPage wksPgSource = pb; // Page から WorksheetPageに変換 // 変換失敗の場合、つまりPageがWorksheetPageでない場合 if(!wksPgSource) { continue; // 次のぺージ } // 目的のワークブックをスキップ if(wksPgTarget.GetName() == wksPgSource.GetName()) { continue; } // ワークブック内のすべてのワークシートで統合をループ foreach(Layer lay in wksPgSource.Layers) { Worksheet wks = lay; // ワークシート取得 // ワークブックにワークシート追加 wksPgTarget.AddLayer(wks, 0, false); } // ソースワークブックを保持しない場合破棄 wksPgSource.Destroy(); }
上記のサンプルでは複数のワークブックを統合して一つにまとめました。ワークブックを分割し、単一ワークシートを持つ複数のブックにすることもできます。
WorksheetPage wksPgSource("Book1"); // 複数シートを持つワークブック // 全ワークシートでループ foreach(Layer lay in wksPgSource.Layers) { Worksheet wks = lay; // ワークシートを取得 WorksheetPage wksPgTarget; wksPgTarget.Create("Origin"); // 新しいワークブックを作成 wksPgTarget.AddLayer(wks); // 新しいワークブックにワークシートを追加 wksPgTarget.Layers(0).Destroy(); // 最初のワークシートを削除 }