hiroton
2022/02/14 (月) 11:48:46
9ea4e@f966d
文字色がレコードに保存されているならリッチテキスト形式を使うと楽ができるかもしれません
標準モジュールに次の関数を追加する(※)
'R+G*256+B*256*256の値をカラーコード表記に変換する
Function getColorCode_D2H(decimalValue As Long)
Dim HexString As String
HexString = Right("000000" & Hex(decimalValue), 6)
'並び順がBGRなので順番を変えてカラーコード表記にする
getColorCode_D2H = "#" & Right(HexString, 2) & Mid(HexString, 3, 2) & Left(HexString, 2)
End Function
新たにテキストボックスを設置する
コントロールソース: ="<font color=""" & getColorCode_D2H([文字色]) & """>" & [項目] & "</font>"
文字書式:リッチ テキスト形式
このテキストボックスは編集できないので、編集が必要なら元のテキストボックスにぴったり重ね合わせて(前面配置にする)フォーカス取得時にMe!項目.setFocus
とかしてあげる必要があります
(※)単純な計算なので関数を使わず直接コントロールソースで計算させることもできます
="<font color=""#" & Right(Hex([文字色]+256),2) & Mid(Hex([文字色]+16777216),4,2) & Mid(Hex([文字色]+16777216),2,2) & """>" & [項目] & "</font>"
通報 ...