Skip to main content
1734 Posts
ajabon grinsmith
Community Expert
ajabon grinsmithCommunity Expert
 質問
ブックマークを作成するスクリプト

こんにちは。いつも楽しみに拝見しています。 みんな大好きなスクリプトの悩みです。   InDesign上でブックマークを手動作成するにあたり、 ①テキスト中の改行文字がしおり名では半角スペースに変換される ②先頭から100文字までしか拾われない という個人的難点がありまして、 いつもブックマークパネル上なりPDF上なりでちまちまと修正していたので、 ここはひとつスクリプトで、と思いたち、簡単なものを書いてみました。 長すぎる文言は100字ごとに分けて作成しておき、 あとでAcrobat上でしおりの名前をコピペしてニコイチするという、ださい作戦です。       var doc = app.activeDocument; var sel = doc.selection[0]; //Text var ary = sel.contents.replace(/[\n\r]/g, "").match(/.{1,10}/g); //テストなので10字刻み for(var i = 0; i < ary.length; i++){ var ht = doc.hyperlinkTextDestinations.add(sel); var bm = doc.bookmarks.add(ht, {name: ary[i]}); }         しかし。実行結果がこんなことになりました。 1つ飛ばしで名前が付けられていない。 処理が追いついてないのかと思い、やや書き換えました。 が、結果はまったく変わりませんでした。     var doc = app.activeDocument; var sel = doc.selection[0]; //Text var ary = sel.contents.replace(/[\n\r]/g, "").match(/.{1,100}/g); for(var i = 0; i < ary.length; i++){ var ht = doc.hyperlinkTextDestinations.add(sel); var bm = doc.bookmarks.add(ht); $.slee