リンクをクリップボードにコピー
コピー完了
IllustratorのJavaScriptで、選択ファイルの作成日と更新日を取得したいのですが、ファイルオブジェクトのcreated、modifiedプロパティを使用しても結果がnullになってしまいます。
var fileObj = File.openDialog('ファイルを選択');
var cDate = fileObj.created; // 作成日
var mDate = fileObj.modified; // 更新日
過去に発売された書籍やWebサイトに記載があることから、Illustrator CSでは使用できていたようですが、Illustrator 2020と2021ではnullになりました。Photoshop 2021では正しい結果(Dateオブジェクト)が返ってきます。
その他のファイルオブジェクトのプロパティ(fsName、lengthなど)は正しい結果が返ってきます。結果がDateオブジェクトのプロパティだけnullになっているようです。
私のスクリプトの記述やMacの環境に原因があるのか、それともIllustrator CCになってからcreatedとmodifiedプロパティが無効になったのか、アドバイスいただけますでしょうか。
リンクをクリップボードにコピー
コピー完了
FileオブジェクトはCore JavaScriptクラスのメンバーですからExtendScriptをサポートする全てのCCアプリケーションで挙動は変わりません。
nullが帰る条件は
the object does not refer to a file on the disk.
ですから参照したファイルがディスク上に存在しない場合です。
以下のようなコードを試すとどうでしょうか?
var f=File.openDialog("");
alert(f.created);
リンクをクリップボードにコピー
コピー完了
Ten A様
返信、ありがとうございます。
教えて頂いたコードを試してみましたが、同じようにnullが返ってきました。
ファイルは確かに存在し、Photoshopで同じスクリプトを同じファイルに対して実行すると、正しい結果(Dateオブジェクト)が返ってきます。
私の実行環境は、Mac OS 10.15.7/Illustrator 25.2.1/Photoshop 22.2.0です。
@Ten A さんは書きました:FileオブジェクトはCore JavaScriptクラスのメンバーですからExtendScriptをサポートする全てのCCアプリケーションで挙動は変わりません。
挙動は変わらないとのことで、少し安心しました。別の環境やバージョンでも確認してみます。
リンクをクリップボードにコピー
コピー完了
こちらでもnullでした。
Catalina/Illustrator2021(25.2.1)/VSCodeより実行
APFS/HFS+/英数ファイル名でaiを開いていますが、nullが返ります。
リンクをクリップボードにコピー
コピー完了
お二方ともご確認ありがとうございました。
わたしもmacOS10.15.16で確認しました。2020及び2021はnullが帰りますね。2019では正常に取得可能でした。
後ほどまとめてuservoiceの方へ投稿します。
リンクをクリップボードにコピー
コピー完了
報告してきました。以下のページにアクセスして投票をお願いします。
https://illustrator.uservoice.com/forums/601447-illustrator-desktop-bugs/suggestions/42914739-in-cc2...
リンクをクリップボードにコピー
コピー完了
Ten A様
Uservoiceへの投稿、ありがとうございました。
OSのバージョン違い(10.13、10.14)の環境でも試しましたが、やはり2020だけはnull。
改修されることを期待して待ちます。
リンクをクリップボードにコピー
コピー完了