こんにちは - for ループ内からジャーナルに多数のアウトライン ボックスを送信する JSL スクリプトがあります (つまり、ループの各サイクルで新しいアウトライン ボックスが作成され、そのコピーが作成されるとすぐにジャーナルに送信されます) )。 ブロードキャスト キーの組み合わせを使用して (つまり、 キーを押しながらそのうちの 1 つだけを開閉する)、ジャーナル内の一連のアウトライン ボックスを一斉に開いたり閉じたりする方法はありますか?
私はこれを実現したいと考えて、いくつかのアプリケーションを作成しました。 そのうちのいくつかでは、とにかくこの機能を誤って組み込んでしまったようですが、他のものでは組み込んでいません。しかし、スクリプトの作成方法のどこに違いがあるのかわかりません。 すべての場合において、アウトライン ボックスには同じ形式のデータ概要が含まれており、唯一の違いは集計される実際の数値にあります。
ご提案をいただきありがとうございました。
両方の提案に感謝します。提案された回避策の 1 つを使用します。どちらも同じように機能します。いつものように、私が見逃しただけの些細なトリックがないことを知っておくと役に立ちます 
残念ながら、helpKey の値は JMP に依存しているため、変更することはできません。
ただし、コントロール キーを使用する代わりに、OutlineBox のタイトルと helpKey に依存して、すべてのOutlineBox を展開/縮小するボタンを作成することもできます。 詳細については、以下の私の例を参照してください
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Owl Diet.jmp" );
yList = dt << get column names( string );
Remove From( yList, N Items( yList ) );
nw = New Window( "Example",
Button Box( "Collapse All",
<<SET function=""></SET>
ExpandedExpanded拡張された
CollapsedCollapsed崩壊した
これは、すべてのグラフ ビルダー出力で共有される共通の HelpKey が原因であると考えられます。 HelpKeys について私が見つけた最良のリファレンスは、ここ、 多分@ジャスティン・チルトンJournal に何かを送信するときに HelpKey を設定できるか、または Journal 内のアイテムに対して変更できるかどうかを明らかにすることはできますか? それが不可能な場合の回避策は、各出力の間にテキスト項目を挿入することです。

グラフ ビルダーの出力をアウトライン ボックスの下に移動すると、「ツリー構造の表示」を使用してヘルプキーが表示されます。

こんにちは - ありがとうございます。アウトライン ボックスがすべて同じタイトルであれば、ブロードキャストされた開閉コマンドで同時に開閉できることを確認しました。 残念ながら、実際には別のタイトルにする必要があります。すべてを閉じてしまうと、具体的にどれを開きたいのか簡単に判断できないからです。
スクリプトの 1 つが希望どおりに動作している例を見つけました。ただし、これはグラフ ビルダー出力の複数のコピーを for ループ内からジャーナルに送信している状況に関連しています。 ループを実行するたびに、グラフ ビルダーがプロットしている変数を変更し、次のループを実行する前にコピーをジャーナルに送信します。 スクリプトの関連部分は次のように動作します。
dt = Open( "$SAMPLE_DATA/Owl Diet.JMP" );
yList = dt << get column names(string);
remove from(yList, nItems(yList));
show(yList);
// Create the chart as I want it to look for the first item on the list, and send a copy of it to the journal;
gb = Graph Builder(
Show Control Panel( 0 ),
Size( 600, 250 ),
Show Legend( 0 ),
Variables( X( :species ), Y( as column(column(dt, yList[1])) ) ),
Elements( Box Plot( X, Y, Legend( 6 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "Analysis of " || title case(yList[1]) )}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "400", LegendBox, {Set Title( "" )} )
)
);
report(gb) << journal();
// Then run all the others in sequence by each time replacing the current Y variable with the next one, and adding them to the journal as we go;
for(i=2, i<=nItems(yList), i++,
gbb = report(gb);
gbb << Dispatch( {}, "Graph Builder", OutlineBox, {Set Title( "Analysis of " || title case(yList[i]) )} );
gbb[GraphBuilderBox(1)] << remove variable(2);
gbb[GraphBuilderBox(1)] << add variable({as column(column(dt, yList[i])), role("Y")});
gbb << journal()
);
// Finally, close the original chart window;
gb << close window;
この例ではブロードキャスト コマンドが機能します。これはおそらく、すべてのチャートに異なるラベルが与えられているにもかかわらず、実際にはすべてのチャートが「グラフ ビルダー」と呼ばれているためです。ジャーナルにアウトライン ボックスを送信するときに再現したいのは、この効果です。そうではなかったグラフビルダーを使用して作成されます。
不可能なことを質問するかもしれませんが、あらゆる提案を歓迎します。
どうもありがとう。
私の経験から、アウトラインボックスのタイトルを一致させると、(Windows の場合) Control キーを押すとすべてが開くかすべて閉じられます。どれか 1 つを右クリックし、[このようにすべて閉じる] の上にマウスを置くと、同じヘルプ キーが同じ効果を持つことを示すツールチップが表示されますが、ジャーナルや JSL でヘルプ キーの使用に関する参照は見つかりませんでした。
