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

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

 

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

 クイックアクセスツールバーにマクロを追加しています
  方法:ファイル - オプション - クイックアクセスツールバー -
     コマンドの選択をマクロにし、マクロを選択 - 追加
 マクロはアドイン化しています

 次に、変更ボタンでアイコンを変えようとしていまして
 アイコンは自分で作ったbmpファイルが付けられないかなぁと考えています

 https://www.ka-net.org/ribbon/ri19.htmlを確認させてもらいました

 会社の環境でダウンロードが認められず、Custom UI Editorは使わない方向で進めておりまして、
 Office2010の制御ファイルのExcel.officeUIをテキストファイルで開いて、
 imageMso="○○"を、image="image1"←自作のアイコンにするとよさそうなところまではわかりました

 Custom UI Editorがあれば、このツールにアイコンを登録?してimageが呼び出せるようになるのかなぁと思うのですが…
 テキストファイルでimage="image1"だけ変えても変化はありません

 Custom UI Editorのダウンロードができないので、Excel.officeUIを開いてテキストファイルでなんとかできるのでしょうか

 ちなみに、現在はこのような状態です
 <mso:button idQ="x1:__○○_AppData_Roaming_Microsoft_AddIns_Addin.xlam_Sub_Help_1" visible="true" label="Sub_Help"  
imageMso="HappyFace" onAction="○○\AppData\Roaming\Microsoft\AddIns\Addin.xlam!Sub_Help"/>
 ↑
 image="image1"に変えてみましたがNG

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


 とりあえず、「自分で作ったbmpファイル」は当然あるべき場所になければいけませんが、それはどうしました?
(チオチモリン) 2021/02/17(水) 16:10

 すみません
 「あるべき場所」がわからず…どこに置けばよいのでしょうか

 ○○\AppData\Roaming\Microsoft\AddIns\ に image.bmp を置いて、
 image="○○\AppData\Roaming\Microsoft\AddIns\image" としてみたところ
 緑色の丸いアイコンになりました…

(しのみや) 2021/02/17(水) 17:02


https://www.ka-net.org/ribbon/ri19.htmlを確認させてもらいました
アドインに対するボタンならば、アドインファイル(.xlam)内のリボン定義を修正すべきでしょう。
(アドインが開いている場合のみ表示&有効化となる)

なので、当該ページ最後にある下記の方です。
『個別のドキュメントに適用されているクイックアクセスツールバーを変更する場合』

画像ファイルもアドインファイルに組み込むことになります。

アドインファイルをZIP解凍した customUI/images 内に画像ファイルを保存して、
customUI/_rels/customUI14.xml.rels にその画像に対する画像ID を定義し、
qat要素のボタン定義では画像IDを使って指定する。

http://addinbox.sakura.ne.jp/Excel_Tips23.htm#S03
(上記には QAT のカスタマイズ例そのものは載せていません)

(AddinBox 角田) 2021/02/17(水) 17:17


ありがとうございます
明日試してみます
先にお礼まで
(しのみや) 2021/02/17(水) 19:29

ツールが使えないのなら、この辺りも参考に
https://thom.hateblo.jp/entry/2018/06/13/043244

(AddinBox 角田) 2021/02/17(水) 21:31


 『個別のドキュメントに適用されているクイックアクセスツールバーを変更する場合』
 を確認させてもらいました

 Lhaplusがインストールされていなかったので、拡張子をzipに変更する対応にしました
 TeraPadは、メモ帳を使いました

 こちらで、リボンにカスタムタブが追加されハートマークのボタンが追加されるところまでできました ★1

 次に
 >画像ファイルもアドインファイルに組み込むことになります
 を進めております

 Addin.xlamの拡張子をzipにする
 ↓
 Addin.zipを右クリックですべ展開にする
 ↓

 >アドインファイルをZIP解凍した customUI/images 内に画像ファイルを保存して、

 customUIフォルダの中に、imagesフォルダを作成し、image.bmpを置きました ★2

 >customUI/_rels/customUI14.xml.rels にその画像に対する画像ID を定義し、

 ここで行き詰っております

 現在のフォルダの状況は以下のような状態です

  Addin - _rels - .rels

      - customUI - images  -  image.bmp ★2で追加

      - docProps - app.xml
             - core.xml

      - xl - _rels - workbook.xml.rels
         - theme - theme1.xml
         - worksheets - sheet1.xml
                - sheet2.xml
                - sheet3.xml               

         - styles.xml
          -  vbaProject.bin
                 -  workbook.xml

          -  [Content_Types].xml

 頂いたページの
 http://addinbox.sakura.ne.jp/Excel_Tips23.htm#S03
 画像を確認させてもらうと、costomUI14.xmlとcostomUI.xmlがありますので、
 こちらと同じ構想で
 customUI.xmlをテキストで作ってcustomUIの中に置けばよいのかなぁと思うのですが…
 正解でしょうか

 >その画像に対する画像ID を定義し、
 画像IDを定義しとは、このような感じでしょうか
 <button id="myButton" label="カスタムボタン" image="image" size="large" />
                        ↑
                       imageにする

 (会社のセキュリティでhttp://addinbox.sakura.ne.jp/Excel_Tips23.htm#S03
 のページが見れなくてスマホで確認中です
 サンプルファイルRibbonTest.xlsmが開けていない状況です)

 何かおかしな方向にいってないでしょうか…

