【customUI.xml】リボンのカスタマイズでエラー
MicrosoftOffice製品のリボンは、2007から実装され、カスタマイズが容易なので、私は自分でカスタマイズして使っています。自作したマクロを登録しておくのに便利です。
今回久々にWordのリボンのカスタマイズをやったら、単純なXMLなのになぜかエラーとなり、うまくいきませんでした。
原因と対処を、自分の覚えとして記事にします。
やりたかったこと
やりたかったのは、この記事で紹介したボタンを追加するリボンです。
これを実現するためには、いったんWordのドキュメントをZIPにして、エクスプローラーで開き、中に入っているフォルダのフォルダ構成をいじって、customUI.xmlというテキストファイルを追加します。
詳しいやり方は、こちらを参照してください。私のこの記事では解説しません。
エラー
今回起きたエラーは、次のような現象です。
エラーメッセージも何も出ず、ただ、うまくボタンが表示されない(ボタンのあるタブ自体が表示されない)という不具合でした。
原因
原因は文字コードにありました。
customUI.xmlを文字コードUTF-8で作成しないといけないのですが、Shift-JISになっていました。
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="myRbn_onLoad">
<ribbon>
<tabs>
<tab id="ToolsTab1" label="Tools">
<group id="ToolsGroup1" label="Tools Group">
<toggleButton id="myTgl" label="参照設定着色" imageMso="HappyFace" size="large" supertip="参照設定の着色オンとオフを制御します" onAction="myTgl_onAction" getPressed="myTgl_getPressed" />
</group >
</tab>
</tabs>
</ribbon>
</customUI>
上記のとおり、見た目では分かりません。
最初にcustomUI.xmlを起こしたときに文字コードの設定をUTF-8にしたのですが、その後編集過程において日本語文字(漢字)を挿入したタイミングで、エディタの自動判定機能が働き、文字コードが変えられてしまったのでした。
これに気づくまで4時間くらいかかりました・・・。まさかエディタに足元をすくわれるとは。XMLの記述になにか間違いがあるのかと、全然見当違いのところをずっと調べ、無駄に時間を費やしてしまいました。疲れました。
対策
対策としては、XMLに最初に正しい文字コードを設定することです。
<?xml version="1.0" encoding="utf-8"?>
冒頭部分にこのようにencodingを入れ、エディタで保存するときにも文字コードを確認するようにしました。
これでようやく不具合が解消しました。
感想
久しぶりにXMLをいじると、けっこう忘れていることが多くて、単純なミス(文字コードを確認するなんて、初歩の初歩)もするし、散々でした。
使わない技術は衰えますね。
ということで、次回同じミスをしないように、自分のために記事にしました。
-
前の記事
【WordVBA】相互参照に着色 2023.08.28
-
次の記事
さまざまな就業規則 2023.08.30