_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ _/ ソフト名:色見本作成フォーム(Ver2.1) _/ 種 別:フリーソフト _/ 開発環境:Windows98SE & Excel2000SR1(9.0.3822) _/ 動作環境:上記環境にて動作確認してあります。 _/      2000からの新機能は使っていないのでExcel97でも _/      動作すると思いますが環境が無い為、確認していません。 _/      (Excel95では動作しません) _/      「Excel97 , Excel97SR1 , Excel2000 」については利用者 _/      から「動作に問題はない」との連絡を受けています。 _/ 著作権者:角田 桂一 _/ 免 責 :このマクロを使用したことで発生したいかなる損害に _/      ついても、作者は一切責任を負わないものとします。 _/ 再配布 :再配布は自由です。 _/ 転 載 :転載は自由です。 _/ 履 歴 :2000/10/24 Ver1.2 作成 _/      2000/11/ 4 Ver2.0 作成(パレット機能、ミニ版等の追加) _/      2001/ 3/ 3 Ver2.1 『2色』調整機能を追加 _/                パレットEXで「クリップボードへのコピー機能」 _/                      「RGB画面可否指定の追加」 _/ その他 :McAfee VirusScan(4.0.3a)にてウィルスチェックしてあります。 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ ※『ktPaletteEX 』のみ[Ver2.0]→[Ver2.1]でインターフェースが変わりました。   【kt_PaletteEXType 】に下記のパラメータが3個追加されました。   ClipBoard As Boolean ' カラー選択時のクリップボードへのコピー有無   SelectRGB As Boolean ' RGB選択画面の展開有無   ColorIndex As Integer ' 1〜56,RGB画面展開時は[99]固定 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.配布ファイル   配布ファイルはLHA圧縮してあります。解凍すると下記の3ファイル   に展開されます。適当なフォルダーに保存して利用してください。    『 kt色見本V21.xls 』       色見本の実行ファイルです(ミニ版/パレット/パレットEXのデモ機能付き)。    『 kt色見本V21Addin.xla 』       ソフト組み込み用のアドインです(ビッグは入っていません)。    『 kt色見本README.txt 』       この文書です。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.『色見本作成フォーム』の機能   『色見本』を使用すると、VBAマクロやUserForm で記述するカラープロパティ   の値(&H808080:灰色, &HFF0000:青など)を実際の【色】を見ながら作成できます。    セルカラーの56色はもちろん、3原色(青・緑・赤)を小刻みに調整して自由に   中間色を作ることができます。または、ある色を基準にしてグラデーションカラー   を作ることも可能です。    作成したカラーは『kt色見本V21.xls 』ブックにそのまま保存されますので、再   利用できます。保存できるカラーは【Max 160色】です。    作成したカラーを選択すると、そのカラーの16進表記(&Hbbggrr)がクリップ   ボードにコピーされます。VBEのコードウィンドウやUserForm のプロパティ   ウィンドウに貼り付けて利用してください。    (注) UserForm には、約16万色の全てのカラーが設定できますが、       ワークシート上に設定できるカラーは、ブックごとに定義された       カラーパレットの56色だけです。        これ以外のカラーをマクロから設定しても、56色の内のいず       れかに置換されます。この中間色とセルカラーの関係も『色見       本』で確認できます。        ただし、『色見本』で確認できる補正後のカラーは、【標準の       カラーパレット】を使用した結果です。    『色見本』には、クリップボード経由でのコーディング補助を目的とした【ビッグ】   の他に、【ミニ】と【パレット(56色)】および【パレットEX】があります。    【ミニ】【パレットEX】を組み込むと【ビッグ】と同様の機能を各自のマクロ   コードから「Callステートメント」で呼び出して利用できます。【パレット】は  【ビッグ/ミニ】でも使っている、カラーパレットの色を選択する為のフォームです。  【パレットEX】はパレットとミニを合体させた画面です。ミニとは逆に、パレット   からミニを呼び出します。    この【ミニ】と【パレット(56色)】および【パレットEX】をマクロから利用す   る場合はアドイン『kt色見本V21Addin.xla』を参照設定してください(プロジェクト   名:kt色見本Addin)。なお『kt色見本V21.xls 』からデモ実行できます。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.色見本ビッグの利用方法   『kt色見本V21.xls 』はマクロを含んでいます。必ず【有効】にして開いてください。   『kt色見本V21.xls 』を開くと、シート上にはボタンが4つ配置されています。その   ボタンをクリックすると、色見本を実行できます。フォーム上の【Help ボタン】を   クリックすると、使用方法が表示されますので、そちらを参照してください。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4.色見本ミニの利用方法   アドイン『kt色見本V21Addin.xla』を参照設定してください。    (プロジェクト名:kt色見本Addin)  『色見本ミニ』はマクロから「Callステートメント」で利用します。  『色見本ミニ』は【Hideモード】で閉じますので、利用する側のマクロが終了する   前に【UnLoad 】指示でCallする必要があります。   下記の「kt_ColorMiniType 」は『 kt色見本V21Addin.xla 』内で定義されています。   参照設定すれば利用できます。デモマクロを参考にしてコーディングしてください。  ≪ Call ステートメント ≫   Dim ColorData As kt_ColorMiniType   Call ktColorMini(ColorData)  ≪ パラメータ説明 ≫     「Flg 」‥‥ ユーザーがカラーを選択したのか、キャンセルしたのかが返ります。         初回Call時と、呼び元のマクロが終了する直前にCallする時だけ、         各々"Init"/"UnLoad"を設定してからCallします。         それ以外の時では、返ってきた"Get"/"Cancel"のままでCallして         結構です。わざわざ「""」にクリアする必要はありません。  「Color 〜」‥カラーを選択した場合は、下記の様式で値が返ります。キャンセル         した場合は各々ゼロ/「""」が返ります。         尚、「ColorHex 」は6桁のStringです。先頭に"&H"は付いていま         せんので、必要な場合はマクロ側で付加してください。  「Save 〜」 ‥作業用の項目です。「Saveボタン」で保存したカラーがここに         格納されます。マクロ側で操作する必要はありません(初期化         も必要ありません。"Init"でCallした時に【白色】に設定します)。 ≪「Save〜 」をマクロ側でブックなどに保存し再利用する場合 ≫   初回Call を以下の設定で行ないます。2回目以降は通常どおりです。   なお、「UserSave青(i)など」はマクロ側で保存していたフィールドを指します。   利用状況に合わせて、セルのValueプロパティなどに置き換えてください。    With ColorData     .Flg = ""     .ColorLong = &H808080 ' 灰色     .ColorHex = "808080"     .ColorB = 128     .ColorG = 128     .ColorR = 128     For i = 1 To 20      .SaveColor(i) = RGB(UserSave赤(i), UserSave緑(i),UserSave青(i))      .Save青(i) = UserSave青(i)      .Save緑(i) = UserSave緑(i)      .Save赤(i) = UserSave赤(i)     Next i    End With '==================================( kt_ColorMiniType )================= Public Type kt_ColorMiniType Flg As String ' Call時:空/Init/UnLoad , Return時:Get/Cancel ColorLong As Long ' 0 〜 16777215 ColorHex As String ' BBGGRR 形式(6桁固定) ColorB As Integer ' 0 〜 255 ColorG As Integer ' 0 〜 255 ColorR As Integer ' 0 〜 255 SaveColor(1 To 20) As Long ' 保存カラー Save青(1 To 20) As Integer Save緑(1 To 20) As Integer Save赤(1 To 20) As Integer End Type '===================================( 『ミニ』デモマクロ )============ Public Sub ktColorMiniDemo() Dim ColorData As kt_ColorMiniType Dim MsgResp As Integer ColorData.Flg = "Init" Mini1: Call ktColorMini(ColorData) If (ColorData.Flg = "Cancel") Then MsgResp = MsgBox("【色見本『ミニ』 デモ】" & vbCrLf _ & "キャンセルされました" & vbCrLf _ & "繰り返しますか?", vbYesNo + vbInformation) Else MsgResp = MsgBox("【色見本ミニ デモ】" & vbCrLf _ & "受け取ったカラー情報は下記の通りです" & vbCrLf & vbCrLf _ & "16進 = 0x" & ColorData.ColorHex & "(BBGGRR)" & vbCrLf _ & "10進 = " & Format(ColorData.ColorLong, "#,##0") & vbCrLf _ & "(青) = " & ColorData.ColorB & vbCrLf _ & "(緑) = " & ColorData.ColorG & vbCrLf _ & "(赤) = " & ColorData.ColorR & vbCrLf _ & vbCrLf & "繰り返しますか?", vbYesNo + vbInformation) End If If (MsgResp = vbYes) Then GoTo Mini1 Else ColorData.Flg = "UnLoad" Call ktColorMini(ColorData) End If End Sub ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5.パレットの利用方法   アドイン『kt色見本V21Addin.xla』を参照設定してください。     (プロジェクト名:kt色見本Addin)  『パレット』はマクロから「Callステートメント」で利用します。  『パレット』は【Hideモード】で閉じますので、利用する側のマクロが終了する前に  【UnLoad 】指示でCallする必要があります。   下記の「kt_PaletteType 」は『 kt色見本V21Addin.xla 』内で定義されています。   参照設定すれば利用できます。デモマクロを参考にしてコーディングしてください。  ≪ Call ステートメント ≫   Dim ColorData As kt_PaletteType   Call ktPaletteColor(ColorData, パレットを取得するブック名)  ≪ パラメータ説明 ≫     「Flg 」‥‥ ユーザーがカラーを選択したのか、キャンセルしたのかが返ります。         初回Call時と、呼び元のマクロが終了する直前にCallする時だけ、         各々"Init"/"UnLoad"を設定してからCallします。         それ以外の時では、返ってきた"Get"/"Cancel"のままでCallして         結構です。わざわざ「""」にクリアする必要はありません。         カラーパレットを取り込むブックを途中で切り換える場合は"Book"         を設定してからCallします。  「Color 〜」‥カラーを選択した場合は、下記の様式で値が返ります。キャンセル         した場合は各々ゼロ/「""」が返ります。         尚、「ColorHex 」は6桁のStringです。先頭に"&H"は付いていま         せんので、必要な場合はマクロ側で付加してください。  「パレットを取得するブック名」         ActiveWorkbookのパレットを利用する場合は定数で"Active"と指定。         ActiveWorkbook以外のパレットを利用する場合は、そのブックの        「Name プロパティ」の内容を指定します("Book1.xls"など定数で指定         しても良いし、「Name プロパティ」自体を記述しても良いです)。         ただし、そのブックが開かれていない場合は、ActiveWorkbookのパレッ         トが適用されます。 '==================================( kt_PaletteType )=================== Public Type kt_PaletteType Flg As String ' Call時:空/Init/Book/UnLoad , Return時:Get/Cancel ColorIndex As Integer ' 1 〜 56 ColorLong As Long ' 0 〜 16777215 ColorHex As String ' BBGGRR 形式(6桁固定) ColorB As Integer ' 0 〜 255 ColorG As Integer ' 0 〜 255 ColorR As Integer ' 0 〜 255 End Type '===================================( 『パレット』デモマクロ )============ Public Sub ktPaletteDemo() Dim ColorData As kt_PaletteType Dim MsgResp As Integer ColorData.Flg = "Init" Palette1: Call ktPaletteColor(ColorData, ThisWorkbook.Name) If (ColorData.Flg = "Cancel") Then MsgResp = MsgBox("【カラーパレット デモ】" & vbCrLf _ & "キャンセルされました" & vbCrLf _ & "繰り返しますか?", vbYesNo + vbInformation) Else MsgResp = MsgBox("【カラーパレット デモ】" & vbCrLf _ & "受け取ったカラー情報は下記の通りです" & vbCrLf & vbCrLf _ & "(No) = " & ColorData.ColorIndex & vbCrLf _ & "16進 = 0x" & ColorData.ColorHex & "(BBGGRR)" & vbCrLf _ & "10進 = " & Format(ColorData.ColorLong, "#,##0") & vbCrLf _ & "(青) = " & ColorData.ColorB & vbCrLf _ & "(緑) = " & ColorData.ColorG & vbCrLf _ & "(赤) = " & ColorData.ColorR & vbCrLf _ & vbCrLf & "繰り返しますか?", vbYesNo + vbInformation) End If If (MsgResp = vbYes) Then GoTo Palette1 Else ColorData.Flg = "UnLoad" Call ktPaletteColor(ColorData, ThisWorkbook.Name) End If End Sub ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6.パレットEXの利用方法   アドイン『kt色見本V21Addin.xla』を参照設定してください。     (プロジェクト名:kt色見本Addin)  『パレットEX 』はマクロから「Callステートメント」で利用します。  『パレットEX 』は【Hideモード】で閉じますので、利用する側のマクロが終了する前に  【UnLoad 】指示でCallする必要があります。   ※パレットカラー以外の色をセルに設定する事はできませんので、セルに指定する    カラー(Font.Color / Interior.Color)を取得する為に利用する場合は    「SelectRGB=False 」としてください。   下記の「kt_PaletteEXType 」は『 kt色見本V21Addin.xla 』内で定義されています。   参照設定すれば利用できます。デモマクロを参考にしてコーディングしてください。  ≪ Call ステートメント ≫   Dim ColorData As kt_PaletteEXType   Call ktPaletteColorEX(ColorData, パレットを取得するブック名)  ≪ パラメータ説明 ≫  「ClipBoard」 カラー決定時に、そのカラーの16進("&Hbbggrr")をクリップボード         にコピーするかどうかを指定できます。  「SelectRGB」 RGB画面の展開可否を指定できます。         セルに指定するカラーを取得する場合は"False"にしてパレットカラー         以外の選択を不可にしてください。     「Flg 」‥‥ ユーザーがカラーを選択したのか、キャンセルしたのかが返ります。         初回Call時と、呼び元のマクロが終了する直前にCallする時だけ、         各々"Init"/"UnLoad"を設定してからCallします。         それ以外の時では、返ってきた"Get"/"Cancel"のままでCallして         結構です。わざわざ「""」にクリアする必要はありません。         カラーパレットを取り込むブックを途中で切り換える場合は"Book"         を設定してからCallします。  「Color 〜」‥カラーを選択した場合は、下記の様式で値が返ります。キャンセル         した場合は各々ゼロ/「""」が返ります。         尚、「ColorHex 」は6桁のStringです。先頭に"&H"は付いていま         せんので、必要な場合はマクロ側で付加してください。         RGB画面展開時の[ColorIndex]の値は"99"固定です(パレットカラー         の値からズレている為)。  「パレットを取得するブック名」         ActiveWorkbookのパレットを利用する場合は定数で"Active"と指定。         ActiveWorkbook以外のパレットを利用する場合は、そのブックの        「Name プロパティ」の内容を指定します("Book1.xls"など定数で指定         しても良いし、「Name プロパティ」自体を記述しても良いです)。         ただし、そのブックが開かれていない場合は、ActiveWorkbookのパレッ         トが適用されます。 '==================================( kt_PaletteEXType )=================== Public Type kt_PaletteEXType ClipBoard As Boolean ' カラー選択時のクリップボードへのコピー有無 (Ver2.1追加) SelectRGB As Boolean ' RGB選択画面の展開有無            (Ver2.1追加) Flg As String ' Call時:空/Init/Book/UnLoad ' Return時:Get/Cancel ColorIndex As Integer ' 1〜56,RGB画面展開時は[99]固定       (Ver2.1追加) ColorLong As Long ' 0 〜 16777215 ColorHex As String ' BBGGRR 形式(6桁固定) ColorB As Integer ' 0 〜 255 ColorG As Integer ' 0 〜 255 ColorR As Integer ' 0 〜 255 End Type '===================================( 『パレットEX』デモマクロ )============ Public Sub ktPaletteEXDemo() Dim ColorData As kt_PaletteEXType Dim MsgResp As Integer ColorData.ClipBoard = True ' 16進文字のクリップボードコピー有り (Ver2.1追加) ColorData.SelectRGB = True ' RGB画面の展開有り         (Ver2.1追加) ColorData.Flg = "Init" Palette1: Call ktPaletteColorEX(ColorData, ThisWorkbook.Name) If (ColorData.Flg = "Cancel") Then MsgResp = MsgBox("【カラーパレットEX デモ】" & vbCrLf _ & "キャンセルされました" & vbCrLf _ & "繰り返しますか?", vbYesNo + vbInformation) Else MsgResp = MsgBox("【カラーパレットEX デモ】" & vbCrLf _ & "受け取ったカラー情報は下記の通りです" & vbCrLf & vbCrLf _ & "(No) = " & ColorData.ColorIndex & vbCrLf _ & "16進 = 0x" & ColorData.ColorHex & "(BBGGRR)" & vbCrLf _ & "10進 = " & Format(ColorData.ColorLong, "#,##0") & vbCrLf _ & "(青) = " & ColorData.ColorB & vbCrLf _ & "(緑) = " & ColorData.ColorG & vbCrLf _ & "(赤) = " & ColorData.ColorR & vbCrLf _ & vbCrLf & "繰り返しますか?", vbYesNo + vbInformation) End If If (MsgResp = vbYes) Then GoTo Palette1 Else ColorData.Flg = "UnLoad" Call ktPaletteColorEX(ColorData, ThisWorkbook.Name) End If End Sub