「Get Script」でOutlineBoxのタイトルを取得する方法こんにちは、
「get script」機能を使ってレポートの情報を取得し、それを.jrpファイルにまとめようとしています( この投稿の詳細と似ていますが、.jrpファイル用に起動時に実行されるコンポーネントをいくつか追加する予定なので、「Save Report Window」機能は使用していません)。問題は、OutlineBoxのタイトル(スクリプトによって命名され、プロジェクト全体における変更の際に追跡されます)も取得する必要があることです。そうしないと、レポートを再作成できません。以下の例をご覧ください。
OutlineBox のタイトルも取得するための 'get script' 関数に何かが欠けているのでしょうか?
names default to here(1);
report_win = New Window("Testwindow",
Outline Box("tester",
Textbox("Test")
)
);
report_win << Get Script;
//RESULT: V List Box( V List Box( Outline Box( Text Box( "Test" ) ) ) )
//If I were to take that same script and try to recreate as a jrp file works....
//New Window("test", V List Box( V List Box( Outline Box( Text Box( "Test" ) ) ) ))
//resulting failure: expected character arg 1 in access or evaluation of 'Outline Box' , Outline Box/*###*/(Text Box( "Test" ))
自動化とスクリプトRe: 「Get Script」でOutlineBoxのタイトルを取得する方法あなたがしようとしていることに「スクリプトを取得」が使えるかどうかは分かりません。そして、何ができるか、あるいはすべきかは、あなたの最終目標によって異なります。「ウィンドウレポートを保存」が使えない理由について、私が何か見落としているのは確かですが、一つの選択肢になるかもしれません。
Names Default To Here(1);
report_win = New Window("Testwindow", << Type("Report"), Outline Box("tester", Text Box("Test")));
report_win << Save Window Report("$TEMP/test.jrp");
s1 = report_win << get script;
wait(0);
s2 = Parse(Load Text File("$TEMP/test.jrp"));
wait(0);
Delete File("$TEMP/test.jrp");
Show(s1, s2);
ob_script = Extract Expr(s2, Outline Box(WildList()));
s1 = V List Box(V List Box(OutlineBox(Text Box("Test"))));
s2 = New Window("Testwindow", Outline Box("tester", Text Box("Test")));
Outline Box("tester", Text Box("Test"))
Re: 「Get Script」でアウトラインボックスのタイトルを取得する方法XPathを使う方がシンプルで直接的だと思います。次の図をご覧ください。
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( Y( :weight ), X( :height ), Fit Line( 1 ) );
rpt = biv << Report;
outlineNames = (rpt << XPath( "//OutlineBox" )) << Get Title;