JMPスクリプト内で特定のXLSワークブックを開く<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />「US」、「Canada」、「Ireland」という名前のワークブックタブがあるXLS(BigData.xls)があります。
[カナダ]タブを開く/読み取るだけでよいスクリプトがあります。それを行うためのJMPスクリプトコマンドはありますか?手動ダイアログを使用して[カナダ]タブをプルすることは避けようとしています。
ありがとう!
Re:JMPスクリプト内で特定のXLSワークブックを開くデイブ、いつもありがとう。 このコードの一部を借りて、内部にあるv10のバリアント全体で一貫したパフォーマンスを実現します。
Re:JMPスクリプト内で特定のXLSワークブックを開く私が過去に使用した大雑把な(しかし効果的な)方法は、ブック全体を目に見えないように開いてから、不要なブックを閉じることでした。開いた後に存在するテーブルと前に開いたテーブルを確認します。これにより、スプレッドシートにブックの名前が表示されます。
ユーザー設定が問題を引き起こす可能性があることに気付いたように、これは設定を検出し、必要なものに設定してから復元するコードのパターンです。
// preference to check
searchPref = "Excel Has labels";
// check the preference
prefs = Char( Get Preferences() );
p = Pat Match( prefs, searchPref + "(" + Pat Arb() >> strResult + ")" );
If ( p == 0,
Write( "!NFailed to find value for " || searchPref )
,
result = Parse( strResult );
Show( result );
);
// set it to what you want
Set Preferences(Excel Has Labels(2));
// do your stuff
Open(nsSFEPM:pathMDSS, invisible)
// restore the user preference
Eval(Parse(Eval Insert("\[
Set Preferences(Excel Has Labels(^result^));
]\")));
-デイブ
Re:JMPスクリプト内で特定のXLSワークブックを開く私はこれをコードで試したところ、仲間のユーザーにもテストしてもらいました。 ユーザーの設定が関数の引数よりも優先されることを発見しました。 JSLで開くシートを指定しますが、ユーザーの設定でプロンプトを表示すると、プロンプトが表示されます。 これは、関数の使用に反直感的なようです...
[編集]私のユーザーは10.0.0を使用しており、設定がコードをオーバーライドしていました。 私のマシンは10.0.2で、コードが優先されます。 もちろん、この関数に関する「バージョン10.0.xの新機能」のドキュメントには何も表示されませんでした...
Re:JMPスクリプト内で特定のXLSワークブックを開く今日、これ([開く]コマンドのワークシートオプション)を見つけました。これは非常に役に立ちました。 ただし、アプリケーションのヘルプページには表示されなかったため、もっと役に立ちました。
Re:JMPスクリプト内で特定のXLSワークブックを開く以前の議論は役に立ちましたが、構文は正しくありませんでした。ワークシートの名前は角かっこで囲む必要があり、ワークシート名の最後に$を追加する必要があります。したがって、スプレッドシートにdemoというワークシートがある場合、正しい構文は次のとおりです。
FullyQualifiedFile = "c:\$user\ResearchData\FY2012.xls";
ODB_String = "DSN=Excel Files;DBQ=" || FullyQualifiedFile;
dt = Open Database(ODB_String,"SELECT * FROM [demo$]");
Re:JMPスクリプト内で特定のXLSワークブックを開くOpen()の代わりにOpen Database()を使用する場合は、SQL文字列で個々のシートを指定できます。
この古い議論をチェックしてください:
Re:JMPスクリプト内で特定のXLSワークブックを開くJMP 8.0.1
提案された回避策はありますか?
Re:JMPスクリプト内で特定のXLSワークブックを開く申し訳ありませんが、このオプションがJMP10で追加されたことを指定する必要がありました。
JMP 10またはそれ以前のものを使用していますか?
-ジェフ
Re:JMPスクリプト内で特定のXLSワークブックを開く動作しませんでした。指定するとすべてのワークシートが開きましたワークシート( "small")またはワークシート({"Small"})
Re:JMPスクリプト内で特定のXLSワークブックを開くWorksheets()キーワードを使用できます。
open("C:\data\cars.xlsx", Worksheets("small"));
ワークシート名を角かっこで囲んで、複数のワークシートをインポートします。
open("C:\data\cars.xlsx", Worksheets( {"small", "medium", "large"} ));