Catalina 以降、Mac OS は特定のフォルダに対するプライバシー制御をサポートしています。たとえば、スクリプトが[複数ファイルのインポート] を使用してデスクトップ上のファイルを読み取ろうとすると、 JMP Pro 16.app がデスクトップ フォルダ内のファイルにアクセスしようとしていることを示すポップアップが表示されます。 [OK]を選択すると、すべて正常に動作します。ただし、 [許可しない] を選択すると、MFI 命令は実行時エラーなしで失敗しますが、後で失敗する可能性があります (データ テーブルが返されなかったため)。コードの例を次に示します。
fileList = Pick File( "Choose Insight File(s)", "~/Downloads", {"csvOnly|csv"}, 1, 0, "", "multiple" );
:
Multiple File Import( ... );
dt = Current Data Table();
allCols = dt << Get Column Names( String );この場合、現在のデータ テーブルが存在しないため、dt は定義されず、列名の取得命令は次のメッセージで失敗します。
Send Expects Scriptable Object in access or evaluation of 'Send' , dt << /*###*/Get Column Names( String ) /*###*/
質問は、複数ファイルのインポート コマンドがファイルを開いて読み取ることに失敗したかどうかを判断するための推奨される方法は何ですか?
ポップアップで「許可しない」を選択すると、今後この質問は表示されなくなり、MFI はただ静かに失敗します。(この設定は、システム環境設定、セキュリティとプライバシー、プライバシー、ファイルとフォルダ、JMP Pro 16.app でいつでも変更できます。)
もっと広い意味で言えば、そもそもなぜ「ファイルの選択」コマンドによってナビゲーション ウィンドウがデスクトップ上のファイルにアクセスできるようになるのでしょうか。プライベート フォルダーはナビゲーション ウィンドウから除外する必要があるようです。
また、これは JMP 15 では問題にならないこともわかりました。つまり、フォルダーのプライバシーを尊重する機能は、どうやら JMP 16 で追加されたようです。(私は 16.2.0 を実行しています。)
やあ、
テクニカルサポートに連絡することをお勧めします( support@jmp.com )このクエリで。
よろしく、
フィル
この問題をさらに調査した後、私はこの問題を開発に報告しました。 macOSが必要なプロンプトを表示していないようです( JMP Pro 16.appは、<>フォルダー内のファイルにアクセスしたいと考えています)ディレクトリごとに。Downloadsディレクトリに対してのみそうするようです。 他のディレクトリは完全に無視されます。 私たちの開発チームは、この問題を引き続き調査します。
フォルダアクセスが許可されていないときにMFIインポートが失敗する可能性がある場合の判断については、次の使用を検討することをお勧めします。
mfi = Multiple File Import(
<<SET folder=""></SET>
ダリア、これを特徴づけるのを手伝ってくれたあなたの忍耐と決意に感謝します。 今後のJMPアップデートを楽しみにしています。
私はあなたが提供したロジックを実装しました、そして私のスクリプトは今非常にうまくそして予想通りに機能します。