リンクをクリップボードにコピー
コピー完了
以前、重大な問題を報告しましたが、改善されないため周知と早期の改善を望み投稿いたします。
【問題】
InDesignCC2017.1でヘッダーやフッターを設定した表をコピー&ペーストするとヘッダーフッターが消える。
カット&ペーストでも同様で、Windows、Mac版のどちらでも起こります。
【回避策】
表のテキストボックスの伸縮や、セル内文字を変更するなど表に何等か手を加えるとヘッダーフッターが復帰します。
尚、海外ではすぐにバグフィックスが出ましたが、日本語版では未だ未修正のままです。
参考までに海外のフォーラムです。
InD CC 2017: Tables - Header & Footer disappears when duplicating the table.
ヘッダーフッターが消えても、溢れとみなされずプリフライトでも検知されない上に、
PDFを書き出すとヘッダーフッターはありません。
尚、恐らく2017.1のマイナーアップデート時に発生した問題と思われます。
Adobe様、早期改善をお願いいたします。
以上
リンクをクリップボードにコピー
コピー完了
バグフィックスの情報、知りませんでした。ありがとうございます!
こちらで修正パッチが配布されているのですね。
Troubleshoot issues after updating to InDesign CC 2017.1
このページは英語のみで、日本語訳のページはないのですが、
修正パッチを試してみたところ、日本語版InDesign CC 2017もちゃんと修正されました。
Adobeの場合、英語版のみフィックスするというのはちょっとありえないので、
とくに断り書きがない限り、言語版の違いはないものです。
それにしても、日本のユーザーにアナウンスせず放置するのはいかがなものかと思いますよね~
リンクをクリップボードにコピー
コピー完了
monokanoさん、返信ありがとうございます。
この問題は5月か6月頃に報告した時に既に知っていたようですが、
重大な問題にも関わらず改善されないままCC2018が出た上に、
日本のサイトではどこにも情報がないため、周知したほうがよいという思いと、
このまま放置されるかもしれないという危機感から投稿しました。
それと、パッチ試されたのですね。
以前、パッチが出た時にAdobeにパッチを当ててもよいか確認した時は、
あれは海外向けで日本語版では検証などしておらず どんな問題が出るか分からないため当てないでくれと言われました。
何もなければ良いのですが。。
多くの人がこの問題を知ってトラブル回避に役立ててもらい 早期の改善を望むばかりです。
リンクをクリップボードにコピー
コピー完了
手前味噌ですが、コピー時とペースト時に警告をするスクリプトを用意しました。
修正パッチは不安があるけど何かしら手を打ちたいという方がいればお試しください。
InDesign CC2017(12.1)で表のヘッダーとフッターが消える - DTPab
記事でも触れましたが、ドラッグによる複製までは対応できていません。予めご留意ください。
リンクをクリップボードにコピー
コピー完了
yusuke.sさん、警告のスクリプトありがとうございます。
ペースト時に消えた事に気付かない人もいると思いますので、
手を打ちたい方には嬉しいスクリプトですね。
それと、書かれているドラッグでの複製もそうですが、
マスターページに配置したヘッダーフッターのある表を、
各ページ上でオーバーライドしても消えます。
表が複製されるという行為全てで消えるようです。
組版後に、全ての表のあるテキストボックスをスクリプトを使い、
1mm伸ばして1mm縮めるくらいの事をすればよいのかもしれませんが、
本来ユーザーがここまで苦労する必要はないので早く修正してもらいたいです。
リンクをクリップボードにコピー
コピー完了
念のため、下記の2種類の.inddを用意して検証してみました。
A. 1 をパッチ適用後の.appで開くと、そのままです。隠れていたヘッダが表示されることはありません。
B. 2 をパッチ適用前の.appで開くと、そのままです。表示されていたヘッダが隠れることはありません。
懸念していたのは、AとBでヘッダの表示/非表示が変化するかもしれない…ということでした。
簡易な検証ですが、ヘッダの表示/非表示は変化しないことが認められたので、パッチ適用後も安全だと思われます。
リンクをクリップボードにコピー
コピー完了
monokanoさん、パッチの検証ありがとうございます。
日本語版でも問題ないのであれば、早くAdobeの正式な見解がほしいですね。
monokanoさんのお陰でパッチの効果は分かりましたが、
日本のユーザーが安心して使用できるようAdobeからの正式なアナウンスがほしいですね。
ありがとうございました。
リンクをクリップボードにコピー
コピー完了
CC2017.1で表のヘッダフッターが消える問題で バグが修正されるまでの対策の一つとして
隠れている全てのヘッダーフッターを復帰させるJavascriptを書きました。
海外のパッチはmonokanoさん動作確認済ですが、日本語版のアナウンスがないので不安があるという方、
Yusuke.sさんのスクリプトと共に 内容を理解した上でお試しください。
スクリプトは、ドキュメントを開いて実行すると全ページ処理します。
テキストボックスの中に表があれば、Y座標を記憶し、
テキストボックスを1mm(環境によってはpoint等)伸ばします。
この時点で消えたヘッダーフッターがあれば復帰し、記憶しておいたY座標に戻します(1mm縮まる)。
つまり、サイズ等何も変わらない状態でヘッダーフッターが蘇ります。
エラー処理等はつけておらず、簡単なテストしかしておりませんが、
バグ対策の選択肢の一つとして、自己責任でお使いください。
※スクリプトによる弊害等ありましても、一切の責任や不利益等は負いません。くれぐれも自己責任でお願いします。
//ここから
//全ページに対して実行する
var pageLen = app.activeDocument.pages.length;
for (var i=0; i<pageLen; i++) {
var myPageObj = app.activeDocument.pages;
allTextFrames (myPageObj);
}
//ページ内の全てのオブジェクトをループ処理でテキストフレームを選別
function allTextFrames(myPageObj) {
var pageAllObjLen = myPageObj.allPageItems.length;
for (var j=0; j<pageAllObjLen; j++) {
var myItemAllObj = myPageObj.allPageItems
if (myItemAllObj.constructor.name == "TextFrame") {
tableInFrame (myItemAllObj);
}
}
}
//表を含むテキストフレームに対して1mm伸ばして元に戻す
function tableInFrame (myTextFrame){
if (myTextFrame.tables.length > 0){
var frameY2 = myTextFrame.visibleBounds[2];
myTextFrame.visibleBounds = [myTextFrame.visibleBounds[0], myTextFrame.visibleBounds[1], myTextFrame.visibleBounds[2]+1, myTextFrame.visibleBounds[3]];
myTextFrame.visibleBounds = [myTextFrame.visibleBounds[0], myTextFrame.visibleBounds[1], frameY2, myTextFrame.visibleBounds[3]];
}
}
//ここまで
リンクをクリップボードにコピー
コピー完了
Q.kenさん、スクリプトありがとうございます。
フレームのサイズ調整で更新するわけですね。
ひとつ気になったのが、Page.allPageItemだとページに触れているオブジェクト以外(PBやマスターにあるもの)が除外されます。
どうせならそれらのオブジェクトも対象としたほうがいいのかな?という気がしました。
//全ページに対して実行する
var doc = app.activeDocument;
//ページ内の全てのオブジェクトをループ処理でテキストフレームを選別
var allObjLen = doc.allPageItems.length;
for (var j=0; j<allObjLen; j++) {
var myItemAllObj = doc.allPageItems
; if (myItemAllObj.constructor.name === "TextFrame") {
tableInFrame (myItemAllObj);
}
}
//表を含むテキストフレームに対して1mm伸ばして元に戻す
function tableInFrame (myTextFrame){
if (myTextFrame.tables.length > 0){
var frameY2 = myTextFrame.visibleBounds[2];
myTextFrame.visibleBounds = [
myTextFrame.visibleBounds[0],
myTextFrame.visibleBounds[1],
myTextFrame.visibleBounds[2]+1,
myTextFrame.visibleBounds[3]];
myTextFrame.visibleBounds = [
myTextFrame.visibleBounds[0],
myTextFrame.visibleBounds[1],
frameY2,
myTextFrame.visibleBounds[3]];
}
}
というわけで少し手直しさせてもらいました^^;;
これでドキュメント中の全オブジェクトが対象になると思います。
リンクをクリップボードにコピー
コピー完了
Yusuke.sさん
マスターページやページの欄外までは考えておりませんでしたが、
全て大掃除したほうがすっきりしていいですね。
手直し、ありがとうございます(^^)
リンクをクリップボードにコピー
コピー完了
リンクをクリップボードにコピー
コピー完了
monokanoさん
Yusuke.sさん
ご協力ありがとうございました。
後日、試してみたいと思います。
ありがとうございました。
リンクをクリップボードにコピー
コピー完了
Mac、Windows両方にアップデートを当てたところ、
ヘッダーフッターが消える事なく表の複製ができる事を確認しました。
Adobe様、投稿してからの早期解決ありがとうございます。
これで大きな問題なくCC2017を使えます。
今後とも、安心して使えるソフトでありますよう
よろしくお願いいたします。
リンクをクリップボードにコピー
コピー完了
ちなみになんですが、このパッチを当てたか当ててないかは、どこかで判断できるのでしょうか。
手元(macOS 10.10.5)で試したのですが、
/Applications/Adobe InDesign CC 2017/Adobe InDesign CC 2017.app/Contents/Frameworks/dvaui.framework/
このframeworkの変更日が変わった以外に何が変わったのかわかりませんでした。
社内で環境の統一を図りたいのですが、「InDesignについて」に表示されるビルド情報は12.1.0.56から変化がありませんでしたので、どこかでそれを確認したいと思っています。
どなたか何か情報をお持ちでしたら、ぜひご教示願います。
リンクをクリップボードにコピー
コピー完了
私が分かるのはMac版だけですが、配布されている「CopyPlugin_MAC.app」のパッケージを開いてみてください。このアプリはAppleScriptで作られていて、スクリプトエディタでコードを確認できます。
結局のところ、
この3つを入れ替えているだけです。他は何の処理もしていません。
これらの「変更日」を確認するしかないと思います。
リンクをクリップボードにコピー
コピー完了
monokanoさん、ありがとうございます。
やっぱり差し替えられた対象の変更日を把握するしかなさそうですね。
スクリプトで対応できないか試してみます。
ありがとうございました!