[ 掲示板に戻る ]

過去ログ閲覧モード

テキストフレームを右読みに変更したい / Moto
indesingCC2014を使用しております。

カタログを作成するのですが、
3 2 1
6 5 4
上記のような順番で商品掲載ており、
商品の削除・移動が発生しても、自動で以下の商品が動くように
各商品をインラインオブジェクトで配置したいと考えています。

テキストフレームを左組ではなく、昔の日本語のように右→左の流れにすることって可能なんでしょうか?
教えていただけると幸いです、どうぞよろしくお願いいたします。

No.9385 2018/01/17(Wed) 14:27:42
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38

Re: テキストフレームを右読みに変更したい / お〜まち URL
昔の日本語って別に右→左じゃないと思ってます。看板とか新聞の見出しは右→左に見えるかもしれないけれど、本来は「縦組で行長が1文字」なんです。

ということで
321
654
ですが、縦組で2段組ですね。私ならそうします。

No.9387 2018/01/17(Wed) 18:05:23
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0

Re: テキストフレームを右読みに変更したい / Moto
お〜まち様
返答ありがとうございます。

「縦組で行長が1文字」ってのは初めて知りました。
見出し以外は確かに縦書きですもんね。縦書きの1文字改行って納得です。

カタログの件ですが、やはり縦組みの2段ですかー。
縦組みのテキストフレームにオブジェクトを配置すると90度の回転がかかってしまうのですが、
これはスクリプトなどで回避するしかないのでしょうか?
もし、どこかに設定などがあるのであればご教示いただけないでしょうか。

No.9389 2018/01/18(Thu) 15:34:59
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38

Re: テキストフレームを右読みに変更したい / お〜まち URL
ボタン一発で直せるんですが。
あまりに大量でボタンも面倒というのならスクリプトですかねえ。
どこかに初期設定とかあればいいんですが。

No.9390 2018/01/18(Thu) 18:34:04
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0

Re: テキストフレームを右読みに変更したい / あるふぁ URL
アラビア語でしたっけ、右から左に流れる言語もありますから一応InDesignにそういう機能はあります。でも日本語版のUIには無い機能ですし混乱を招くだけだと思いますので使用は全くおすすめしませんとか言いながらコードを貼っちゃう。

app.selection[0].texts[0].properties={characterDirection:1379028068,paragraphDirection:1379028068,composer:"Adobe 多言語対応単数行コンポーザー",justification:1919379572}

No.9391 2018/01/18(Thu) 19:33:01
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0

Re: テキストフレームを右読みに変更したい / (z-) URL
横組みテキストフレームを左右反転してみたら配置したインラインフレームも普通に反転してしまいました。各フレームに反転の反転を与える手間orz
No.9392 2018/01/19(Fri) 11:26:58
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8
スクリプトの検索置換でのグループ内テキスト / aaa
WindowsのIndesignです。よく出てくる単語修正を
ドキュメント全頁にわたって
一気に検索置換できるJavaスクリプトを作っています。

一応、単一であっても、連結してあっても
テキストフレームに対して問題なく動作するのですが、
なぜか「グループ化されたオブジェクト内のテキスト」は
無視されてしまいます。

テキストフレーム同士のグループでも、
オブジェクトフレームとテキストのグループでも、
該当する単語が含まれたテキストフレームが
何らかの形でグループ化されていると反応しないのです。

グループを解除して再度スクリプトをあてると、
きちんと動作します。

スクリプトは下記のようなものです
グループ内のテキストフレームに入ったテキストも
選ばせるような記述などがあるのでしょうか?

もしよろしければ教えてください。

//プロパティの初期化
app.findTextPreferences.findWhat = NothingEnum.nothing;
app.changeTextPreferences.changeTo = NothingEnum.nothing;

//検索オプション
app.findChangeTextOptions.caseSensitive = true;//大文字小文字を区別するかどうか
app.findChangeTextOptions.kanaSensitive = true;//カナを区別するかどうか
app.findChangeTextOptions.widthSensitive = true;//全角半角を区別するかどうか

//検索条件と置換後の文字列との設定
app.findTextPreferences.findWhat = "あああああ";
app.changeTextPreferences.changeTo = "いいいいい";
//ドキュメント全体に対して
for (var i = 0; i < app.activeDocument.pages.length; i++) {
var pageObject = app.activeDocument.pages[i];
for (var j = 0; j < pageObject.textFrames.length; j++) {
pageObject.textFrames[j].parentStory.changeText();
}
}

