[ 掲示板に戻る ]

記事No.4335に関するスレッドです

テキストの流し込みについて / fxftp Email URL
IndesignCS4 Windows7の環境で使用しています。

複数ページに、複数のテキストフレームを作成したとします。
そのテキストフレームへ、複数行のテキストデータから1行ずつ流し込む方法はありませんか?写真のキャプションのようなものを想像していただければと思います。ただし写真はありません。
よろしくお願いいたします

No.4322 2010/03/03(Wed) 10:13:21
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)

Re: テキストの流し込みについて / いき URL
私からは二種類の提案をしておきます。
ひとつめはデータ結合を使うこと。

ふたつめはスクリプトです。
1.まず、流し込みたい順番に、フレームにスクリプトラベルを付ける。(ページごとに1などから始めれば良いでしょう)
2.ファイルから1行ずつ読み込み、ページ順、スクリプトラベルの若い順にフレームに読み込む。

これで多分いけるかと。

No.4323 2010/03/03(Wed) 11:13:16
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)

Re: テキストの流し込みについて / お〜まち URL
単に複数ファイルをドラッグ&ドロップではだめなの?
No.4324 2010/03/03(Wed) 12:23:27
Opera/9.80 (Windows NT 6.1; U; ja) Presto/2.2.15 Version/10.10

Re: テキストの流し込みについて / (z-) Email URL
テキスト原稿は基本1ファイル、その中の文章を1段落ごとに、あらかじめ散らばっているテキストフレームにぽんぽんペースト、ということであれば

↓いわゆるバラ打ちをまとめてやっつける為のスクリプト、というのをそういう時の為に書いてみたのですが、
http://pub.ne.jp/ajabon/?entry_id=2552403
現状、MacOSのCS3、CS4でしか動作しません。
テキストファイル選択時に一部分だけAppleScriptが入っているのが原因なので、
http://www14.plala.or.jp/ajabon/killtime/PlaceOptionalText_1.2.zip
をダウンロードしてもらってから、57行目あたりの

function filefunc (aa){ //テキストファイルを選択して読み込む
var my_AppleScript = 'POSIX path of (choose file with prompt ("テキストファイルを選択")) as unicode text';
var newpath = app.doScript (my_AppleScript, ScriptLanguage.APPLESCRIPT_LANGUAGE);
var my_fileObj = new File (newpath);



var my_fileObj = new File.openDialog("テキストファイルを選択");

に書き換えてしまえば、あるいは使えるかも知れません。
当方確認できません。ものすごく便利なのですが反響がないのでバグ修正版もFTPには上がっていませんが、基本的な使用には問題ないです。
よかったら試してみてください

No.4325 2010/03/03(Wed) 12:45:24
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10

Re: テキストの流し込みについて / fxftp Email URL
ご回答ありがとうございます。

いき様の2.ファイルから1行ずつ読み込み、ページ順、スクリプトラベルの若い順にフレームに読み込む。のスクリプト知りたいです。実は、スクリプト組んだことありません。

お〜まち様。実はテキストフレームが300程度あります。テキストファイルはひとつです。テキストファイルを300個に分割することも考え、フリーソフトを探しましたが、途中で断念しました。

(Z-)様。これから試してみます。結果は後ほど報告いたします。

No.4326 2010/03/03(Wed) 13:21:45
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)

Re: テキストの流し込みについて / いき URL
(z-)さんのが使えたらいいなあ。
いちいちスクリプトラベルつけなくていいし。
でも、残念ながらWindowsでは該当の箇所を書き直してもうまく動かないようです。
……少なくとも私の環境(Windows XP/InDesign CS3)ではダメでした。

えーと、エラー処理してないし、他の環境ではテストしてないのでアレですが、、、一応。
300もあるので大変ですが、あらかじめスクリプトラベルをつけてから実行してください。つけていいのは半角算用数字だけです。
本当はLiさんのスクリプトのように、ページごとに1から始められれば少しは手間が減るのですが、私のはページをまたごうがどうしようが加算していってくださいね(^^;

※因みに、CS3までならLiさんのVBが便利です。
 http://www2s.biglobe.ne.jp/~jxli/script/
 「テキスト配置」←タグテキストにも対応しています。

var myDoc = app.activeDocument;
var myPage = app.activeDocument.pages;

var fileObj = File.openDialog ("テキストファイルを指定してください");
if (fileObj) {
var flag = fileObj.open ("r");
lineCount = 1;
if (flag == true) {
while (!fileObj.eof) {
for (i=0; i<myPage.length; i++) {
for (j=0; j<myPage[i].textFrames.length; j++) {
if (myPage[i].textFrames[j].label == lineCount.toString()) {
myPage[i].textFrames[j].contents = fileObj.readln();
lineCount = lineCount + 1;
}
}
}
}
}
}

No.4333 2010/03/04(Thu) 09:25:21
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)

Re: テキストの流し込みについて / いき URL
エラー処理追加してみました。
よければどうぞ。
http://d.hatena.ne.jp/k_iki/20100304/1267668043

