[[20211130123823]] 『クイックアクセスツールバーのアイコンについて』(KonNo) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『クイックアクセスツールバーのアイコンについて』(KonNo)

クイックアクセスツールにバーに追加したアドインのアイコンは、

    同じ「クイックアクセスツールバーのユーザー設定(Q)」の
    「変更(M)」で「ボタンの変更」のアイコンから選択して変更可能ですが

選択すべきアイコンに希望するようなアイコンが無い場合は

    自分で他のアイコンを指定できますか?

(最初からあるアイコンに希望のアイコンを追加する方法はありますか?)

表示されるアイコンのファイル名が判ればなんとかなりそうな気もするのですが?

< 使用 Excel:Office365、使用 OS:Windows10 >


https://www.saka-en.com/office/office-ribbon-png-bmp-setting/
 こちらなど参考になりますかね?
(.:*.ゆ ゅ) 2021/11/30(火) 13:45

回答、感謝します。

Custom UI Editor Toolでリボンのアイコンは、
指定の画像(32x32,BMP)に変更できることは記事で判りましたが、
クイックアクセスツールバーのアイコンについては記事には何も
記載が有りませんが以下のコードを書き換えれば変更可能になるのでしょうか?

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">

  <ribbon startFromScratch="true">
    <tabs>
      <tab id="hp" visible="true" label="Home">
        <group id="GroupHp" insertBeforeMso="GroupFont" label="HP制作">
            <button id="saka" label="サカエン" imageMso="HappyFace" size="large" onAction="HelloWorld" /> 
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

個人的には、最初からあるアイコンのファイル名が判れば追加が出来そうなのですが
ファイル名は、分かりますか?
拡張子がDLLのファイルだろうとは想像できるのですが違っているかも ?
(KonNo) 2021/11/30(火) 15:27


Office 365アイコン(imageMso)一覧(I) | 初心者備忘録
https://www.ka-net.org/blog/?p=11351

Office2007IconsGallery
Office2010IconsGallery
あたりは私もいまだに参考にしてます。

imageMsoは分かんないけどFaceIdは調べられるよ。って場合は
FaceIdからIPictureDisp作って、GetImageコールバックで指定する。
っていう、めんどくさい手も考えられます。

(白茶) 2021/11/30(火) 16:07


白茶さん、記事の紹介感謝します、

私自身は、コードに精通していない素人です。
白茶さんが教えてくれた意味がほぼ理解できません。

素人は、最初にある100程のアイコンから選択すれば良いので
それ以上を目指すにはスキルのUPが必要なのか理解できますが

具体的な例で解説頂ければ嬉しいです。


又、質問に戻りますが
昔の記憶ではアイコンDLLなるファイルにアイコン集が集められていて
そこからアイコンを選択するイメージでした。
EXCELについては、私の思っている事は通用しないのでしょうか?
(なので何度も最初からあるアイコンのファイル名を知りたがっている訳です。)
(KonNo) 2021/11/30(火) 16:43

 上手く伝わるか自信無いですが...^^;

QATHello
http://suyamasoft.blue.coocan.jp/Ribbon/Sample/QATHello/index.html

 ↑なんかが自力で足掻く分には割と取っ付き易い記事だと思うんですけどね。
  (同サイト内の他のサンプルも合わせて参考にされれば宜しいかと)

 [クイックアクセスツールバーのユーザー設定(Q)]の[変更(M)]って
 「マクロに割り当てられたボタンのラベルまたはアイコンを変更します」という機能ですから
 少なくともマクロが絡んでいる状況だと察してます。

 作業としては
  マクロをQATにボタン割り当てて(この時のアイコンは何でもいい)ファイルを保存
  ファイルをzip解凍して \userCustomization\customUI.xml の中から
  目的の button の imageMso を自分が指定したいimageMsoに書き換えて保存
  ファイルをzip圧縮して元のExcelファイルにリネーム
 という流れになると思います。

 正直、コードほとんど関係ないお話なので
 >コードに精通していない
 としても何とかなると思うんですよね。

 後は、自分が指定したいimageMsoを調べられるかの問題です。
 アイコンのファイル名を探るよりは、まだ結果的には近道だと思いますよ〜

(白茶) 2021/11/30(火) 19:32


QATHelloの紹介ありがとうございます。

記事をトレースしようとしましたが

    3.「クイック アクセス ツールバーのカスタマイズ」で「
        すべてのドキュメントに適用(既定)」ではなく、「QATHello.xlamに適用」を選択します。
