午後わてんのブログ

ベランダ菜園とWindows用アプリ作成(WPFとC#)

エクセルのツールバーのアイコンを変更する

エクセルのツールバーのアイコンを変更する
エクセルのバージョンは2000、Excel2000、13年くらい経っている2000
 
イメージ 1
↑これを↓こうする
イメージ 2
 
エクセルに用意されているボタンイメージの変更からだと適当なものが見つからない
イメージ 9
 
ボタンイメージの編集もできるけど使いにくい、色が足りない
イメージ 10
 
そこで使いやすいお絵かきアプリで
16x16ドットの画像を作る
png形式なら透過色も反映される
イメージ 5
 
画像を保存したらシートに挿入
イメージ 11
 
挿入したら画像を選択して名前を確認する、今回は"図 2"と
イメージ 12
"図 3"
イメージ 16
 
変更するツールバーの名前とアイコンを表示しているボタンのIDの確認
名前は"ユーザー設定 2"
イメージ 15
 
次はボタンのIDの確認
Visual Basic Editorを起動して
イメージ 13
 
イミディエイトウィンドウを表示して
イメージ 14
 
表示されたイミディエイトウィンドウに
?commandbars("ユーザー設定 2").Controls("テキストボックス水色").Id
と記述して記述した行にカーソルを置いてエンターキーを押すと
1
と表示される、これでユーザー設定 2のテキストボックス水色のIDが1だと確認できた
 
同じようにテキストボックス緑のIDを確認する
?commandbars("ユーザー設定 2").Controls("テキストボックス緑").Id
2
もう一つのボタンはID2でした、登録した順番になっているみたい
 
後は設定するだけ、まずはテキストボックス水色のアイコンを設定
これもイミディエイトウィンドウに
ActiveSheet.Shapes("図 3").copy
Application.CommandBars("ユーザー設定 2").Controls(1).PasteFace
上の2行を記述して1行目にカーソルを置いてエンターキーを2回押すと
イメージ 3
こうなる
 
次はテキストボックス緑のアイコンの設定
同じようにイミディエイトウィンドウにて
ActiveSheet.Shapes("図 2").copy
Application.CommandBars("ユーザー設定 2").Controls(2).PasteFace
イメージ 4
完成
 
イミディエイトウィンドウの状態
イメージ 8
 
ボタンに適当にマクロを登録して
イメージ 6
 
右クリックのメニューのアイコンも変更できる
イメージ 7
 
マクロやVBA
ControlsにFaceIdを指定するとかPictureで指定するとかあるみたいだけど
この方法に落ち着いた
 
IDの確認の方法はもうひとつあって、IDを指定してそのキャプションを表示させる方法
?CommandBars("ユーザー設定 2").Controls(1).Caption
これでエンターキーを押して
テキストボックス水色
が表示されればID1がテキストボックス水色なんだなと確認できる