(しのみや) 2021/02/18(木) 12:52


 customUI - _rels - customUI.xml.rels
      - images  - image.bmp
      - customUI.xml

 を作って、中身を書いてエクセルを開いたところ
 読み取れない内容が含まれます。このブックの内容を回復しますか?のMSGが出ましたが、
 はいで進むと、自作アイコンが表示されるところまでできました

 エラーメッセージは出ていますが、少し進みました

 現在、エラーの解消と
 クイックアクセスツールバーに追加されているボタンが変えられるのか…
 勉強中です

 また教えていただけると助かります

(しのみや) 2021/02/18(木) 16:19


> customUIの中に置けばよいのかなぁと思うのですが…
Excel2010 ならば 14 の方です。
Excel2007 が無いのであれば 14 の方だけで良いです。

アイコン画像は Largeサイズ(32×32)と Normalサイズ(16×16) の2種

―― customUI/_rels/customUI14.xml.rels ――
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">

  <Relationship Id="画像ID"
    Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"
    Target="images/画像ファイル名"/> ・・・ (image.bmp)
</Relationships>

―― customUI/customUI14.xml ――
<?xml version="1.0" encoding="utf-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" >
 :
 :
<button id="ボタンのID"

        label="ボタンのキャプション
        size="large"  ・・・・( Normal(16X16)ならば sizeは省略)
        image="画像ID" 
        onAction="呼び出すサブルーチン名" /> ・・・ (Sub_Help)

―――――――――― 
buttonコントロールならば、呼出しサブルーチンのインターフェースは下記

Public Sub Sub_Help(control As IRibbonControl)
  ' control.ID で 「ボタンのID」を参照できる

End Sub

(AddinBox 角田) 2021/02/18(木) 16:38


> 会社のセキュリティでページが見れなくて
http だと見れないのか

申し訳ないですけど、https にする予定はないので・・・
(AddinBox 角田) 2021/02/18(木) 16:43


 ありがとうございます
 教えて頂いたことを、また明日に試してみます
 理解に時間がかかっております… --;

 セキュリティが厳しめの会社でして、
 いろいろフィルターがかかっていたりします
 スマホ画面とここの掲示板で頑張って勉強させてもらいます
(しのみや) 2021/02/18(木) 16:51

 現状
  読み取れない内容が含まれています。このブックの内容を回復しますか?のMSGが出ますが、
  リボンに自作アイコンが表示されるところまでできました

 >Excel2010 ならば 14 の方です。
 14 の方にしてみようとしました

  customUI.xml.rels → customUI14.xml.rels(ファイル名を変える)

  customUI.xml → customUI14.xml(ファイル名を変える)

  customUI14.xmlを開いて、<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" >
                                        ↑
                                       2009/07 にする
  上書き保存をして、ZIP圧縮をして拡張子を変えてエクセルを開くと、
  読み取れない内容が含まれています。このブックの内容を回復しますか?のMSGが出たうえで、
  カスタムボタンが表示されなくなりました…

  解消方法を探しております

 環境
  Excelは2010が入っています
  ClassicMenuというツールで、前のバージョンのツールバーが使えるようになっております

 ひとまず、自作アイコンが表示できているcustomUI.xmlで
 onAction="Sub_Help"とし、アイコンクリックで呼び出しはできるようになりました

 課題
 
  ・読み取れない内容が含まれています。このブックの内容を回復しますか?のMSGの解消
  ・Excel2010ですので14で対応
  ・ひとまずcustomUI.xmlでリボンに自作アイコンの表示はできるようになりましたが、
   クイックツールバーに追加したボタンに自作アイコンをつける方法

 また教えていただけると助かります
