Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save monokano/8050de20d9fdf4cf327eb661ff38f374 to your computer and use it in GitHub Desktop.
Save monokano/8050de20d9fdf4cf327eb661ff38f374 to your computer and use it in GitHub Desktop.
inddの段落背景色や段落囲み罫の表示不良を直す(テスト版)
// メイン関数
function main() {
var doc = app.activeDocument;
var initialPage = app.activeWindow.activePage; // 実行前のページを保存
var hasProcessedParagraphs = false; // 処理対象の段落があったかどうかのフラグ
// ドキュメント内のすべてのストーリーをループ
for (var i = 0; i < doc.stories.length; i++) {
var story = doc.stories[i];
// ストーリー内のすべての段落をループ
for (var j = 0; j < story.paragraphs.length; j++) {
var paragraph = story.paragraphs[j];
// 段落背景色または段落囲み罫がONの場合
if (paragraph.paragraphShadingOn || paragraph.paragraphBorderOn) {
showPageOfParagraph(paragraph); // ページを表示する
toggleParagraphShading(paragraph); //段落背景色をトグルする
hasProcessedParagraphs = true; // 処理対象の段落があったことを記録
}
}
}
// 実行前のページに戻る
app.activeWindow.activePage = initialPage;
// 終了メッセージを表示
if (hasProcessedParagraphs) {
alert("実行しました。かならず目視で確認してださい。\n\n表示不良が発生していたら、このスクリプトで発生しないように作り方を改善した方が良いでしょう。");
} else {
alert("処理対象の段落はありませんでした。");
}
}
// 個別の段落の背景色をトグルする関数
function toggleParagraphShading(paragraph) {
// 現在の段落背景色の状態を保存
var currentShadingState = paragraph.paragraphShadingOn;
// 段落背景色を一時的に反転
paragraph.paragraphShadingOn = !paragraph.paragraphShadingOn;
// 段落背景色を元の状態に戻す
paragraph.paragraphShadingOn = currentShadingState;
}
// 段落が属するページを表示する関数
function showPageOfParagraph(paragraph) {
var page = paragraph.insertionPoints[0].parentTextFrames[0].parentPage;
if (page) {
app.activeWindow.activePage = page;
}
}
// スクリプトの実行
main();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment