こんにちは。 スクリプトを使用して Excel ファイルを開こうとすると、「開く」コマンドがボタンボックスから発信されている場合は Excel インポート ウィザードが表示されますが、「開く」コマンドがスクリプトの最上位にある場合は表示されないことに気付きました。 記録のために言っておきますが、この場合はウィザードを表示したくありません。 この動作に詳しい人はいますか? もし知っているなら、修正できますか?
たとえば、ユーザーが Excel ファイルを選択すると、それが開くスクリプトがあります。 この場合、Excel ファイルは問題なく JMP テーブルとして開きます。 ただし、代わりに Excel ファイルを開くコマンドをボタンボックス内に配置すると、Excel ウィザードが表示されます。 両方のケースでまったく同じオプションを使用している場合でも。 これは、添付された xlsx ファイルを使用した以下のスクリプトで示されています。
Names Default to Here(1);
//Get location of file:
path = Pick File("Select xlsx Table...",,
{"Excel|xlsx"}, 1,
0
);
If(path == "", Stop());
//Expression to open file:
open_exp = Expr(
Open(path,
Worksheets("Sheet1"),
Use for all sheets(1),
Concatenate Worksheets(0),
Create Concatenation Column(0),
Worksheet Settings(
1,
Has Column Headers(1),
Number of Rows in Headers(1),
Headers Start on Row(1),
Data Starts on Row(2),
Data Starts on Column(1),
Data Ends on Row(0),
Data Ends on Column(0),
Replicated Spanned Rows(0),
Replicated Spanned Headers(0),
Suppress Hidden Rows(1),
Suppress Hidden Columns(1),
Suppress Empty Columns(1),
Treat as Hierarchy(0),
Multiple Series Stack(0),
Import Cell Colors(0),
Limit Column Detect(1),
Column Separator String("-")
)
);
);
//Attempt to open file...works as intended (no Import Wizard)
open_exp;
//Attempt to open file via a button...always results in the Import Wizard.
win = New Window("Temp",
ButtonBox("Open xlsx",
open_exp
)
);ご覧のとおり、どちらの方法も、まったく同じファイルに対してまったく同じオプションを指定してまったく同じコマンドを使用していますが、2 つの異なる動作が発生しています。
さらに注意すべき点として、xlsx ファイルをボタンボックス経由で開くと、開くコマンドの設定が無視されるようです。 つまり、「ヘッダーの行数」、「ヘッダーの開始行」、「データの開始行」などのオプションを変更すると、使用される最初の方法がそれらの新しい設定を尊重します。 ただし、インポート ウィザードを使用した 2 番目の「ボタンボックス」方法では、代わりに常にデフォルト設定に戻ってしまうようです。
記録のために言っておきますが、JMP が Excel ウィザードを使用しないように設定を変更するつもりはありません。 この場合は使いたくないだけですし、このアプリの他のユーザーに自分の好みに合わせて同じ MOD を作成するよう要求することもできません。
私の詳細:
JMP プロ 15.2.1
Mac OS カタリナ 10.15.7
Excel: バージョン 16.49
誰かが助けてくれることを願っています。 ありがとう!
ウェンディ、
これに関する最新情報はありますか?
ディスプレイ ボックスにいくつかのフォントを設定するスクリプトがありますが、組織内の一部のコンピュータには最小限のフォントしかインストールされていないことがわかりました。
そのため、ユーザーには「不明なフォント」というポップアップが大量に表示されます。 すべてをデフォルトのフォントに戻すのではなく、Try() ブロックでラップしようとしましたが、役に立ちませんでした。
Craige 氏は Batch Interactive(1) を使用するようアドバイスしましたが、以下の簡単な例が示すように、これも機能していないようです。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( Y( :height ), X( :weight ) );
rbiv = biv << Report;
For Each({box, index}, (rbiv << XPath( "//AxisBox/MouseBox/DropBox/TextEditBox" )),
Batch Interactive(1);
Try(box << Set Font( "Agency FF", 13 ));
Batch Interactive(0);
);この場合、Batch Interactive(1) が機能しない理由と、見つからないフォントに対処する方法はありますか?
こんにちは、 @Craige_Hales 。
Batch Interactive() は実験的なものであるため文書化されていません。ただし、JMP 開発チームに対して、この機能を完全にサポートするように促進するという提案が行われました。この議論をそのリクエストに追加します。一般的な使用例は、ボタンのクリックなどの対話型アクションから実行されるスクリプトの一部として使用されます。
「Excel ウィザード」オプションのドキュメントは次の場所にあります。
Excel データを開くためのスクリプト インデックスの例にこれを含めてほしいというリクエストを喜んで伝えます。
見るモーダル JMP アラートを無視または無効にするバッチインタラクティブ関数の場合。 スクリプトのボタン駆動バージョン知っていますインタラクティブである必要があり、インタラクティブなウィザードが表示されます。
また、スクリプトで Excel インポート ウィザードをバイパスするがありますより良い答え。
最後に、逆の問題があり、ウィザードが必要な場合は、次を参照してください。環境設定を変更せずに Open() で Excel ウィザードを強制的に使用する
@ウェンディ・マーフリーこれらはどちらもドキュメントで見つけるのが難しいようです。
編集: へのリンクSetFont の奇妙なバリエーション