Originでは定期的にLabTalk変数と式の置換が行われます。置換された文字列の値は、そのステートメントが実際に実行されるまでわからないため、実行時文字列置換と呼ばれます。また、繰り返し行うバッチ操作(インポート、解析、グラフ作成、グラフエクスポート)の基礎にもなります。
置換表記は%または$で始まり、LabTalkスクリプトに限定されません。軸のタイトル、凡例、目盛ラベル、通常のテキスト、列とセルの表示形式、列とセルの数式など、さまざまなウィンドウのラベルでも使用します。置換表記が検出されると、Originはそれを文字列に置き換えます。
実行時置換には4つのタイプがあります。
次のスクリプトでは、その使用法を示すためにさまざまな置換表記が使用されています。
新しいプロジェクトを開始して、以下をお試しください。
//2つの引数 %1 および %2のマクロを定義 define import_plot { for(ii = %1; ii <=%2 ; ii++) { if (!isEmpty(col(A))) newsheet; //連結された文字列でfn$文字列変数を作成 string fn$=system.path.program$ + "Samples\curve fitting\step$(ii, ##).dat"; impasc fname:=fn$; delete col(A); if (exist(%H)==2) //現在のウィンドウタイプがワークシートの場合 { //奇数列ごとにXに設定 for( jj = 1 ; jj <= wks.ncols ; jj+=2) { wks.col$(jj).type = 4; //wks.col1 は最初の列を参照 } } } page.active$=1; //最初のシートをアクティブ化 doc -e LB //全シートでループ { //すべての列をXY列属性で散布図としてプロット plotxy iy:=(?,1:end) plot:=202; xb.text$="X"; //X軸タイトルをX yl.text$=%(1, @WS); //Y軸タイトルをワークシート名 } }; //2 つの引数1と 5でマクロを実行。1と 5は%1と%2に渡される import_plot 1 5; //step01.datからstep05.datをインポートし、すべてのデータをプロット
冒頭で述べたように、このような置換表記は LabTalkスクリプトでだけでなく、Origin のさまざまな場所で使用されています。例えば、