No.9380 2018/01/16(Tue) 14:25:30
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0

Re: スクリプトの検索置換でのグループ内テキスト / admi
グループを無視するallPageItemsを使えば回避できますよ。

for (var i = 0; i < app.activeDocument.pages.length; i++) {
var pageObject = app.activeDocument.pages[i];
for (var j=0; j < pageObject.allPageItems.length; j++) {
if(pageObject.allPageItems[j].constructor.name=="TextFrame"){
pageObject.allPageItems[j].parentStory.changeText();
}
}
}

No.9381 2018/01/16(Tue) 16:00:26
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36

Re: スクリプトの検索置換でのグループ内テキスト / aaa
admiさま

ありがとうございます!解決しました。
大変助かりました!

No.9382 2018/01/16(Tue) 17:02:15
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0

Re: スクリプトの検索置換でのグループ内テキスト / お〜まち URL
あれ、終わっちゃったかな?

ドキュメント全体に対して検索置換でいいなら、1行で済みますよ。

//ドキュメント全体に対して
app.activeDocument.changeText();

No.9383 2018/01/16(Tue) 17:56:52
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0

Re: スクリプトの検索置換でのグループ内テキスト / admi
お〜まちさま

ドキュメント全体に対して、1行でできるのですね。
勉強になりました。

No.9384 2018/01/17(Wed) 10:13:06
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36

Re: スクリプトの検索置換でのグループ内テキスト / お〜まち URL
反応あった! うれしい。ので少し解説します。
changeText()メソッドを持っているのは次のオブジェクトになります。
Application
Document
Story
XmlStory
Text
TextColumn
TextStyleRange
Paragraph
Line
Word
Character
InsertionPoint
XMLElement
Table
Cell
Column
Row
TextFrame
TextPath
(実際には意味のないものもありますが)

このうち図の「すべてのドキュメント」に相当するのがApplicationです。なので
app.changeText();
で実行します。
「ドキュメント」に相当するのがDocumentなので
app.activeDocument.changeText();
のようになります。
「ストーリー」に相当するのがStoryおよびXmlStoryなので
pageObject.allPageItems[j].parentStory.changeText();
などのようにStoryに対して実行します。
「ストーリーの最後へ」に相当するものはスクリプトではありません(もしかしてあるのかも)。その代わり、段落だったり、表だったり、テキストフレームだったり、より細かい範囲で実行できることになります。

No.9386 2018/01/17(Wed) 14:31:24
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0

Re: スクリプトの検索置換でのグループ内テキスト / admi
お〜まちさま

丁寧に教えていただきまして、ありがとうございました。
changeText()の理解が深まりました。
aaaさんも見ているといいですね。

No.9388 2018/01/17(Wed) 19:54:48
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
PDF入稿 画像処理の自動化 / igaga
Macにてインデザインcc2015を使用しています。
PDF入稿をする場合に、以下のような手順で、ワンクリックで全て自動的にこなしてくれるようなことはなんらかの方法(スクリプトとか??)で実現できるものなのでしょうか?

1)インデザインに配置しているリンク画像を原寸近くまでリサイズする
2)リンク画像をレイヤー統合し、RGBからCMYKに変換する
3)リンク画像にアンシャープネスをかける
4)任意のPDF設定で入稿用PDFを書き出す

今ならこういったことも可能なのかなと思いまして。ご教示いただけましたらありがたいです。
よろしくお願いいたします。

No.9376 2017/12/19(Tue) 14:21:41
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:57.0) Gecko/20100101 Firefox/57.0

Re: PDF入稿 画像処理の自動化 / (z-)
3)の工程までなら、
むかし有名だったのはこちらの「仕上げ屋」なのですが
http://nakatoji.lolipop.jp/index.php/products
CS3ぐらいまでしかろくに動かなかった記憶があります。
現行バージョンに対応するべく鋭意制作中とのことですが、いつになるやら。

その「仕上げ屋」不在の穴埋めに、有志で開発した「shag」というやつがあります。メールにて配布しております。
http://pocketdtp.blog16.fc2.com/blog-entry-457.html
こちらも開発は途中で止まっているため、一部のボタンコントロールは飾りですが…ドキュメント全体の一括処理ならとりあえず大きな問題は起きないかなと思います。
リサイズのついでにアクションを実行できるようにしてあるので、モード変換なりアンシャープマスクなり、なんなりと。

