ワークブックの基本操作

目次

新しいワークブックを作成

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)として保存できます。メソッド SaveToFileSaveTemplate は、ワークブックを *.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(); // ワークブックを削除

ワークブックを複製する

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;  
}