実現したいことと発生ししている問題
Excel2016で、アドインを作っています。
後述するコードでOfficeが持っているアイコンイメージを取得して、UserForm上のコントロールのPictureプロパティに設定しようとしています。
Officeが持っているアイコンは、リソースとして"large"と"normal"の2種類を持っていて、"normal"は16*16サイズのはずです(リボンのカスタムボタンで確認)。
しかし、アイコンサイズに16を指定してもlargeイメージが縮小されたものが取得されてしまいます。
※Office2016(32bit)で確認、他のバージョンは不明
※Picture,Label,CommandButtonコントロールで確認
左側が、正しい(取得したい)16*16アイコンです。これはExcelのリボンを画面キャプチャしたものです。
右側が、GetImageMsoメソッドで同じアイコンを取得して描画したものです。汚く滲んでいることが分かります。
"normal"のアイコンを取得する方法、もしくは汚く滲まない16*16サイズを取得する方法があったらご教授いただけませんでしょうか。
該当のソースコード
VBA
1Picture1.Picture = Application.CommandBars.GetImageMso("Paste", 16, 16)
補足情報
参考にしたリファレンス:https://docs.microsoft.com/ja-jp/office/vba/api/office.commandbars.getimagemso
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/13 01:30
2019/03/13 02:03