で「QATHello.xlamに適用」がでません。
入手した、QATHello.xlsmを利用する事までは類推できますが
スキルが全く記事を理解するには追いついていません。
とても難しいそうなのでGIVE_UPします。

なお、以下は調べた結果です。
調べ方が足りないかも知れませんが。。。。

    windows10なら以下のDLLがアイコンを大量に保有しています。

    C:Windows\\system32\imageres.dll
    C:Windows\\system32\shell32.dll
    C:Windows\\system32\DDORes.dll
    C:Windows\\system32\setupapi.dll
    C:Windows\\system32\wmploc.dll

    EXCELでもIcon EXplorerで調べてみましたが
    残念ながら50個ほど保有しているファイルはありましたが
    今回目的の100以上を保有しているようなファイルは見つけることが出来ませんでした。

(KonNo) 2021/12/01(水) 06:08


 ギブアップされた様なので無駄なレスになるかも知れませんが^^;
 ちょっと実際に試してみましたので、手順を書いておきますね。

 1.アドインを作る
  標準モジュールに

    Sub Test()
        MsgBox "Test"
    End Sub

  と書いた(Option Private Moduleは付けない)新規ブックをxlam形式で保存

 2.作ったアドインをオプションから適用
 3.新規ブック(Book1)を開いた状態で[クイックアクセスツールバーのユーザー設定]を出す
 4.[コマンドの選択]→[マクロ]で「Test」を表示させ
 5.「Test」を[追加] (適用先はとりあえず「Book1 に適用」とします)して[OK]
 6.Book1を保存
 7.保存したBook1.xlsxをBook1.zipにリネーム
 8.Book1.zip内の\userCustomization\customUI.xmlをコピーしてzipの外に貼り付け
 9.コピーしてきたcustomUI.xmlをエディタで開いたら↓こんな感じ

    <mso:customUI xmlns:doc="http://schemas.microsoft.com/office/2006/01/customui/currentDocument" xmlns:mso="http://schemas.microsoft.com/office/2006/01/customui">
        <mso:ribbon>
            <mso:qat>
                <mso:documentControls>
                    <mso:button idQ="doc:Test_1" visible="true" label="Test" imageMso="ListMacros" onAction="Test"/>
                </mso:documentControls>
            </mso:qat>
        </mso:ribbon>
    </mso:customUI>

 この「imageMso="ListMacros"」の部分を書き変えて上書き保存 (例えば「imageMso="A"」←アルファベットの「A」のアイコンイメージ)

 10.編集済みのcustomUI.xmlをBook1.zip内の\userCustomization\配下に上書きコピペ
 11.保存したBook1.zipを元のBook1.xlsxにリネーム
    ↓

 Book1.xlsxを開くとクイックアクセスツールバーに「A」のボタンが追加され、
 押すとメッセージボックスで[Test]と表示される。
 Book1を閉じるとクイックアクセスツールバーからも「A」のボタンが消える

 って感じです。 作業時間5分程度でしたよ。

 適用先を「すべてのドキュメントに適用(既定)」にした場合は、
 %userprofile%\AppData\Local\Microsoft\Office\Excel.officeUI
 が編集対象になるかと思います。

 この場合、該当buttonはアドイン及びマクロをフルネームで指定してあげる記述になってると思いますが(↓こんな感じ)、
 <mso:button idQ="x1:C:_xxx_20211201.xlam_Test_1" visible="true" label="Test" imageMso="ListMacros" onAction="C:\xxx\20211201.xlam!Test"/>

 結局弄るのは「imageMso="ListMacros"」の部分だけですから、作業的にはほぼ同じですね。
 ちなみに
 アドインを解除した状態でこのボタンを押しても、特にエラーにはならず、
 勝手にアドインファイルが開かれ、Testマクロが実行されました。

(白茶) 2021/12/01(水) 11:53


白茶さん、ど素人でもトレースできる手順の解説ありがとうございます。

一度は、諦めましたがもう一度チャレンジしてみました。

(8.までは何とか手順どうりに出来たと思います)

9.のcustomUI.xmlをエディタで開いたら「↓こんな感じ」との事でしたが

	EmEditorで開いたら、コードが全て1行に集められた形式で展開されていませんでした。
(多分、EmEditorの設定で展開された形式になると思われますが手動で改行をいれて見た目は
	「↓こんな感じ」と同じように表示されるようにしました。)

 >(例えば「imageMso="A"」←アルファベットの「A」のアイコンイメージ)

	"A"の変りにアイコンのイメージ(32x32のBMP)を指定するようですが
	フルパスで表示すれば良いのでしょうか ?
		例えば、C:\Users\***\Desktop\Sorted_32.BMP

	その場合、イメージはずっと指定ディレクトリーに保持する必要がありますか?
	それとも、一度Book1.xlsでファイルに登録済みなら削除しても構いませんか?

