TableReplaceもどき使用例 10/30
アドビ ユーザフォーラム「InDesign」で質問があったので……。
オペレータとは言え、 日々の作業の中でどちらかと言うと検証作業のウエイトが高い私と、時間に追われ実作業に追われる一般的なオペレータとの間にはギャップがあることでしょう。
ええ、わかっています、そのギャップは私と同僚との差にも共通することですから。
ということで、ミシマバイカモさんの便利なスクリプトを例にとり、タブ区切りテキストを表に流し込むスクリプトの知られざる(大袈裟ですね、たまに気付かない方がいらっしゃるという程度でしょう^^;)機能をご紹介します。
なお、もっと以前から発表されていて、同様の機能を持つ市川せうぞーさんのAppleScriptも、LiさんのVB Scriptも同じように動作します。
検証環境:Windows XP/InDesign CS3 v5.0.4
使用スクリプト:InDesignスクリプト配給所のTableReplaceもどき.jsx(CS3でも動作します)
準備
InDesign上で表を用意。
今回の例においては、
上(コピー元)の表の書式は罫線0.25ミリ、16Q新ゴM
下(コピー先)の表の書式は罫線0.1ミリ、11QリュウミンL
手順1
InDesign上で上の表をコピー。
手順2
下の表を選択し、スクリプトパネル上でTableReplaceもどき.jsxをダブルクリック。
結果

結論
TableReplaceもどきを利用すれば、別にエクセルやタブ区切りテキストを用意しなくても、InDesign上の過去の表を、書式を無視して中身だけ新しい表にペーストすることができます。
追記