(しのみや) 2021/02/19(金) 12:19

 >リボンに自作アイコンの表示はできるようになりました
 ならば、それをクイックツールバーに「追加」するだけでは。
(チオチモリン) 2021/02/19(金) 12:46

現在の
・customUI/_rels/customUI14.xml.rels
・customUI/_rels/customUI14.xml
の内容そのままを教えてください。

(AddinBox 角田) 2021/02/19(金) 13:39


 チオチモリンさん

 >それをクイックツールバーに「追加」するだけでは。

 以下方法で追加するのかと思っているのですが、
 ファイル - オプション - クイックアクセスツールバー -
 コマンドの選択をマクロにし、Sub_Helpを選択 - 追加 - OK

 Public Sub Sub_Help(control As IRibbonControl)
 End Sub
 こちらで、引数がついたことにより コマンドの選択をマクロにしてもSub_Helpがあがってこなくなり、頭が停止しています

 なにかおかしな方法になってますでしょうか…

 AddinBox 角田さん

 ・customUI/_rels/customUI14.xml.rels

  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
  <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/>
  <Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/>
  <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/>
  <Relationship Id="myCustomUI" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="/customUI/customUI.xml"/>
  <Relationship Id="loadImageIcon" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="images/image.bmp"/>
  </Relationships>

 ・customUI/_rels/customUI14.xml

 <?xml version="1.0" encoding="utf-8"?>
 <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
   <ribbon startFromScratch="false">
     <tabs>
       <tab id="myTab" label="カスタムタブ">
         <group id="myGroup" label="カスタムグループ">
           <button id="myButton" label="カスタムボタン" image="loadImageIcon" size="large" />
         </group>
       </tab>
     </tabs>
   </ribbon>
 </customUI>

 どんくさいことをしていたらすみません…
(しのみや) 2021/02/19(金) 14:48

 あれ?
 「onAction="Sub_Help"」が無くなってませんか?

 >クイックツールバーに追加したボタンに自作アイコンをつける方法
