【VBA】ユーザーフォームのシステムカラーの定数値とRGB値取得方法について

スポンサーリンク

VBAのユーザーフォームの各システムカラーの定数値と、RGB値の取得方法についてまとめました。

システムカラー一覧

各項目ごとの定数一覧です。

カラーコード/RGBの値はWindowsの初期設定を記載しています。

項目名定数カラーコードRGB
スクロールバーvbScrollBars#C8C8C8200,200,200
デスクトップvbDesktop#0000000,0,0
アクティブタイトルバーvbActiveTitleBar#99B4D1153,180,209
非アクティブタイトルバーvbInactiveTitleBar#BFCDDB191,205,219
メニューバーvbMenuBar#F0F0F0240,240,240
ウィンドウの背景vbWindowBackground#FFFFFF255,255,255
ウィンドウ枠vbWindowFrame#646464100,100,100
メニューの文字vbMenuText#0000000,0,0
ウィンドウの文字vbWindowText#0000000,0,0
アクティブタイトルバーの文字vbTitleBarText#0000000,0,0
アクティブウィンドウの境界vbActiveBorder#B4B4B4180,180,180
非アクティブウィンドウの境界vbInactiveBorder#F4F7FC244,247,252
アプリケーションの作業域vbApplicationWorkspace#ABABAB171,171,171
強調表示vbHighlight#0078D70,120,215
強調表示される文字列vbHighlightText#FFFFFF255,255,255
ボタンの表面vbButtonFace#F0F0F0240,240,240
ボタンの影vbButtonShadow#A0A0A0160,160,160
淡色表示された文字列vbGrayText#6D6D6D109,109,109
ボタンの文字色vbButtonText#0000000,0,0
非アクティブタイトルバーの文字vbInactiveCaptionText#0000000,0,0
ボタンの強調表示vb3DHighlight#FFFFFF255,255,255
ボタンの影(濃)vb3DDKShadow#696969105,105,105
ボタンの影(淡)vb3DLight#E3E3E3227,227,227
ツールヒントの文字色vbInfoText#0000000,0,0
ツールヒントvbInfoBackground#FFFFE1255,255,225

システムカラーの色を求めるコード

変換コード

Windowsで設定されているシステムカラーのRGB値は、Win32APIの「GetSysColor」で参照できます。

Public Declare PtrSafe Function GetSysColor Lib "user32" (ByVal sType As Long) As Long

''' <summary>
'''システムカラーのRGB値を取得する
''' </summary>
''' <param name="color">システムカラー</param>
''' <returns>RGB値(数値)</returns>
Function GetSysColorNum(ByVal color As Long) As Long
    Dim i As Long
    If color < 0 Then
       GetSysColorNum = GetSysColor(Val("&H" & Right(Hex(color), 2)))
    Else
         GetSysColorNum = color
    End If
End Function

使用例

上記の「変換コード」を使用して、システムカラー「vbHighlight」を選択中のセルの背景色に反映するコードです。

Sub Macro1()
    Selection.Interior.color = GetSysColorNum(vbHighlight)
End Sub
タイトルとURLをコピーしました