4)まで含めてワンクリックで、というのは(フリーの物では)まだちょっと見たことがないです。
可能かどうか、というと当然可能なのですが、
ご予算しだいでしょう。

No.9377 2017/12/20(Wed) 12:43:40
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8

Re: PDF入稿 画像処理の自動化 / 小泉 URL
私の所の古いのですが、動くかな。。

リサイズ
http://uni-factory.jp/?p=28

PDF保存
http://uni-factory.jp/?p=179

公開してませんが、2と3も自分用のスクリプトはあります。
アンシャープネス→アンシャープマスクですね。


2と3はPhotoShopのアクションドロップレットでもある程度はできます。


(z-)さんの通りまとめても出来ますが、どこかに製作を依頼するか、
プログラムを勉強しないと出来ませんね。

No.9378 2017/12/20(Wed) 15:27:41
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8

Re: PDF入稿 画像処理の自動化 / igaga
(z-)さま
小泉さま

アドバイスいただきましてありがとうございます。
いずれも有益な情報で大変助かりました!
まずは、shagと小泉様のPDF保存を組み合わせてトライしてみます。

また、自分仕様にスクリプト制作をお願いしてしまおうというのは思いつきませんでした! より細やかにできるのならば、お金を払ってでも欲しいものなので検討してみます!


抱えている問題の背景としては、下版後にもデータの別件使用などがあるために、色補正したレイヤー統合前のオリジナルサイズのRGB画像をリンクさせたものをマスターの扱いにしておきたく。
PDF入稿の場合に限りますが、入稿の都度、たくさんあるページを印刷用にデータを作って取っておくことに無駄を感じて。PDF書き出しの際に、ワンクリックで全部できたら夢のようだなと思っていて。
同じ思いの方もいらっしゃいますかね??

No.9379 2017/12/21(Thu) 15:33:01
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:57.0) Gecko/20100101 Firefox/57.0
インライングラフィックの横幅を一括で変更したい / q3
CS6を使用しております。

「インライングラフィックの挿入」で、
あるオブジェクトを、インデントさせた見出しの横に配置し、
「オブジェクトスタイル」に登録しています。
これらのオブジェクトの横幅を一括で変更したいのですが、どういう方法を使用すればいいでしょうか。
(見出しの下ではないので、段落罫線の機能で代用できる感じではありません。)

何百箇所もあるため、1つ1つオブジェクトの幅を変更していくのは手間がかかってしまいます。
「オブジェクトスタイル」でどうにかできないか探ってみたのですが、よく分かりませんでした。

基本的なことでしたら、すみません。
よろしくお願いします。

No.9372 2017/12/04(Mon) 18:15:30
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/601.7.8 (KHTML, like Gecko) Version/9.1.3 Safari/537.86.7

Re: インライングラフィックの横幅を一括で変更したい / お〜まち URL
CC2018ならオブジェクトスタイルでできるんですが、CC2017までではどうしようもないですね。
オブジェクトの検索・置換にもサイズ変更はないですし。

スクリプトだったらすぐなんですけどねえ。
var doc = app.activeDocument;
var t = doc.objectStyles.itemByName("YY");
for (var i = 0; i < doc.stories.length; i++){
var figs = doc.stories[i].splineItems;
for (var j = 0; j < figs.length; j++) {
if (figs[j].appliedObjectStyle == t) {
var a = figs[j].geometricBounds;
figs[j].geometricBounds = [a[0], a[1], a[2], a[1] + 25];
}}}
こんな感じで(YYのところにオブジェクトスタイル名、25のところに変更後の幅を入れる)

No.9373 2017/12/04(Mon) 20:02:15
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0

Re: インライングラフィックの横幅を一括で変更したい / q3
お〜まちさま
スクリプトならCS6でもできるということですか?
といっても、スクリプトは当方には未知の世界でして手が出ません。
何か方法はないということは分かったので、諦めて1つ1つに作業することになると思います……。ありがとうございました。

No.9374 2017/12/04(Mon) 21:29:26
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/601.7.8 (KHTML, like Gecko) Version/9.1.3 Safari/537.86.7

Re: インライングラフィックの横幅を一括で変更したい / あるふぁ
そのインライングラフィックはすべて同じもの?それとも幅は揃えてあるけどそれぞれ別のものですか?
前者なら検索置換に「クリップボードの中身」を使えば対処できそうですが

No.9375 2017/12/06(Wed) 10:07:37
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0
上付き文字の設定 / やそはち
初めまして。
Indesign CC2017を使用している者です。

