VBAサンプル集
エクセルのアイコン取得(FaceID)

ExcelマクロVBAの実用サンプル、エクセルVBA集と解説
最終更新日:2013-05-14

エクセルのアイコン取得(FaceID)


エクセル内のアイコンを取得します。


右クリックメニューの変更」のFaceIdとして使用します。
Sub sample()
  Const startNo As Integer = 1 '開始番号を指定
  Const stopNo As Integer = 50 '終了番号を指定
  Dim cmdBar As CommandBar
  Dim cmdBarCtl As CommandBarControl
  Dim i As Integer
  
  On Error Resume Next
  Set cmdBar = Application.CommandBars("FaceId")
  If cmdBar Is Nothing Then
    Set cmdBar = Application.CommandBars.Add(Name:="FaceId", Temporary:=True)
    For i = startNo To stopNo
      Set cmdBarCtl = cmdBar.Controls.Add(Type:=msoControlButton)
      With cmdBarCtl
        .FaceID = i
        .TooltipText = i
      End With
    Next
    cmdBar.Visible = True
  Else
    For i = startNo To stopNo
      With cmdBar.Controls(i - startNo + 1)
        .FaceID = i
        .TooltipText = i
      End With
    Next
  End If
  
  Set cmdBarCtl = Nothing
  Set cmdBar = Nothing
End Sub



2003までなら、ツールバーが追加されます。


2007以降では、リボンのアドインの中に追加されます。

Const startNo As Integer = 1 '開始番号を指定
Const stopNo As Integer = 50 '終了番号を指定

この数値を変更して実行して下さい。

50以上の範囲を指定すると、画面に収まらないので、50ずつ実行してみて下さい。

途中、割り当てのないIDもかなりありますが、4000以上のIDにも入っています。

目的のアイコンがあるなら、ちょっと面倒ですが探してみて下さい。



同じテーマ「マクロVBAサンプル集」の記事

重複の無いユニークなデータ作成

簡単な例で シート「元データ」A列に、1行目に見出し、2行目以降にデータが入っている シート「ユニーク」このA列に、シート「元データ」のA列をユニーク(一意)にして取り出します。まずは、エクセルらしく、ワークシート関数とフィルターを使って 非常にエクセルらしい、素直な処理です。
WEBデータの取得方法
WEBページのデータを取得して、エクセルのデータとして取り込みたいとの要望が多いようです。マクロVBAでWEBページのデータを取得する方法はいろいろあります。QueryTables InternetExplorer MSHTML MSXML2 順番に、以下で説明します。
右クリックメニューの変更(CommandBars)
セルを右クリックした時のショートカットメニューを変更します、右クリックメニューからマクロを起動できるようにすることで利便性が向上します・シートモジュールに以下を追加します。標準モジュールに以下を追加 SubAA() ActiveCell.Value="AA" EndSub SubBB1() ActiveCell.Value="…
エクセルのアイコン取得(FaceID)
素数を求めるマクロ
素数とは、1と自分自身以外に正の約数を持たない、1でない自然数のことです、この素数を求めて、シートに出力するマクロになります。特に何かに使えると言う事もないので、PCの計算能力って、どの程度なのかを実感してみるくらいの事でしょうか。注意 このマクロはオーバーフローするまで停止しません。
入力規則のリスト入力の妥当性判定
入力規則のリスト入力は、Excelの機能の中でも頻繁に使われる機能です。入力規則の目的として、リスト内のデータのみの入力に限定したいと言う事になりますが、コピペで値の貼り付けを行うと、どんな値でも入力出来てしまいます。このエクセルの仕様はとても不便なものですが仕方ありません。
配色を使用したカラー設定を固定カラーに変更
Excel2007以降なら配色を選択して作成した場合、作成したシートを他のブックに移すと色が変わってしまいます、そこで、配色ではなくRGB値で色を再設定することで、元々の色をそのままにして、他のブックに移すことが出来るようにします。以下は、この目的で色を再設定するマクロVBAになります。
指定セルに名前定義されているか判定する
名前定義は、VBAでは、セル位置の特定において重要な役割を持ちます、あるセルが名前定義されているか判定するVBAになります。ここでは、名前定義されている場合は、その名前定義を削除するVBAサンプルとしています。指定セル範囲が何らかの名前定義に含まれているか Subsample1(rngAsRange) DimnmAsName ForEachnmInNam…
Excel2003(xls)を2007以降(xlsx,xlsm)に変換する(HasVBProject)
Excel2003形式(xls)のファイルを、一括でExcel2007以降形式(xlsx,xlsm)に変換するマクロVBAサンプルコードです。サンプルコードでは、サブフォルダ「Excelファイル」にあるxlsを、マクロ無しならxlsx、マクロ有りならxlsmにして保存しています。
ハイパーリンクからファイルのフルパスを取得する
ハイパーリンクのリンク先ファイル情報を取得しようとすると、なかなか難しいことになります、ハイパーリンクからパスを取得すると相対パスとなり、簡単にはファイル情報を取得出来ません。以下のサンプルでは、ハイパーリンクの設定されているセルの右隣のセルに更新日時を出力しています。
ボタンのテキスト名のシートへ移動(Application.Caller)
メニューのシートを作成して、ボタンを配置、そしてボタンにより指定シートに移動する、よくありますが、ボタン一つずつに別々(移動先のシート毎に)のマクロを作成するのは面倒です、そこで、一つのマクロで済ませる方法の紹介です。このVBAなら、どのボタンでもボタンのテキストと同一のシートに移動出来ます。


新着記事NEW ・・・新着記事一覧を見る

多階層フォルダ(ディレクトリ)の作成|VBAサンプル集(7月31日)
VBAのインデントについて|VBA技術解説(7月16日)
「VBA Match関数の限界」についての誤解|エクセル雑感(7月15日)
省略可能なVariant引数の参照不可をラップ関数で利用|VBA技術解説(7月12日)
100桁の正の整数値の足し算|エクセル雑感(7月9日)
LSetとユーザー定義型のコピー(100桁の足し算)|VBA技術解説(7月9日)
Variant仮引数のByRefとByValの挙動違い|エクセル雑感(7月5日)
Variant仮引数にRange.Valueを配列で渡す方法|エクセル雑感(7月5日)
Variantの数値型と文字列型の比較|エクセル雑感(7月1日)
VBAのVariant型について|VBA技術解説(6月30日)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.とにかく書いてみよう(Sub,End Sub)|VBA入門
10.マクロはどこに書くの(VBEの起動)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