InDesignで非表示にできないメニューを非表示にしたい

久しぶりInDesignのまともな記事を書きます。といってもハックなんですが(^^;


InDesignで使わないメニュー項目を非表示にする機能は、皆さんご存知だと思います。メニューから[編集]→[メニュー...]ですね。ダイアログで表示したくないメニューの目のアイコンをクリックすることで表示しなくなるわけです。

ところが、ここ数年の間に追加されたメニューの中には、このダイアログに表示されていないものがあります。

正式な修正依頼のルートとしては、UserVoiceに要望として投稿するのですが、それでは時間がかかります。手っ取り早くできる方法がないかなーと思って探ってみたらいい方法を見つけたよ、というのが今回の趣旨です。

ではどんなメニュー項目がダイアログに存在しないのか、それを調べるために、ダイアログ中の全メニューを非表示にしてみたのがこちらです。

ヘルプ]メニューにあるもの、および[InDesignを終了]は仕方がないとして、それ以外のものは消したいですよね。


実はこの表示/非表示の設定はファイルに保管されているので、ファイルを改変することInDesignを使わなくても変更できます。ファイルの場所は

Windows:c:\Users\[username]\AppData\Roaming\Adobe\InDesign\Version xx-J\ja_JP\メニューセット

Mac:/Users/[username]/Library/Preferences/Adobe InDesign/Version xx-J/ja_JP/メニューセット

です。ここにある拡張子inmsのファイルがメニューの表示/非表示を保管しています。中身XMLなので、テキストエディットやメモ帳などで編集できます。

XMLは大きく2つのブロックに分かれています。

  • hidden-submenu-list:非表示にするサブメニュー項目
  • hidden-menuitem-list:非表示にする実行メニュー項目

です。このうhidden-menuitem-listの方が実際に実行するためのメニュー項目が入っています。例えば、[チェックイン...]の項目を非表示にすると次のエントリが作成されます。

<hidden-menuitem>
    <action-id value="0x15b01" name="KBSCE File menu:kSaveAVersion..."></action-id>
</hidden-menuitem>

保存]は

<hidden-menuitem>
    <action-id value="0x104" name="KBSCE File menu:&amp;Save"></action-id>
</hidden-menuitem>

Bridgeで参照...]は

<hidden-menuitem>
    <action-id value="0x124" name="KBSCE File menu:FileForBrowse"></action-id>
</hidden-menuitem>

になります。

つまり、1つのメニュー項目に対して「value」と「name」という属性を持っているので、これが分かれば非表示にできないメニュー項目も非表示にできる可能性があるということですね。


ということで「value」と「name」を探す旅に出るわけですが、意外とあっさり見つかりました。しかも、「name」は不要で、「value」だけで可能です。

実はこvalue、メニューアクションID(16進数)なんですね。スクリプトからメニュー項目を実行したい場合、ExtendScriptでは、

app.menuActions.itemByID(24833).invoke(); //ドキュメント設定...

というように書きます。人によっては

app.menuActions.item("ドキュメント設定...").invoke();

というようにメニュー名で指定することもあるかと思いますが、InDesignのメニュー名はバージョンによって異なるケースがあるので私は使いません。

上の例ではメニューアクションIDを10進数で指定していますが、XMLの中で16進数で指定するということです(残念なが10進数で試してもダメでした)。

メニューアクションIDを取得するには次のページを参考にしてください。古いですが今でも動きます。

Show InDesign's menu actions | Peter Kahrel


ということで、今回非表示にしたいメニューについては次の記述hidden-menuitem-listの中に記述することで実現できます。上から順に「Adobe Stock を検索...」「Publish Online...」「Publish Online ダッシュボード...」「CC ライブラリ」です。

<hidden-menuitem>
    <action-id value="0x12a"></action-id>
</hidden-menuitem>
<hidden-menuitem>
    <action-id value="0x1bb06"></action-id>
</hidden-menuitem>
<hidden-menuitem>
    <action-id value="0x1bb08"></action-id>
</hidden-menuitem>
<hidden-menuitem>
    <action-id value="0x20d77"></action-id>
</hidden-menuitem>

脚注と後注を変換する...」はねえ、10進数で「-16769022」なんだな。これをどうやっ16進数に変換するのかという知見は持ってないので、プログラムに詳しい人、教えてください。