QATHello
http://suyamasoft.blue.coocan.jp/Ribbon/Sample/QATHello/index.html
ここも参考になるんじゃないかと思います。

 私も↑の見よう見まねで、とりあえず試しに作ってみました
 そのzipをtree表示すると

 zip
 │  [Content_Types].xml
 ├─customUI
 │  │  customUI14.xml
 │  ├─images
 │  │      test002.bmp
 │  └─_rels
 │          customUI14.xml.rels
 ├─docProps
 │      app.xml
 │      core.xml
 ├─userCustomization   ←[クイック アクセス ツールバーのカスタマイズ]により作成された様子
 │      customUI.xml
 ├─xl
 │  │  styles.xml
 │  │  vbaProject.bin
 │  │  workbook.xml
 │  ├─theme
 │  │      theme1.xml
 │  ├─worksheets
 │  │      sheet1.xml
 │  │      sheet2.xml
 │  │      sheet3.xml
 │  └─_rels
 │          workbook.xml.rels
 └─_rels
         .rels

 こんな感じでした。各内容は

 ●[\_rels\.rels]の内容
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

 <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
  <Relationship Id="Ra9cec2c1acd14b76" Type="http://schemas.microsoft.com/office/2007/relationships/ui/extensibility" Target="customUI/customUI14.xml"/>
  <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/>
  <Relationship Id="rId2" Type="http://schemas.microsoft.com/office/2006/relationships/ui/userCustomization" Target="userCustomization/customUI.xml"/>
  <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/>
  <Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/>
 </Relationships>

 ●[\customUI\customUI14.xml]の内容
 <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
  <ribbon startFromScratch="false">
   <tabs>
    <tab id="myTab" label="カスタムタブ">
     <group id="myGroup" label="カスタムグループ">
      <button id="myButton" label="カスタムボタン" image="btnImage1" size="large" onAction="myButton_onAction" />
     </group>
    </tab>
   </tabs>
  </ribbon>
 </customUI>

 ●[\customUI\_rels\customUI14.xml.rels]の内容
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

 <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
 <Relationship Id="btnImage1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="images/test002.bmp"/>
 </Relationships>

 ●[\userCustomization\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:control idQ="doc:myButton" visible="true"/>
    </mso:documentControls>
   </mso:qat>
  </mso:ribbon>
 </mso:customUI>

 ●標準モジュールに書いたマクロ
 Sub myButton_onAction(control As IRibbonControl)
     MsgBox control.ID
 End Sub

 という感じです。 ご参考になれば...

(白茶) 2021/02/19(金) 17:33


すみません。わたしも QAT に関してはあまり理解していなかった。

個別ワークブックのリボン定義で QAT を変更するには
「startFromScratch="true" 」指定が必要になるようです。

<ribbon> ⇒ <ribbon startFromScratch="true">

つまり、既存の(標準の) QAT , リボン が全て消えて、
個別ワークブックのリボン定義で指定された項目のみになります。

既存の(標準の) QAT , リボン も一緒に表示するには、
「既存の(標準の) QAT , リボン 」の定義も
個別ワークブックのリボン定義に含めて記述しなければならないようです。

あまり、現実的ではないですね。

(AddinBox 角田) 2021/02/19(金) 18:07


 ありがとうございます
 帰り道にクイックツールバーもxmlに追加するのでは…?ということが、
 やっと思い付きました
 
 今は手元に試せる環境がないので、のちほど勉強させてもらいます
 ありがとうございます
(しのみや) 2021/02/19(金) 18:34

 >コマンドの選択をマクロ
 ではなく 「すべてのコマンド」 です。
 カスタムタブに表示されているならば、そこにあると思いますので探してください。

(チオチモリン) 2021/02/19(金) 20:38


 白茶さん ありがとうございます
 >「onAction="Sub_Help"」が無くなってませんか?
 customUI14.xml.relsはなぜかアイコンが表示されないので、
 customUI.xml.relsにonAction="Sub_Help"を追加して確認していました。

 チオチモリンさん ありがとうございます
 >「すべてのコマンド」 です
 ありました。追加できました。

 なんとか少しわかったような、わかっていないような…このような状況です
 頂いている書き込みは読ませてもらっておりますが、頭がゆっくりで今はまだ完全に理解できておりません(ごめんなさい)
 時間がかかりそうです

 ですのでずれたことを書いてしまいそうですが…

 AddinBox 角田さん ありがとうございます
 「すべてのコマンド」から追加をすると、userCustomizationというフォルダが作成され そこに設定が書き込まれているようです

 現状
 customUIで、ツールバーのリボンに自作ボタンが表示することができ、
 「すべてのコマンド」で、クイックツールバーにも自作ボタンが表示することができました。
  onActionも問題なく動いています。
 アドインにして新規ファイルも自作ボタンが使えるようになりました。

 課題
 customUI14にすると、リボンに表示されるはずのカスタムボタンが 表示されない

(しのみや) 2021/02/22(月) 12:41


 customUI14もボタンが表示できるようになりました
 ひとまず解決です
 今からもう少し中身を理解します

 また教えていただけると助かります
(しのみや) 2021/02/22(月) 14:08

 >以下方法で追加するのかと思っているのですが、
 >ファイル - オプション - クイックアクセスツールバー - コマンドの選択をマクロ
 につられた回答をしてしまいましたが、
 「クイックアクセスツールバー」への追加(削除)は、リボン上のボタンの右クリックで行うのがお手軽です。
 
(チオチモリン) 2021/02/22(月) 22:57

 チオチモリンさん ありがとうございます

 勉強になります

 なんとなくですが全体を理解できるようになってきました
 Editorがないとちょっとしたことで行き詰ってますけど…
 やろうとしている結果はできてきております
 教えて下さった チオチモリンさん AddinBox 角田さん 白茶さん 感謝です
(しのみや) 2021/02/24(水) 17:07

 あ、ついでに

 [クイック アクセス ツールバーのカスタマイズ]でQATに自作コマンド追加しておいて、
 customUI14.xmlの方では<tab>に「 visible="false"」を追記しておけば、
 カスタムタブは非表示で、QATには自作コマンドが表示される状態に持って行けますので、

 (あたかも)QATにだけ自作コマンドを追加してくれるファイル(であるかの様)に見せることは出ます。
 まぁ、そのまんまですけど、
 恐らく当初の予定ではそうだったのではないかと思って 一応...

(白茶) 2021/02/24(水) 23:32


 白茶さん ありがとうございます
 リボンとツールバーに表示させるので精一杯で
 当初の目的まで追いついていませんでした(汗

 customUI14.xmlで
 <tab id="myTab" label="カスタムタブ" visible="false">にして
 zipにして、xlamで開くと
 読み取れない内容が含まれています…のMSGが出てきました
 はいを押すと
 クイックツールバーのみになったのですが、このMSGの消し方がよくわかりません

 ここ数日試していて、
 よくわからないまま解消したりしなかったりでいまいちよくわかりません…

 <tab id="myTab" label="カスタムタブ">に戻して
 zipにして、xlamで開くと
 読み取れない内容が含まれています…のMSGが出て
 リボンとクイックツールバーにアイコンが表示されます
 (一度このMSGが出ると戻してもMSGが出続ける様子)

 おそらくEditorをつかえばこんなことにはならないのかと思うのですが…
 私以外の方は同じ現象起こるのでしょうか?
(しのみや) 2021/02/25(木) 14:39

 ファイル
  オプション
   詳細設定
    全般
     「アドインインターフェイスに関するエラーを表示する」にチェックは入っていますか?
 
 それがメッセージを出しているなら問題となる行番号を教えてくれているはずなので、記述を調べてみて下さい。

(チオチモリン) 2021/02/25(木) 17:40


 チオチモリンさん ありがとうございます
 ネット調べて
 「アドインインターフェイスに関するエラーを表示する」にチェックを入れて
 エラー内容を確認するといったことの記載があったので
 チェックは入れておりまして…

 たとえば、
 customUI14.xmlの
 <tab id="myTab" l abel="カスタムタブ" visible="false">
          ↑
 このように、スペースを入れて
 xlamをダブルクリックして確認してみると
  カスタム UI実行時エラー
   行5
   列25
   エラーコード0xC00CEE25
   等号が必要です。
 といった風に「アドインインターフェイスに関するエラー」に対するMSGが出てくれるので
 修正ができるのですが

 今私が気になっているMSGは

 xlamをダブルクリック
 ↓
 「読み取れない内容が含まれています。このブックの内容を回復しますか?ブックの発行元が信頼できる場合は、[はい]をクリックしてください。」のMSGで
 「はい」「いいえ」を求められ
 ↓
 はいを押す
 ↓
 読み取れなかった内容を修復または削除することにより、ファイルを開くことができました
 ファイルレベルの検証と修復が完了しました。このブックの一部が修復されたか、破棄された可能性があります。
 ↓
 閉じるボタンを押す
 ↓
 自作ボタンが追加されています

 「読み取れない内容が含まれています。このブックの内容を回復しますか?」のMSGが謎で
 よくわからないまま解消したりしなかったりでいまいちよくわかりません…

 おそらく…解決しづらそうなお話ですが今の状況として書き込みさせてもらいました
(しのみや) 2021/02/26(金) 10:27

「読み取れない内容が含まれています。このブックの内容を回復しますか?」
でとりあえずEXCELに回復して貰います。
で、
自動で修復(または破棄)されたファイルを別名保存してzip解凍し、
元ファイルのzip内の構成および各内容を見比べれば、
どこかに違いが出ているハズです。

そこを重点的に調べれば何かわかるかも知れません
(結局分からないかも知れませんけど...)

経験上、
xml内の属性やスキーマ文字列のスペル誤り(大文字小文字の違い等)程度の事は、
無視されるだけで「読み取れない内容...」のメッセージはそうそう出てこないと思います。

ファイルの欠損やフォルダ構成に関わるリレーション定義ミス等が
原因となっている可能性が高いかなって思ってます。

あるいはシート上に配置している描画オブジェクトの破損とか、
アレも結構壊れやすいですからね...

(白茶) 2021/02/26(金) 10:45


 白茶さん ありがとうございます

 自分がどんくさいことをしている時もありそうですが…
 何回も検証していてまったく同じ作業をしていても
 壊れる時と壊れない時があるので
 zipにしたり拡張子を変えたりしているときに
 壊れることもあるのかなぁ…と思いました

 また何かわかれば書き込みに来ます
(しのみや) 2021/02/26(金) 11:32

コメント返信:

[ 一覧(最新更新順) ]


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