現在、以上疑問点が有りここで作業が中断しています。

(KonNo) 2021/12/01(水) 14:36


 >"A"の変りにアイコンのイメージ(32x32のBMP)を指定するようですが
 あー、いえいえ。
 imageMsoに指定するのはimageMso(組み込みアイコンを識別する文字列)です。
 ファイルパスを指定しても無駄ですよ〜。

 画像ファイルを使いたい場合は、もう少し面倒な手順を踏まないといけません。

 まずリボンにボタンを作成し、そのボタンに画像ファイルを適用させた後、
 ボタンをクイック アクセス ツールバーに登録する。
 という2段階処理になります。

 アドインに組み込まれているボタンをQATに配置する訳ですから
 リボンにボタンを追加するのはアドイン側での作業になります。

 この作業はさすがにCustom UI Editor等に頼った方が早いと思います。
 手作業でやるにはちょっと複雑です。

 (↓参考)
Office 2007/2010・リボンのカスタマイズ 初心者備忘録
https://www.ka-net.org/ribbon/ri41.html
https://www.ka-net.org/ribbon/ri20.html

 >イメージはずっと指定ディレクトリーに保持する必要がありますか?
 画像ファイルはアドインファイル内に組み込んでしまいますので、
 ファイルの所在を意識する必要はなくなりますね。

 ↓bmpファイルが組み込まれたブックの内部構成例(Excel2010)

 zip
 │  [Content_Types].xml
 ├─customUI
 │  │  customUI14.xml            ←リボンのカスタマイズに関する情報
 │  ├─images
 │  │      test.bmp              ←ココに画像ファイルの実態が格納される
 │  └─_rels
 │          customUI14.xml.rels   ←画像ファイルとボタンのimage属性の関連付けに関する情報
 ├─docProps
 │      app.xml
 │      core.xml
 ├─userCustomization
 │      customUI.xml              ←QATのカスタマイズに関する情報(カスタマイズした場合のみ)
 ├─xl
 │  │  styles.xml
 │  │  vbaProject.bin
 │  │  workbook.xml
 │  ├─theme
 │  │      theme1.xml
 │  ├─worksheets
 │  │      sheet1.xml
 │  │      sheet2.xml
 │  │      sheet3.xml
 │  └─_rels
 │          workbook.xml.rels
 └─_rels
         .rels

 あとご紹介したサイトには、他の手段で画像ファイルを使う方法もあったと記憶してます。
 アレでしたら調べてみては如何でしょうか?

(白茶) 2021/12/01(水) 16:12


白茶さん、追加の情報及び回答ありがとうございます。

添付のURLを参考にCustom UI Editor Toolをインストールする段階で

    setup.exeでインストールが失敗したので「インストールに失敗した場合」で
    何とかToolが起動できるのを確認しました。

    起動のみ確認でWindows10,Excel2021で利用できるかは未知数の段階だと思います。

「クイックアクセスツールバーのボタンイメージを好きな画像にする」を参照して
Custom UI Editor Toolでtest用のEXCELファイルを開いて画像を読み込ませようと
3. 「Insert Icons」ボタンをクリックするも
4.ボタンイメージにしたい画像を選択するような選択画像がでませんでした。

この時点で先に進めないのでどうしようもありません。

長々とお付き合い願い最悪の結果ですが
せっかく教えてもらったのに記載されているURLの内容及びTOOLの使い方も
初心者には理解するのが難しいので今回の質問については諦めます。

最後までお付き合い願い感謝致します。
(KonNo) 2021/12/02(木) 06:10


 承知しました。残念ですね。

 いずれにせよ本来やりたかった事って、
 [ボタンの変更]画面に表示される選択肢以外の「組み込みアイコン」を選択する事だったと思いますので
 それを考えれば独自画像のアイコン化は関係ない話題だったかもしれませんね。

 一応言い残しておきますが、
 先に
 >>自分が指定したいimageMsoを調べられるかの問題です。
 と申しました通り、
 組み込みアイコンを指定するのにアイコンのファイル名は必要ありませんし、
 imageMsoを書き変えるだけならCustom UI Editor Toolは無くても十分可能です。
 imageMsoの一覧も既にリンクを貼ってますので、
 「他の組み込みアイコンを使いたい」ってだけなら割と簡単に出来ますからね。

(白茶) 2021/12/02(木) 09:20


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.