[ 掲示板に戻る ]

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

スクリプトについて / 案山子
たびたびでスミマセン。

001 いも A
002 にく A
003 にく C
004 なす A
005 うり A

上のようにタブ等で区切った文字列を
スクリプトを使って下のように置き換えることは可能でしょうか?

001 いも A
002 にく 〃
003  〃  C
004 なす A
005 うり 〃

下に同じものがあれば、〃の記号に変換し、
左右をスペース埋めるというものです。
大変だと思いますので、可能かどうかだけでも構いません。

No.8343 2014/09/04(Thu) 13:46:17
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0

Re: スクリプトについて / ななし
エクセルで上下2個までならば、関数で簡単にできると思います。
3個以上ですと、エクセルでもスクリプトでもわりと大変です。


001 いも A   001 いも A
002 にく A   002 にく 〃
003 にく C → 003  〃   C
004 にく A   004  〃   A
005 うり A   005 うり 〃  

No.8344 2014/09/04(Thu) 19:36:55
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:31.0) Gecko/20100101 Firefox/31.0

Re: スクリプトについて / 流星光輝 URL
Scriptだと、CSVとかで取り込んで、配列操作で加工だと思いますが、
ななしさんと同じく大変だと感じます。(事前準備とかの面倒さで)

そういう意味で、お手軽にExcelで加工用のシートを提案しておきます。

Excelの関数の組み合わせの説明は長くなるので割愛します。
# 適当に組んだのですが、キャプチャとりましたので、参考になれば幸いです…

スペースパディングはREPT関数で出力するように組んでありますが、その辺りはお好みで(^^;

No.8345 2014/09/05(Fri) 03:22:55
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36

Re: スクリプトについて / 流星光輝 URL
右下のキャプチャが間違ってましたorz ごめんなさい。
正しいキャプチャ画像を貼っておきます。失礼いたしましたorz

No.8346 2014/09/05(Fri) 03:26:39
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36

Re: スクリプトについて / 通りがかり
次の正規表現検索置換でできました。

正規表現検索置換A(いも、にく用)
検索:\t(.+)\t(.)\r((.+\t〃\t.\r)*)(.+)\t\1
置換:\t$1\t$2\r$3$5\t〃

正規表現検索置換B(A、C用)
検索:\t([^〃])\r((.+\t〃\r)*)(.+\t.+)\t\1
置換:\t$1\r$2$4\t〃

これらをクエリに名前を付けて保存し、市川せうぞー様の「run_Queries 」にそれぞれ登録して実行すれば一度にできます。
何度も同じものが出てくる時は、スクリプトに数回ずつ登録すればいいです。

(もっと正確でスマートな正規表現が書けるといいのですが……
 ベテランの皆様から教えていただきたいです)

No.8349 2014/09/05(Fri) 10:56:45
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36

Re: スクリプトについて / こに
InDesignのJavaScriptでも簡単に実現できます その後の処理(表に変換とかスタイル当てるとか)も一緒に組み込めるし
No.8350 2014/09/05(Fri) 11:15:58
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.59.10 (KHTML, like Gecko) Version/5.1.9 Safari/534.59.10

Re: スクリプトについて / あるふぁ URL
indesignのテキストフレーム内に貼っ付けてあって、
文字スタイル等はまだ設定してなくて、
テキストフレームを選択しているという状況を想定して書いてみました。
「左右をスペース埋める」はやってませんが
そのへんはタブの設定とかでやることかと思いまして。

var myParagraphs=app.activeDocument.selection[0].paragraphs;
for (var i=myParagraphs.length-2;i>=0;i--){
var s="";
var a0=myParagraphs[i].contents.split("\t");
var a1=myParagraphs[i+1].contents.split("\t");
for (var n=0;n<a0.length-1;n++) s+=(a0[n]==a1[n]?"〃":a1[n])+"\t";
s+=(a0[n]==a1[n]?"〃\r":a1[n]);
myParagraphs[i+1].contents=s;
}

No.8353 2014/09/05(Fri) 22:34:32
Mozilla/5.0 (Windows NT 6.3; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0

Re: スクリプトについて / 案山子
ありがとうございました。
皆様から頂いたヒントやスクリプトなどを参考に
JavaScriptでやってみたいと思います。
Indesignは、古いデータの数値修正で年に1、2度しか
さわる機会がないのですが、実に面白いソフトですね。
使う人次第でとんでもなく便利になるソフト。
またよろしくお願い致します。

No.8358 2014/09/06(Sat) 18:46:35
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0