「Office Ribbon Editor 」を使って、リボンUIにマクロ実行ボタン追加
はじめに
- 現状:マクロを複数作りましたが、マクロファイルばかり増殖して未活用でした。作成したマクロファイルを探して開いて実行するのが億劫で、結局マクロを使わず作業を始めてました。
- 問題点:しかし、作業の生産性がやっぱり悪いです。なんとかしたい。
- 解決策:そこで、リボンUIカスタマイズソフトを利用して、マクロ実行ボタンを作成しました。
完成イメージ
動作環境
- Windows10
- Office365 or Office2010
リボンUIのカスタマイズソフト
カスタマイズソフトは2種類あります。インストール方法はリンク先を参照願います。サポート終了していますが、私は1のOffice Ribbon Editorを利用中
- Office Ribbon Editor →インストール方法(サポート終了)
- Custom UI Editor Tool →インストール方法と使い方
リボンUI側の作成例
- リボンUIはXMLベースで作れます。
- カスタマイズソフトでは、雛形を自動作成してくれます。あとは、自分好みにカスタマイズ
- 各buttonの「onAction=」後の""内に、実行したいマクロのプロシージャ名を入力します。(例:google)
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="ad" label="myHome00.85">
<group id="web" label="link">
<button id="web_link" label="google"
imageMso="G" size="normal" onAction="google" />
<button id="web_uni" label="Unicode"
imageMso="U" size="normal" onAction="The Unicode Consortium" />
</group>
<group id="sagyo" label="作業">
<button id="haba_size" label="行列幅自動調整"
imageMso="G" size="normal" onAction="行列幅自動調整" />
<button id="half_size" label="英数仮名→半角"
imageMso="S" size="normal" onAction="英数仮名→半角" />
<button id="uni_do" label="unicode表処理"
imageMso="S" size="normal" onAction="unicode表処理" />
</group>
<!--省略-->
</tab>
</tabs>
</ribbon>
</customUI>
VBA側の作成例
- プロシージャ名「google」後の括弧( )内は「control As IRibbonControl」と入力します。(お約束)
- 以下は、ボタンを押すとIEでGoogle検索サイトを開くマクロ例です。
Option Explicit
Sub google(control As IRibbonControl)
Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate ("https://www.google.co.jp/")
End Sub
動作確認
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="ad" label="myHome00.85">
<group id="web" label="link">
<button id="web_link" label="google"
imageMso="G" size="normal" onAction="google" />
<button id="web_uni" label="Unicode"
imageMso="U" size="normal" onAction="The Unicode Consortium" />
</group>
<group id="sagyo" label="作業">
<button id="haba_size" label="行列幅自動調整"
imageMso="G" size="normal" onAction="行列幅自動調整" />
<button id="half_size" label="英数仮名→半角"
imageMso="S" size="normal" onAction="英数仮名→半角" />
<button id="uni_do" label="unicode表処理"
imageMso="S" size="normal" onAction="unicode表処理" />
</group>
<!--省略-->
</tab>
</tabs>
</ribbon>
</customUI>
- プロシージャ名「google」後の括弧( )内は「control As IRibbonControl」と入力します。(お約束)
- 以下は、ボタンを押すとIEでGoogle検索サイトを開くマクロ例です。
Option Explicit
Sub google(control As IRibbonControl)
Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate ("https://www.google.co.jp/")
End Sub
動作確認
補足
- カスタマイズソフトを利用しなくても、自作で作成可能のようですが、ちょっと大変。
Author And Source
この問題について(「Office Ribbon Editor 」を使って、リボンUIにマクロ実行ボタン追加), 我々は、より多くの情報をここで見つけました https://qiita.com/good_kobe/items/4350d3b43215fcd7dc06著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .