スクリプトを使用してデータテーブルを Excel にエクスポートするこんにちは。スクリプトと自動化を使用してデータ テーブルを Excel にエクスポートする方法を学ぼうとしています。
save("") を使用して「JMP ファイルに名前を付けて保存」ウィンドウを開いて、ファイルを保存するよう求めています。 毎回変更する必要がないように、「ファイルの種類」を *.jmp ではなく *.xls に設定したいと考えています。 ファイルの保存先として選択されるデフォルトのフォルダーも設定したいと思います。 これを scipting コマンドで実行できますか? 私は新しいユーザーで、簡単な解決策を探しています。 ヒントをありがとう! ~シャノン
Re: スクリプトを使用してデータテーブルを Excel にエクスポートするすごいです! しかし、既存のファイルを置き換えるかどうかをユーザーに尋ねるにはどうすればよいでしょうか?
Re: スクリプトを使用してデータテーブルを Excel にエクスポートするこんにちは、
Excel ファイルの多くは、以前のバージョンで作成されたものと思われる巨大なデータを使用して作成されたもので問題が発生しています。 2007年か2003年。 奇妙なことに、このファイルは 95% のマシンで機能せず、列の追加または削除によってクラッシュし、エラー 1000 と Execel.exe が発生します。
2つの方法を試しましたが、うまくいきましたが、これは私が必要とする解決策ではありません。 ファイルにはfreezpanが含まれており、フリーズを解除すると正常に動作するか、シートを新しいシートにコピーすると、freezpanが有効でも正常に動作します。
数百のファイルでこの問題を解決するにはどうすればよいでしょうか? この問題で行き詰まっています。
よろしくお願いします。
よろしく
ファイサル
Re: スクリプトを使用してデータテーブルを Excel にエクスポートするこのようなものでは、.jmp 拡張子が削除され、.xlsx が追加されます。 フィルターですでに .xlsx ファイルを選択している場合は、何も行われず、ファイルが上書きされます。 JMP は XLSX の保存には優れていますが、XLS の保存にはあまり優れていないことに注意してください。
dt = 現在のデータテーブル();
filepath = pickFile("保存するファイルを選択してください", "c:\", {"Excel ファイル|xlsx"}, 1, 1);
pos = 含まれる(ファイルパス, ".xlsx");
if (pos == 0, filepath = Left(filepath, pos-1); filepath = ファイルパス || ".xlsx");
dt << 名前を付けて保存(ファイルパス, Excel ファイル);
ブライアン・コーコラン
JMP開発
Re: スクリプトを使用してデータテーブルを Excel にエクスポートする@シャノンK 、
はい、その通りです。 既存のファイルを選択すると、拡張子が含まれます。 ただし、新しいファイルの場合は、拡張子を含める必要があります。
@Craige_Halesさらにコメントできるでしょうか?
Re: スクリプトを使用してデータテーブルを Excel にエクスポートするご協力ありがとうございました。 ご提案いただいた保存コードを含めましたが、「ファイルを保存できません。」というエラーが表示されます。 不明なデータターゲット。」
エラーのトラブルシューティングを試みましたが失敗しました。 SaveFilePath の出力を確認すると、「/C:/Users/jmp/name」のようになります。 問題についての私の推測では、保存機能がファイル名に「.xlsx」を追加していないことです。
(Windows を使用していますが、「/C: ...」は問題ないようです。)
エラーを正しく特定できましたか? 問題を解決する方法について何か考えはありますか?
ありがとう!
シャノン
Re: スクリプトを使用してデータテーブルを Excel にエクスポートするやあ@シャノンK 、
したがって、ファイルの選択ダイアログは、必要なパスとファイル名を保護することのみを担当します。 したがって、あなたの例では次のようになります。
まあ言ってみれば:
path = "$DOCUMENTS" // this is shorthand for your "My Documents" folder<BR />
filtereddata = sorteddt << Subset(
(Selected Rows),
Columns(:YEARX, :PSU, :CASEID, :RATWGT, :VEHNO, :OCCNO, :DVTOTAL, :ROLLOVER, :GAD1, :PDOF1, :DOF1, :BODYTYPE, :AGE, :ROLE, :SEATPOS),
Output Table Name(filename)
);
SaveFilePath = Pick File(
"Save Filtered Data",
path,
{"Excel Files|xlsx;xls", "JMP Datatables|jmp", "Text Files|txt;csv;dat", "All Files|*"},
1,
saveFlag = 1
);
フォルダーを選択し、ファイルの名前を選択した後、変数ファイルパスの保存この情報は文字列として含まれます。
次に、次のことを実行します。
SaveFilePath );filtereddata << Save(
Re: スクリプトを使用してデータテーブルを Excel にエクスポートする素晴らしいですね、ありがとう。
ただし、まだ問題が1つあります。 どのファイルを保存しているのかを通知するにはどうすればよいですか? ファイル名を入力して保存していますが、フォルダーに何も表示されません。 救うものが無いからそうなるのかな?
データテーブルを作成し、提案された SafeFileWindow コードを実行しています。 簡単な事が抜けていたらごめんなさい。 私はこれについては初めてです! (また、何らかの理由で、データテーブルが表示される前にファイル保存ウィンドウが表示されます。 つまり、このコードの実行後、ファイル保存ウィンドウはアクティブなウィンドウではなくなります。)
ご協力いただきありがとうございます。
これが私のコードの一部です。
filtereddata = sortdt << サブセット(
(選択された行)、
列(:YEARX、:PSU、:CASEID、:RATWGT、:VEHNO、:OCCNO、:DVTOTAL、:ROLLOVER、:GAD1、:PDOF1、:DOF1、:BODYTYPE、:AGE、:ROLE、:SEATPOS)、
出力テーブル名(ファイル名)
);
SaveFileWindow = ファイルを選択(
"フィルタリングされたデータを保存",
道、
{"Excel ファイル|xlsx;xls"、"JMP データテーブル|jmp"、"テキスト ファイル|txt;csv;dat"、"すべてのファイル|*"},
1、
保存フラグ = 1
);
Re: スクリプトを使用してデータテーブルを Excel にエクスポートする@シャノンK
「<デフォルトのフォルダー パス>」を最初に表示するフォルダー パスに置き換えて、これを試してください。
SaveFileWindow = Pick File(
"Save File",
"<DEFAULT folder="" path="">",
{"Excel Files|xlsx;xls", "JMP Datatables|jmp", "Text Files|txt;csv;dat", "All Files|*"},
1,
saveFlag = 1
);
</DEFAULT>
ファイルの選択機能の詳細については、以下を参照してください。 http://www.jmp.com/support/help/13/Select_a_Directory_or_File.shtml