16ページのパンフレットを作っていて、クライアントから一部のページのみ
「上付き文字のサイズを変更してほしい」という依頼がありました。

しかし、今まで環境設定で一括で%設定したことしかなく
そこで設定すると全ページに反映されてしまいます。

一部分のみ設定することは可能なのでしょうか?
教えていただけると幸いです、どうぞよろしくお願いいたします。

No.9366 2017/11/17(Fri) 16:17:54
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.3.5 (KHTML, like Gecko) Version/11.0.1 Safari/604.3.5

Re: 上付き文字の設定 / Cymk
同じファイル内では変えられないみたいですね。
割中+強制改行を使うというのはいかがでしょうか。
他にはデータを分けてbookで連結という手もありますが、16ページなのであまり意味がないかと思います。

No.9367 2017/11/17(Fri) 17:20:51
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36

Re: 上付き文字の設定 / Uske_S URL
上付文字に対して、単純に長体・平体で90%とか120%とかではだめでしょうか?
必要なら文字スタイルをひとつ作ればいいと思いますが。

No.9368 2017/11/17(Fri) 17:26:53
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36

ご回答ありがとうございました。 / やそはち
Cymkさま
Uske_Sさま

アドバイスいただきありがとうございます。
いろいろと試してみようと思います、
ありがとうございました。

No.9369 2017/11/20(Mon) 09:07:49
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.3.5 (KHTML, like Gecko) Version/11.0.1 Safari/604.3.5

Re: 上付き文字の設定 / works014 URL
もう解決しているようですが…
環境設定での設定は文字サイズとベースラインシフトを%で設定するだけですから、その変更したい設定を文字パネルで設定して「文字スタイル」作成→適用で問題は無いでしょうね…ただ、ベースラインシフトは相対値では無理ですので、文字サイズ毎に複数作成する必要があるでしょうが…

No.9370 2017/11/20(Mon) 23:46:00
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:57.0) Gecko/20100101 Firefox/57.0
表のページごとのセルの数 / JS
はじめまして。
Indesign CS6で、JavaScriptを使ったスクリプトを勉強しています。
連結されたテキストフレームにまたがって作成した表のページごとのセル数などを表示しようと思っています。
画像の場合だと10×10の表なので「全セル数:70」となるようにしたいのですが、

objDoc = app.activeDocument;
objTF = objDoc.textFrames[0];
objTable = objTxt.tables[0];
cellCnt = objTable.cells.length;
columnCnt = objTable.columns.length;
rowCnt = objTable.rows.length;
alert("全セル数:" + cellCnt);

だと「100」になります。
どこをどう直せばいいでしょうか?
お知恵をおかりできれば幸いです。

No.9350 2017/11/08(Wed) 14:08:43
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8

Re: 表のページごとのセルの数 / お〜まち URL
(管理者 様:追記部分が別スレッドになってしまっているので、こっちにつなげることってできないですかね)

あるセルが、どのテキストフレームにあるかをスクリプトから調べることは今のところできないはずです。
(CC2017まで。CC2018はまだ調べてない)
もし間違っていたら、ごめんなさい。

ですので、テキストフレーム中のセルの数を調べることは、スクリプトではできないと思います。プラグインかエクステンションだと可能かも知れません。(使えないので分かりません)

No.9352 2017/11/08(Wed) 16:52:24
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0

Re: 表のページごとのセルの数 / YUJI
お〜まちさん、すいません。
繋げることはできません。

No.9354 2017/11/08(Wed) 16:59:00
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36

Re: 表のページごとのセルの数 / Cymk
スクリプトはほとんど出来ないので見当違いになるかも知れませんが…
プリセットの「SplitStory.jsx」の挙動を使えばいけるかもです。
テキストフレームをコピー→全面にペースト→そのフレーム内のセルを数える→増やしたフレームは処分 みたいな
ストーリーを分離した際にセルもテキスト同様分離されるのはCC2015で検証済みです。

No.9355 2017/11/08(Wed) 17:18:39
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36

Re: 表のページごとのセルの数 / お〜まち URL
あー、それを使えば行けますね。

//最初のテキストフレーム
var txf0 = app.activeDocument.textFrames[-1];
//最初のテキストフレームを複製(表も分割される)
var txf1 = txf0.duplicate();
//複製したテキストフレーム内のセルを数える
var cellCnt = txf1.tables[0].cells.length;
//複製したテキストフレームを削除する
txf1.remove();
alert("全セル数:" + cellCnt);

