ページにアクセスする

Originのページはワークブック、行列ブック、グラフで構成され、プロジェクト内の中核的なオブジェクトです。Origin Cは名前またはインデックスでページにアクセスでき、foreachステートメントを使って現在のプロジェクトの特定のページタイプのすべてのインスタンスにアクセスできます。

名前とインデックスでページにアクセスする

すべてのページには名前があり、次のサンプルで示すように、ページにアクセスするために使用することができます。

// ページの名前でページにアクセス
GraphPage gp1("Graph1");	

//0から始まるインデックスでページにアクセス
GraphPage gp2 = Project.GraphPages(0); // 最初のページは0

アクティブページとレイヤを取得する

ワークブックページではレイヤはワークシート、グラフページではレイヤは対の軸、行列ページではレイヤは行列シートです。

アクティブレイヤのような、特定のレイヤに結びついているページにアクセスしたい場合、Layer::GetPageメソッドを使って行うことができます。

// アクティブレイヤを取得
GraphLayer gl = Project.ActiveLayer();

// レイヤからアクティブページを取得
GraphPage gp = gl.GetPage();

1つのページをアクティブにする

ウィンドウをアクティベートしたいときは、PageBase::SetShow(PAGE_ACTIVATE) を使用します。

// Graph2という名称のグラフウィンドウを付ける
GraphPage gp( "Graph2" ); 

// ウィンドウをアクティブに設定する
gp.SetShow( PAGE_ACTIVATE );

foreachを使う

Foreach ステートメントは、コレクション内のすべての項目に対するループの処理を簡単にします。 プロジェクトはさまざまなコレクションのすべてのページを含みます。

// 現在のプロジェクトのすべてのワークブックをループし
// 各ページの名前を出力
foreach( WorksheetPage wksPage in Project.WorksheetPages )
{
    out_str(wksPage.GetName());
}
// 現在のプロジェクトのすべての行列ブックをループし
// 各ページの名前を出力
foreach( MatrixPage matPage in Project.MatrixPages )
{
    out_str(matPage.GetName());
}
// 現在のプロジェクトのすべてのグラフをループし
// 各ページの名前を出力
foreach( GraphPage gp in Project.GraphPages )
{
    out_str(gp.GetName());
}
// 現在のプロジェクトのすべてのページをループし
// 各ページの名前を出力
foreach( PageBase pg in Project.Pages )
{
    out_str(pg.GetName());
}