ワークブックの基本操作ワークブックはPageオブジェクトと Windowコマンドで操作できます。また、データ操作用のXファンクションを使うこともできます。これらのツールを使用すると、新しいワークブックの作成、ワークブックの複製、ワークブックをテンプレートとして保存等を行えます。実践的なサンプルは以下の通りです。
新しいワークブックを作成する
newbook Xファンクションを使うと、新しいワークブックを作成できます。このXファンクションの引数として、新たに作成するワークブックのロングネーム、シート数、使用するテンプレート、非表示にするか等を選択できます。
//ロングネーム"MyResultBook"の新しいワークブックを作成
newbook MyResultBook;
// 3つのワークシートを持つ新しいワークブックを作成
// ロングネームとショートネームに "MyData" を使用
newbook name:="MyData" sheet:=3 option:=lsname;
// 非表示の新しいワークブックを作成
// ワークブックの名前は myBkName$ 変数に格納
newbook hidden:=1 result:=myBkName$;
// ワークブック名を出力
myBkName$ = ;
// デフォルトでは、ビルトインテンプレートである"Origin"が使われる
// 新しいワークブックを作成すると特定のテンプレートを使用可能
// XYZ テンプレートを使用して、新しいワークブックを作成
newbook template:=XYZ;
win -tiコマンドはテンプレートファイルから最小化した新しいワークブックを作成できます。
// FFT テンプレートを使用して新しいワークブックを作成
// ロングネームとショートネームを MyFFT に設定し、最小化
win -ti wks FFT MyFFT;
ワークブックを開く
ワークブックのデータが拡張子ogwのファイルとして保存されている場合、doc -oコマンドで開く事ができます。
// 開くワークブックのパス
string strName$ = system.path.program$;
strName$ += "Samples\Graphing\Automobile Data.ogw";
// ワークブックを開く
doc -o %(strName$);
ワークブックを保存する
Originはワークブックのデータをファイル(拡張子 .ogw)として保存、データなしのテンプレートで保存(拡張子 .otw)、分析を行ったワークブックに関しては分析テンプレート(拡張子 .ogw)として保存できます。
- save -iコマンドはアクティブなワークブックをogwファイルとして保存できます。
// 新しいワークブックを作成
newbook;
// col(1)に適当なデータを入力
col(1) = uniform(32);
// このデータ付きのワークブックをUser Filesフォルダ内にMyData.ogw として保存
save -i %YMyData.ogw;
- template_saveas Xファンクションはワークブックをテンプレートとして保存する時に使用します。
// 3つのシートを持った新しいワークブックを作成
newbook sheet:=3;
// このワークブックをテンプレートとしてMy3SheetsBookという名前で
// User Filesフォルダ(デフォルト)に保存
template_saveas template:=My3SheetsBook;
- 行った分析と共にワークブックを保存するには、save -ikを使用します。
// プロジェクトを作成
string strOpj$ = system.path.program$ + "Samples\Analysis.opj";
doc -o %(strOpj$);
// 分析テンプレートとしてワークブックを保存するためワークブックをアクティブに
win -a Book1J;
// このワークブックを分析テンプレートとして
// MyAnalysis.ogw というファイル名でUser Filesフォルダに保存
save -ik %YMyAnalysis.ogw;
ワークブックを閉じる
ワークブックを閉じるには、ワークブックの右上にある閉じるボタンをクリックするだけです。この挙動はwin -caコマンドで実行でき、ダイアログがポップアップしてユーザに削除か非表示を選択するように求めます。
// ワークブックを作成し、名前は変数MyBook$ に格納
newbook result:=MyBook$;
// 閉じるボタンをクリックする様子をシミュレートする
win -ca %(MyBook$);
ポップアップをせずにワークブックを閉じて全てのデータを削除するにはwin -cdコマンドを使用できます。この操作は以下にあるワークブックを削除する項目と同じです。
// 閉じるために新しいワークブックを作成
newbook;
// ポップアップなしでワークブックを閉じて全てのデータを削除
win -cd %H;
ワークブックの表示と非表示
winコマンドには3つのスイッチ( -ch, -h, -hc) があり、ワークブックの表示と非表示を切り替える事ができます。
// 非表示にするために3つのワークブックを作成
newbook name:=MyBook1 option:=lsname; // 1番目のワークブック、 MyBook1
newbook name:=MyBook2 option:=lsname; // 2つ目のワークブック、MyBook2
newbook name:=MyBook3 option:=lsname; // 3つ目のワークブック、 MyBook3;
// -chを使ってアクティブなワークブック、MyBook3を非表示にする
// プロジェクト・エクスプローラの表示モードは非表示
win -ch 1;
// -hc を使用して1番目のワークブック(アクティブではありません)// MyBook1を非表示にする
// プロジェクト・エクスプローラの表示モードは非表示
win -hc 1 MyBook1;
// -h を選択して2番目のワークブック(アクティブなワークブック)// MyBook2を非表示にする
// プロジェクト・エクスプローラの表示モードはまだ通常通り
win -h 1;
// 実際、 MyBook2 はまだアクティブなワークブックなので、
// 以下のようにすると表示可能
win -h 0;
// MyBook1 と MyBook3を表示するには、-hcスイッチを使用して、
// ワークブック名を指定する必要がある
win -hc 0 MyBook1;
win -hc 0 MyBook3;
ワークブックに名前とラベルを付ける
ワークブックにはショートネーム、ロングネーム、コメントがあります。ワークブックの名前(ショートネーム)を変更するにはwin -rコマンドを使用し、pageオブジェクトを使用すると、ワークブックのタイトル(ショートネーム、ロングネーム、両方)表示を含む、ロングネームとコメントを制御できます。
// "Data"と名前がつけた新しいワークブックを作成
// 両方の名前をタイトルに表示
// ショートネームとロングネームは同じです
// ワークブックのタイトルはショートネームのみを表示
newbook name:=Data option:=lsname;
// ワークブックの名前を"RawData"に変更
win -r Data RawData;
// ロングネームを "FFT Data"に変更
page.longname$ = "FFT Data";
// コメント"1st group data for fft"を追加
page.comments$ = "1st group data for fft";
// ワークブックのタイトルにロングネームのみを表示するように変更
page.title = 1; // 1 = ロングネーム、 2 = ショートネーム、3 = 両方
ワークブックをアクティブにする
ワークブックをアクティブにするには、win -aを使用します。
// 開くプロジェクトのパスを表示
string strOpj$ = system.path.program$;
strOpj$ += "Samples\Curve Fitting\Intro_to_Nonlinear_Curve_Fit_Tool.opj";
// プロジェクトを開く
doc -o %(strOpj$);
// プロジェクトの2番目のサブフォルダにあるBook1をアクティブにする
win -a Book1;
// ワークブック名を変数に入れる事も可能
// プロジェクトにワークブック Gaussian の名前を入れる
string strGau$ = Gaussian;
// 1番目のサブフォルダにあるGauusianワークブックをアクティブにする
win -a %(strGau$);
ほとんどのOriginコマンドはアクティブウィンドウに対して操作しますので、 win -a コマンドを使って、ワークブックをアクティブにし、スクリプトを実行するとアクティブなワークブックになると思い、実行する事もあるでしょう。これは、簡単なコードで動作しますが、長いスクリプトに対しては、タイミングの問題があるかもしれません。代わりに、 window -o winName {script} を使うことをお勧めします。詳細は、スクリプトが操作するオブジェクトについての注意をご覧下さい。
ワークブックを削除する
ワークブックを削除するにはwin -cコマンドを使用します。このコマンドはポップアップを表示せずに、直接ウィンドウを削除します。
// プロジェクトを開くパス
string strOpj$ = system.path.program$ + "Samples\Curve Fitting\2D Bin and Fit.opj";
// プロジェクトを開く
doc -o %(strOpj$);
// ワークブックBook1 プロジェクトから削除
win -c Book1;
// アクティブなワークブックを削除する場合、ワークブック名は無視可能
// または、 %H を使用してワークブック名を参照
win -a MatrixFit1; // ワークブックMatrixFit1 をアクティブにする
win -c; // ワークブックを削除
// または、次を使用
// win -c %H;
// これは、変数にワークブック名が格納されているワークブックも削除可能
// newbook X-Function を使用して新しいワークブックを作成
// このワークブックの名前は文字列変数 ToDel$ に格納される
newbook result:=ToDel$;
// いま作成したワークブックを削除
win -c %(ToDel$);
|