です。

No.9356 2017/11/08(Wed) 18:35:59
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0

Re: 表のページごとのセルの数 / JS
管理者さま
追記部分を別スレッドにしてしまって申し訳ございません。
Cymkさま&お〜まちさま
さっそくのアドバイスありがとうございます。

お〜まちさんの
>//最初のテキストフレーム
>var txf0 = app.activeDocument.textFrames[-1];

の[-1]で???となりましたが、
var txf0 = app.activeDocument.textFrames[0];
のしても期待した結果が得られました。
ありがとうございました。

目標としては、連結されたテキストフレームにまたがって作成した表があって、
セルにある段落スタイルの適用された文字列をテキストフレームごとに調べて
その文字列のあるページ数を取得したいと思っています。

アドバイスに従って、複製されたテキストフレーム内のセルを検索し、
マッチすればそのテキストフレームのページ名を取得する感じで
進めていこうと思います。

今回は、本当にありがとうございました。

No.9357 2017/11/08(Wed) 22:06:25
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.3.5 (KHTML, like Gecko) Version/11.0.1 Safari/604.3.5

Re: 表のページごとのセルの数 / (z-)
解決済みでしょうか。ちょっと書いて試してみました。
単純にセル内の挿入点の座標が対象テキストフレーム内に収まっているか見ています。
書くのはそんな単純でもないですが…

objDoc = app.activeDocument;
objTF = objDoc.selection[0]; //選択したテキストフレーム
objTable = objTF.parentStory.tables.everyItem(); //ストーリー内のすべての表

cellCnt = 0;
objRow = objTable.rows; //表の"行"コレクション
for ( i = 0; i < objRow.length; i++) { //各行のループ
pepsi = objRow[i].cells[0].insertionPoints[0].baseline; //先頭セルの挿入点ベースライン座標 : Y
fanta = objRow[i].cells[0].insertionPoints[0].horizontalOffset; //先頭セルの挿入点座標 : X
gb = objTF.geometricBounds; //テキストフレームの四辺座標
if (pepsi >= gb[0] && pepsi <= gb[2] && fanta >= gb[1] && fanta <= gb[3] ) { //中に収まっているかみる
cellCnt += objRow[i].cells.length; //足す
}
}
alert ("全セル数:" + cellCnt);

-----------
(ついでに)JSさんの書かれた
objTF = objDoc.textFrames[0];
objTable = objTxt.tables[0];
では、表の始まりのテキストフレーム以外ではエラーが出るはずです。

No.9358 2017/11/09(Thu) 12:42:09
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8

Re: 表のページごとのセルの数 / あるふぁ
セルからそのセルがあるページ数を得るなら
cellObj.texts[0].parentTextFrames[0].parentPage.name
でいけると思います

(z-)さんのやつは連結したテキストフレームが次のスプレッドの同じ位置にあったら意味ないような

No.9359 2017/11/09(Thu) 13:19:16
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0

Re: 表のページごとのセルの数 / Uske_S URL
あるふぁさんの仰る通り、Cell.texts[0]でもいけますし、Cell.insertionPoints[0]でもいけます。

var a = app.activeDocument;
var f = a.textFrames[0];
var c = f.tables[0].cells;
var r = {};
for (var i=0; i<c.length; i++){
var nom = c[i].insertionPoints[0].parentTextFrames[0].parentPage.name;
(!r[nom])? r[nom]=1: r[nom]++;
}

for (key in r) $.writeln(key+"頁:"+r[key]);

No.9360 2017/11/09(Thu) 15:03:14
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36

Re: 表のページごとのセルの数 / お〜まち URL
あるふぁさん、Uske_Sさん、ありがとうございます。
そうだったんですね。一旦テキストレベルに入るとparentTextFramesが使えるんですね。
今までCellのプロパティばかりみてました。

#やっぱりおじさんそろそろ現役引退ですわ

No.9361 2017/11/09(Thu) 15:12:48
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0

Re: 表のページごとのセルの数 / JS
(z-)さん、あるふぁさん、Uske_S さん、そしてお〜まちさん、
アドバイスありがとうございます。
ですが、ぼくのスキルを越えた話が進んでいて、
追いついていません。。。
参考にできなくて申し訳ございません。

var doc = app.activeDocument;
var pageObj = doc.pages;
for (i=0; i<=pageObj.length; i++)
{
var txF = doc.textFrames[i];
var txF2 = txF.duplicate();
var cellCnt = txF2.tables[0].cells.length;
txF2.remove();
alert((i+1)+"ページのセル数:" + cellCnt);
}