No.4335 2010/03/04(Thu) 11:08:04
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)

Re: テキストの流し込みについて / (z-) Email URL
>いき親分 テストありがとうございます。上記の変更だけでWindows対応できないとなるとJavaScriptで書いた意義が半減ですねえ..(とか言ってますが他の言語は扱えません orz)残念。

1こ1こスクリプトラベルを付ける手間を思えば、
http://pub.ne.jp/ajabon/?entry_id=2460599
のページの下半分で公開している「PlaceOptionalText_β.jsx」でもいいかもです。
元テキストに呼び出し用の合番が必要ですが2〜3行のスクリプトで簡単に付けられます。

No.4337 2010/03/04(Thu) 12:56:37
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10

Re: テキストの流し込みについて / いき URL
うあー、すみません。
私のJSの書き方だと、テキストファイルの行数よりもInDesign上のテキストフレームが多ければ一応動きます。
が、テキストファイルの行番号と一致するラベルを持つフレームが揃っていないと、InDesignがビジー状態になって処理が終わりません。
確実にスクリプトラベルをつければ良いのですが、エラー処理の入れ方自体を書き直さないと危険ですね(^^;

> (z-)さん
時間がなくて今日はこれ以上検証できませんが……。
当社のMAC(CS3/CS4)で試してもうまく動かないようです。
なにかするべきことを見落としているのでしょうか、私。。。

No.4338 2010/03/04(Thu) 14:49:25
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)

Re: テキストの流し込みについて / (z-) Email URL
>2〜3行のスクリプトで簡単に
の件、いざ書いてみたらもうちょっと膨れました(土下座)

var doc=app.activeDocument;
var txtObj=doc.textFrames[0].parentStory;
var repTxtObj=txtObj.contents.replace(/([^\n\r]?)[\n\r]+([^\n\r]?)/g,"$1\r$2");
repTxtObj=repTxtObj.replace(/^\r+/,"");
repTxtObj=repTxtObj.replace(/\r+$/,"");
var txtAry=repTxtObj.split("\r");
for(i=0; i<txtAry.length; i++){
txtAry[i]="\r\r"+eval(i+1)+"\r"+txtAry[i];
}
txtObj.contents=txtAry.join("");

InDesignの新規ドキュメントにテキスト原稿ファイルを配置し、上記のスクリプトをかけたのち、それは開きっぱなしにして作業用ドキュメントで1つのテキストフレームを選択して「PlaceOptionalText_β.jsx」を実行、合番を聞かれたら原稿テキストの行番号を入力、という流れを提案してみます。

>いき親分
よろしければ後日、改めてテストにご協力頂けますでしょうか。。起動しない、テキストファイルを読み込まない、流し込めない、なんだか臭い、など具体的なダメっぷり、ダメ発覚時の挙動、ソーステキストの形式など頂ければ大いに幸いです。
本人は日々使い倒してるんですがねえ ^; おかしいな

No.4339 2010/03/04(Thu) 15:51:13
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10

Re: テキストの流し込みについて / fxftp Email URL
盛り上がっていただいてありがとうございます。

いきさんのスクリプト使わせていただきました。ずいぶん助かりました。当方こんな仕事が多いんで。

(z-)さんのもWindowsで使えると「いいな〜」と思います。

Liさんのも試しましたが、CS4ではだめでした。

スクリプトの便利さは、認識していたのですが、使えない(書けない)もどかしさがありました。これからスクリプトにはまってみようと決心したところです。3日坊主にならないといいけど。

No.4343 2010/03/05(Fri) 11:30:53
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)

Re: テキストの流し込みについて / (z-) Email URL
>Liさんのも試しましたが、CS4ではだめでした

CS4の、本来スクリプトを入れる場所に「Version 5.0 Scripts」というフォルダを用意して、その中にスクリプトを入れると大半の旧バージョン用の物は動くのですが、これってJavaScriptだけじゃなくVBも同じでしたっけ?


>(z-)さんのもWindowsで使えると「いいな〜」と思います

肝心な時に役立たずですみませんでした。。
Windowsは高くて手が出ないんですよ^

No.4344 2010/03/05(Fri) 12:31:49
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10

Re: テキストの流し込みについて / いき URL
fxftpさん>>
あのような不完全なものが役に立ったようでほっとしています。
利用の際は、くれぐれもラベル付フレームが配置テキストの行数未満にならないように設定してくださいね(^^;

(z-)さん>>
Liさんのスクリプトの件ですが、私はWin版CS4を持ってないので検証できませんが、VBSならあるいは旧バージョンのものでも動くかもしれません。
しかしLiさんが提供しておられるのは全てコンパイル済のものです。おそらく他バージョンでは動かないでしょう。

もう少し時間ができたら、もういちど(z-)さんのとても便利なスクリプトを試させていただきます!

No.4345 2010/03/05(Fri) 12:49:58
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)