TableReplaceもどき.jsx を使ってのペースト時、ペースト先の表がコピー元でコピーしたものより多くても、コピー元と同じ行数・列数を範囲選択してやれば流し込めます。
上図はたまたまペースト先のセルを左上から選択してますが、例えば2列目・2行目から3列×3行分選択すれば、その範囲に流し込めます。
……ってなんだか、当たり前のことを書いていますね、私(^^;
ちなみに、Liさんの表テキスト差替.exeの場合、ペースト先のセルのひとつにカーソルを立てるだけで流し込めますし、ペースト先のセルが不足する場合、行を増やすか列を増やすか、あるいは不足分は流し込まないでセルがある分だけ流し込むか、などの選択ができるようになっています。その上エクセルの連結セルの扱いも操作できます。WindowsでのInDesignユーザーにはとても便利。私も今では手放せないツールとなっています。
オペレータとは言え、 日々の作業の中でどちらかと言うと検証作業のウエイトが高い私と、時間に追われ実作業に追われる一般的なオペレータとの間にはギャップがあることでしょう。
ええ、わかっています、そのギャップは私と同僚との差にも共通することですから。
ということで、ミシマバイカモさんの便利なスクリプトを例にとり、タブ区切りテキストを表に流し込むスクリプトの知られざる(大袈裟ですね、たまに気付かない方がいらっしゃるという程度でしょう^^;)機能をご紹介します。
なお、もっと以前から発表されていて、同様の機能を持つ市川せうぞーさんのAppleScriptも、LiさんのVB Scriptも同じように動作します。
検証環境:Windows XP/InDesign CS3 v5.0.4
使用スクリプト:InDesignスクリプト配給所のTableReplaceもどき.jsx(CS3でも動作します)
準備
InDesign上で表を用意。
今回の例においては、
上(コピー元)の表の書式は罫線0.25ミリ、16Q新ゴM
下(コピー先)の表の書式は罫線0.1ミリ、11QリュウミンL
手順1
InDesign上で上の表をコピー。
手順2
下の表を選択し、スクリプトパネル上でTableReplaceもどき.jsxをダブルクリック。
結果

結論
TableReplaceもどきを利用すれば、別にエクセルやタブ区切りテキストを用意しなくても、InDesign上の過去の表を、書式を無視して中身だけ新しい表にペーストすることができます。
追記

TableReplaceもどき.jsx を使ってのペースト時、ペースト先の表がコピー元でコピーしたものより多くても、コピー元と同じ行数・列数を範囲選択してやれば流し込めます。
上図はたまたまペースト先のセルを左上から選択してますが、例えば2列目・2行目から3列×3行分選択すれば、その範囲に流し込めます。
……ってなんだか、当たり前のことを書いていますね、私(^^;
ちなみに、Liさんの表テキスト差替.exeの場合、ペースト先のセルのひとつにカーソルを立てるだけで流し込めますし、ペースト先のセルが不足する場合、行を増やすか列を増やすか、あるいは不足分は流し込まないでセルがある分だけ流し込むか、などの選択ができるようになっています。その上エクセルの連結セルの扱いも操作できます。WindowsでのInDesignユーザーにはとても便利。私も今では手放せないツールとなっています。
>>「まずは使ってみてくださいな。」
そうそう、表の中身を直接コピーしたものを流し替えできることに気付かないまでも、InDesignで表をコピーした後、エクセルにペーストすることもできるし、エディタにペーストすればタブ区切りテキストになるし。
でもそういうことって、慎重な人なら「こんな操作したら壊れるかもしれないから、まず詳しい人に聞いてから……」って思うのかな、とユーザフォーラムの書き込みを見ながら考えていました。
でもそういうことって、慎重な人なら「こんな操作したら壊れるかもしれないから、まず詳しい人に聞いてから……」って思うのかな、とユーザフォーラムの書き込みを見ながら考えていました。
質問者さんの書き込み内容を誤解していたようです、私(^^;
スクリプト作者ご本人のミシマバイカモさんがレスなさっていて、ようやく自分の誤解に気付きました。
セルの太さはコピーしたくないけど、書式はコピーしたかったようです。
アドビユーザフォーラムにレスを追加しましたが、段落スタイルを使えばいいですよね。セル太さをコピーしたくなければ表スタイルを使わなければいい話ですし。
スクリプト作者ご本人のミシマバイカモさんがレスなさっていて、ようやく自分の誤解に気付きました。
セルの太さはコピーしたくないけど、書式はコピーしたかったようです。
アドビユーザフォーラムにレスを追加しましたが、段落スタイルを使えばいいですよね。セル太さをコピーしたくなければ表スタイルを使わなければいい話ですし。
いきさんお久しぶりです。
Adobeフォーラム、私もみてました。
私はLiさん作VBのヘビーユーザーですが、今回のような場合も、エクセルを経由して再流し込みしてました。
ミシマバイカモさんのだと、その手間はいらないのですね。
使ってみます。
#でもLiさんのは本当に便利。手放せません。Macの仕事もたまにあるのですが、それでもWinで表組だけ別に作ってますもん。
Adobeフォーラム、私もみてました。
私はLiさん作VBのヘビーユーザーですが、今回のような場合も、エクセルを経由して再流し込みしてました。
ミシマバイカモさんのだと、その手間はいらないのですね。
使ってみます。
#でもLiさんのは本当に便利。手放せません。Macの仕事もたまにあるのですが、それでもWinで表組だけ別に作ってますもん。
るるさん、おはようございます。
LiさんのVBでも同じ挙動ですよ。
表をコピーして、LiさんのVBの場合は流し込みを開始したいセルにカーソルを入れて「配置」ボタン。
ペースト先の表にあらかじめ設定されている書式に基づいて流し込まれます。
でもフォーラムの質問者さんは、テキストの書式(カーニングやらベースラインシフトやら、いろいろな書式が設定されているらしいです)だけはそのままコピーしたくて、罫線の情報だけペースト先のセルを変更したくないとの事なのでちょっと厄介です。
LiさんのVBでも同じ挙動ですよ。
表をコピーして、LiさんのVBの場合は流し込みを開始したいセルにカーソルを入れて「配置」ボタン。
ペースト先の表にあらかじめ設定されている書式に基づいて流し込まれます。
でもフォーラムの質問者さんは、テキストの書式(カーニングやらベースラインシフトやら、いろいろな書式が設定されているらしいです)だけはそのままコピーしたくて、罫線の情報だけペースト先のセルを変更したくないとの事なのでちょっと厄介です。
いきさん、こんにちは。
こちらはここ数日急に寒くなりました。そちらはいかがですか。
ところで。表差し替えのVBってExcel→IDだけだと完全に思いこんでました・・・(汗)
<<やってみる>>
うわ。ほんとだ。ID→IDでもいけるじゃないですか。しかも、罫線は変わらない。これはますます素晴らしい!
だけど、フォーラムの件は、「スタイルはコピー元を保持」なんですよねぇ・・・。
セル内のスタイルが1パターンなら、段落スタイル作ってセルスタイルで設定すればよいんだけど、細かく文字スタイルあてたり、ローカルで変更しているとなると・・・。どうしたらいいんでしょうね。悩ましい。
こちらはここ数日急に寒くなりました。そちらはいかがですか。
ところで。表差し替えのVBってExcel→IDだけだと完全に思いこんでました・・・(汗)
<<やってみる>>
うわ。ほんとだ。ID→IDでもいけるじゃないですか。しかも、罫線は変わらない。これはますます素晴らしい!
だけど、フォーラムの件は、「スタイルはコピー元を保持」なんですよねぇ・・・。
セル内のスタイルが1パターンなら、段落スタイル作ってセルスタイルで設定すればよいんだけど、細かく文字スタイルあてたり、ローカルで変更しているとなると・・・。どうしたらいいんでしょうね。悩ましい。
るるさん、その通り、ID→IDでもいけちゃうんです。
フォーラムの質問者さんの件、バイカモさんがまた素晴らしいスクリプトを試作してくださったんですが、私の環境でスクリプト走らせると落ちてしまって……。
目下原因調査中です。
フォーラムの質問者さんの件、バイカモさんがまた素晴らしいスクリプトを試作してくださったんですが、私の環境でスクリプト走らせると落ちてしまって……。
目下原因調査中です。
えーと、バイカモです。
後から文字属性を振り直す今の修正バージョンの形よりも、個々のセルの中だけコピー&ペーストを選択セルの数だけ繰り返す形にしたID→IDの表専用のスクリプトにした方が問題が出にくいような気が……火曜日、時間があれば書いてみます。
ただ、コピー&ペーストでフォントの種類やサイズ、ウエイトと言った情報が確実に保持されるという保証もないのでどこまで使えるものになるのか心配です。
同一ドキュメント上であってもOption(Alt)+ドラッグで複製したテキストフレーム内の書体が変わってしまう場合も多々経験していますので、ドキュメントをまたいでコピー&ペーストを行なうような場合は期待に添えないでしょうし……
後から文字属性を振り直す今の修正バージョンの形よりも、個々のセルの中だけコピー&ペーストを選択セルの数だけ繰り返す形にしたID→IDの表専用のスクリプトにした方が問題が出にくいような気が……火曜日、時間があれば書いてみます。
ただ、コピー&ペーストでフォントの種類やサイズ、ウエイトと言った情報が確実に保持されるという保証もないのでどこまで使えるものになるのか心配です。
同一ドキュメント上であってもOption(Alt)+ドラッグで複製したテキストフレーム内の書体が変わってしまう場合も多々経験していますので、ドキュメントをまたいでコピー&ペーストを行なうような場合は期待に添えないでしょうし……
ふんふん、今度試してみましょ。
そういえば、こういうの、昔macと並行して使ってた松下の「JPower」シリーズは完璧でした。
各社とも組版専用機は全滅状態なようですが。
そういえば、こういうの、昔macと並行して使ってた松下の「JPower」シリーズは完璧でした。
各社とも組版専用機は全滅状態なようですが。
おはようございます。
バイカモさん>>
> 同一ドキュメント上であってもOption(Alt)+ドラッグで複製したテキストフレーム内の書体が変わってしまう
なるほど。私も現象を経験していますが、再現性はいまひとつなので様子を見ている段階でした。バイカモさんの環境ではよく起きている現象なのですね。
marumiさん>>
組版専用機は、辛うじて生き残っているものについても売れなくて、下手にバージョンアップしようにも値下げキャンペーンとかは一切ないので、あるメーカーの専用機は最終バージョンではないものを使い続けていたりします(^^;
バイカモさん>>
> 同一ドキュメント上であってもOption(Alt)+ドラッグで複製したテキストフレーム内の書体が変わってしまう
なるほど。私も現象を経験していますが、再現性はいまひとつなので様子を見ている段階でした。バイカモさんの環境ではよく起きている現象なのですね。
marumiさん>>
組版専用機は、辛うじて生き残っているものについても売れなくて、下手にバージョンアップしようにも値下げキャンペーンとかは一切ないので、あるメーカーの専用機は最終バージョンではないものを使い続けていたりします(^^;
完璧でした
バイカモさんがコピペ版スクリプトを書いてくださいました。
ありがとうございます^^
先のバイカモさんのレスにもある通り、しっかりチェックしないと動作に若干の不安要素が含まれることは事実ですが、私の環境(winXP sp2/CS3 v5.0.4)における動作チェックでは問題なく動きました。
ありがとうございます^^
先のバイカモさんのレスにもある通り、しっかりチェックしないと動作に若干の不安要素が含まれることは事実ですが、私の環境(winXP sp2/CS3 v5.0.4)における動作チェックでは問題なく動きました。
コメントの投稿
トラックバック
http://kstation2.blog10.fc2.com/tb.php/310-85e47750











私は、いったん表をテキストに戻して、それをコピーして……と書き込もうかと思いましたが、止めといて正解でした。戻さなくてもいいのですね。