では、スプレッドだと期待するページ配置の順序と異なるので
今から勉強します。。。ここは自力で乗り切りたいと思っています。

No.9362 2017/11/09(Thu) 16:40:53
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8

Re: 表のページごとのセルの数 / (z-)
あるふぁさんご指摘の通りでした失礼しました。
しかしparentPage.nameだけだとセクション違いの同名ページで騙されますよね(屁理屈w)

cellObj.texts[0].parentTextFrames[0].parentPage.appliedSection.indexも参照するべきでしょうか。

うちもいつかはお〜まちさんに感謝される人になってみたいものですw

No.9363 2017/11/09(Thu) 17:51:53
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8

Re: 表のページごとのセルの数 / お〜まち URL
あとから読まれる方のためにまとめておきます。

一つはテキストフレームを複製して、その中にあるセルの数を数える方法で、No.9356が、その例文です。

もう一つは、セル一つ一つがどのページにあるかを調べる方法です。目的のテキストフレームと同じページだったらカウントします。これを使う目的は、テキストフレームを複製したくない場合。(連結数が多いとか、下手にドキュメントをいじりたくないとか)
ただし、この場合は前提条件があって、「それぞれのテキストフレームが別のページにある場合」に使えます。1ページの中で複数のテキストフレームを連結している場合では使えません。
この場合のコードはNo.9360なんですが、初心者には難しすぎるので、分かりやすく書き直したものが次のコードです。

//セルの数を入れる変数
var cellCnt = 0;
//セル中のテキストのページ番号を入れる変数
var parentPageName;
var objDoc = app.activeDocument;
var objTF = objDoc.textFrames[0];
//テキストフレームがあるページ番号を変数targetPageNameに入れる
var targetPageName = objTF.parentPage.name;
objTable = objTxt.tables[0];
//セルの数だけ繰り返す
for (var i = 0; i <objTable.cells.length; i++){
parentPageName = objTable.cells[i].texts[0].parentTextFrames[0].parentPage.name;
//セル中のテキストから取得したページ番号と、
//テキストフレームのページ番号が同じ場合にカウントを増やす
if (parentPageName == targetPageName){
cellCnt++
}
}
alert("全セル数:" + cellCnt);

他にも手段があるかも知れませんが、とりあえず、この2つの方法が提示されています。参考にしてください。

No.9364 2017/11/09(Thu) 19:26:05
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0

Re: 表のページごとのセルの数 / お〜まち URL
連投すみません。
先ほどの「セル一つ一つがどのページにあるかを調べる方法」ですが、
× objTable = objTxt.tables[0];
〇 objTable = objTF.tables[0];
です。

が、テキストフレームに目印をつけておくことで、ページ番号を調べずに済むということに気づきました。その場合、「それぞれのテキストフレームが別のページにある場合」という前提条件が不要ですので、こちらの方がより広く使えるかと思います。

//セルの数を入れる変数
var cellCnt = 0;
//テキストフレームに付けるラベル
var myLabel = "このフレーム";
var objDoc = app.activeDocument;
var objTF = objDoc.textFrames[0];
//現在のラベルを退避する
var oldLabel = objTF.label;
//新しいラベルを付ける
objTF.label = myLabel;
objTable = objTF.tables[0];
//セルの数だけ繰り返す
for (var i = 0; i < objTable.cells.length; i++){
  //セル中のテキストの親のテキストフレームのラベルを取得
  var cLabel = objTable.cells[i].texts[0].parentTextFrames[0].label;
  //cLabelと目的のテキストフレームのラベルを比較して
  //同じだったらカウントする
  if (cLabel == myLabel){
    cellCnt++
  }
}
//テキストフレームのラベルを元に戻す
objTF.label = oldLabel;
alert("全セル数:" + cellCnt);

ラベルとはスクリプトラベルのことです。

No.9365 2017/11/09(Thu) 19:55:13
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0
InD-Boardの投稿時のURL欄 / お〜まち URL
この掲示板のURL欄ですが、https://〜だとはじかれてしまいました。急ぎませんので、修正できるようであればお願いします。
(私のサイトはhttpで来てもhttpsに自動転送するので実害はないのですが)

No.9353 2017/11/08(Wed) 16:56:50
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0
全2099件 [ ページ : << 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ... 300 >> ]