|
macOS10.12.6 InDesignCC2015/CC2019
フォルダ名が画像名とかぶるとエラーが出ます。 ドキュメント名は5桁の数字+英数字 画像は5桁の数字+アルファベット1文字です。 例えばフォルダ名12345Ctest、ドキュメント名12345Ctest.indd、で試すとCに12345A.psdが配置されます。getFilesの中で一番若いものになるみたいです。回避方法教えてください。
var Doc=app.activeDocument, DocF = Folder(Doc.filePath), FN=Doc.name.replace(/^([0-9]+)(.+$)/,"$1"),//品番抜き出し FList = DocF.getFiles(/.*\.(jpe?g|tiff?|eps|psd)$/i), Ph= Doc.allPageItems; for(var i=0; i<Ph.length; i++){ if(Ph[i].constructor.name == 'TextFrame'&& /^[A-Z]$/.test(Ph[i].contents)){ var Nm=Ph[i].contents; for(var j=0; j<FList.length; j++){ if(RegExp(FN+Nm).test(FList[j])){ try{Ph[i].contents="";//try外すとcontents is undefinedエラー Ph[i].place(File(FList[j])); Ph[i].allGraphics[0].fit(FitOptions.FILL_PROPORTIONALLY); }catch (e){ } } } } }
|
No.10255 2022/05/02(Mon) 14:04:16
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Safari/605.1.15
|
Re: 画像自動配置フォルダ名でエラー / あるふぁ(仮) |
|
|
|
RegExp(FN+Nm).test(FList[j]) の部分が、 「12345Cをファイルパス全体から検索する」ということになってるせいだと思いますので、 正規表現を修正する(たとえば.まで入れる)か、検索する対象をファイル名だけにするかですね
|
No.10256 2022/05/02(Mon) 16:38:04
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0
|
|
Re: 画像自動配置フォルダ名でエラー / az |
|
|
|
あるふぁ(仮)様
RegExp(FN+Nm).test(FList[j].name)にするとtryも外せました。 ありがとうございます! 解決したのですが、なぜ一番若いものが配置されるのかがわかりません。 ご教示いただけますと幸いです。
|
No.10257 2022/05/02(Mon) 18:39:38
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Safari/605.1.15
|
|
Re: 画像自動配置フォルダ名でエラー / あるふぁ(仮) |
|
|
|
12345CはFList内のどのファイルのパスにもマッチしますから、 全部のファイルをフレームCに配置しようとするはずです。
だとすれば最終的に残るのはFListの一番最後のファイルになりそうなものですが、 そうじゃなくて一番最初のファイルになっているのは、 2つ目以降は全部途中でエラーが出てトライキャッチプリキュアに捕まってるからでしょうね。
|
No.10258 2022/05/02(Mon) 20:15:22
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0
|
|
Re: 画像自動配置フォルダ名でエラー / az |
|
|
No.10259 2022/05/04(Wed) 00:13:56
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15
|
|