ワークブックの基本操作
新しいワークブックを作成 Workbook, CreateMatrixbook, CreateTemplateHidden Page, Create
Create メソッドは、新しいワークブックの作成に使用されます。
// STAT テンプレートを使用して非表示のワークブックを作成
WorksheetPage wksPg;
wksPg.Create("STAT", CREATE_HIDDEN);
ワークブックを開く
ワークブックのデータが、拡張子ogwのファイルとして保存されている場合、Open メソッドで開く事ができます。
Worksheet wks; // ワークシートに属したOpenメソッド
string strOGW = "D:\\Book1.ogw"; // ワークブックのパス
wks.Open(strOGW); // ワークブックを開く
ワークブックにアクセスする
既存のワークブックにアクセスするには、複数の方法があります。Project クラスは、プロジェクト内の全ワークブックのコレクションを含みます。次のサンプルでは、それらをどのようにループするかを示します。
foreach(WorksheetPage wksPg in Project.WorksheetPages)
out_str(wksPg.GetName()); //ワークブック名出力
また、Collection クラスのItemメソッドに、ワークブックのインデックスを渡すことによってワークブックにアクセスできます。
WorksheetPage wksPg;
wksPg = Project.WorksheetPages.Item(2);
if(wksPg) // 3番目のワークブックがある場合
out_str(wksPg.GetName()); // ワークブック名を出力
ワークブック名がわかっている場合、クラスコンストラクタにその名前を渡すことで、ワークブックにアクセスできます。
WorksheetPage wksPg("Book1");
if(wksPg) // ワークブック名が"Book1"のワークブックがある場合
wksPg.SetName("MyBook1"); // ワークブックの名前を変更
ワークブックを保存する
Originはワークブックのデータをファイル(拡張子 .ogw)として保存、データなしのテンプレートで保存(拡張子 .ogw)、分析を行ったワークブックに関しては分析テンプレート(拡張子 .ogw)として保存できます。メソッド SaveToFile と SaveTemplate は、ワークブックを *.ogw と *.otw ファイルとして保存するのに使用されます。
WorksheetPage wksPg("Book1");
// ワークブックを OGW ファイルとして保存
bool bRet1 = wksPg.SaveToFile("D:\\" + wksPg.GetName() + ".ogw");
// ワークブックを OTW テンプレートとして保存
bool bRet2 = wksPg.SaveTemplate("D:\\" + wksPg.GetName() + ".otw");
ワークブックの表示と非表示
WorksheetPage クラスは、OriginObjectクラスからShowプロパティを継承し、自身の表示/非表示を決めます。
WorksheetPage wksPg("Book1");
wksPg.Show = false; // ワークブックを非表示にする。trueの場合、ワークブックを表示。
ワークブックをアクティブにする
ワークブックをアクティブにするために、PAGE_ACTIVATEパラメータ値を渡すことによって、SetShowメソッドを使用できます。
WorksheetPage wksPg("Book1");
wksPg.SetShow(PAGE_ACTIVATE); // ワークブックをアクティブにする
// 異なる値を渡すことで多くの操作を完了できます。たとえば、
// wksPg.SetShow(PAGE_HIDDEN); // ワークブック非表示
// wksPg.SetShow(PAGE_MINIMIZED); // ワークブック最小化
// wksPg.SetShow(PAGE_MAXIMIZED); // ワークブック最大化
ワークブックを削除する
すべてのOrigin Cの内部クラスは、OriginObjectクラスから派生したものです。 このクラスは、オブジェクトを破棄するのに使用するDestroyメソッドがあります。ワークブックまたは行列ブックでこのメソッドを呼び出すと、ワークブックの中にあるすべてのシート、各シート内のすべての列または行列オブジェクトを削除します。
WorksheetPage wksPg;
wksPg = Project.WorksheetPages.Item(0); // プロジェクト内の最初のワークブックを取得
if( wksPg ) // ワークブックがあれば
wksPg.Destroy(); // ワークブックを削除
ワークブックを複製するPage CloneClone PagePage, CloneDuplicate Window
WorksheetPageクラス(ワークブックに対して)は、Pageクラスから派生したものです。このクラスは、元のページを複製するのに使用するCloneメソッドがあります。
// データとスタイルと一緒に "Book1"を複製
// 呼び出す前にウィンドウが存在することを確認
WorksheetPage wksPage("Book1");
WorksheetPage wksPage1 = wksPage.Clone();
ワークブックに名前とラベルを付ける
ワークブックにはショートネーム、ロングネーム、コメントがあります。ワークブックにはショートネーム、ロングネーム、コメントがあります。 OriginObjectクラスで定義された継承メソッドSetName, SetLongName, SetCommentsは、ワークブック名(ショートネーム、ロングネームとも)とコメントを制御するために使用できます。
WorksheetPage wksPg("Book1");
if(wksPg)
{
wksPg.SetName("MyBook"); // ワークブック名変更
wksPg.SetLongName("This is Long Name", false); // ロングネームをセット
wksPg.SetComments("Comments"); // コメントをセット
}
また、Label プロパティもロングネーム変更に使用できます。TitleShow プロパティじゃワークブックタイトルにロングネーム、ショートネームをどのように表示するか制御します。
WorksheetPage wksPg1("Book2");
if(wksPg1)
{
wksPg1.Label = "My Label"; // ラベル(ロングネームともいう)をセット
// ワークブックタイトルにはラベルのみ表示
wksPg1.TitleShow = WIN_TITLE_SHOW_LABEL;
// ワークブックタイトルにはショートネームのみ表示
// wksPg1.TitleShow = WIN_TITLE_SHOW_NAME;
// ワークブックタイトルにショートネームとラベル両方表示
// wksPg1.TitleShow = WIN_TITLE_SHOW_BOTH;
}
|