Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6916 / 13644 ツリー ←次へ | 前へ→

【42322】フォントのカラーパレット Massan 06/9/6(水) 16:57 質問[未読]
【42331】Re:フォントのカラーパレット Ki 06/9/6(水) 19:48 発言[未読]
【42347】Re:フォントのカラーパレット Massan 06/9/7(木) 15:23 お礼[未読]
【42332】Re:フォントのカラーパレット ichinose 06/9/6(水) 20:33 発言[未読]
【42348】Re:フォントのカラーパレット Massan 06/9/7(木) 15:26 お礼[未読]

【42322】フォントのカラーパレット
質問  Massan  - 06/9/6(水) 16:57 -

引用なし
パスワード
   失礼致します。
ワークシートのメニューバーに、フォントの色を変更するパレットが
ありますが、あのパレットをユーザーフォームに流用する方法など
ないでしょうか。
また、流用できる場合、そこで選択した色のインデックスはどのように
取得するのでしょうか。

【42331】Re:フォントのカラーパレット
発言  Ki  - 06/9/6(水) 19:48 -

引用なし
パスワード
   ▼Massan さん:
一サンプルとしてみてください
スピンボタンとコマンドボタンで試してみてください。

Private Sub CommandButton1_Click()
 
  If SpinButton1.Enabled = True Then
    SpinButton1.Enabled = False
    SpinButton1.BackColor = &H8000000F
    SpinButton1.ForeColor = &H80000012
  Else
    SpinButton1.Enabled = True
    SpinButton1.BackColor = &HC0FFFF
    SpinButton1.ForeColor = &H80000012
  End If

End Sub

【42332】Re:フォントのカラーパレット
発言  ichinose  - 06/9/6(水) 20:33 -

引用なし
パスワード
   ▼Massan さん:
こんばんは。

>ワークシートのメニューバーに、フォントの色を変更するパレットが
>ありますが、あのパレットをユーザーフォームに流用する方法など
>ないでしょうか。
>また、流用できる場合、そこで選択した色のインデックスはどのように
>取得するのでしょうか。
私は、ちゃんとしたもの作成する場合は

http://www.loadsystem.net/api/lsapi3.txt

このあたりのAPIをそっくりそのまま使用します(CHOOSECOLOR)


でも、取り合えず色の取得が出来ればいいや!!
というときは、

ユーザーフォーム(Userform1)にコマンドボタン(Commandbutton1)
をひとつ配置してください

当該フォームのモジュールに


Private Sub CommandButton1_Click()
  Dim cl As Long
  If get_color(Range("a1"), cl) = True Then
    CommandButton1.BackColor = cl
    End If
End Sub
Function get_color(rng As Range, cl As Long) As Boolean
  Dim ans As Boolean
  rng.Parent.Parent.Activate
  rng.Parent.Activate
  rng.Select
  get_color = Application.Dialogs(xlDialogPatterns).Show
  If get_color = True Then
   cl = rng.Interior.Color
   rng.Interior.ColorIndex = xlNone
   End If
End Function


ボタンをクリックすると色指定のダイアログが表示されます(見出しが違うのは
ご愛嬌)

色を指定してOKボタンでその色がCommandbutton1に反映します。
試してみてください

【42347】Re:フォントのカラーパレット
お礼  Massan  - 06/9/7(木) 15:23 -

引用なし
パスワード
   ▼Ki さん:
>▼Massan さん:
>一サンプルとしてみてください
>スピンボタンとコマンドボタンで試してみてください。
>
>Private Sub CommandButton1_Click()
> 
>  If SpinButton1.Enabled = True Then
>    SpinButton1.Enabled = False
>    SpinButton1.BackColor = &H8000000F
>    SpinButton1.ForeColor = &H80000012
>  Else
>    SpinButton1.Enabled = True
>    SpinButton1.BackColor = &HC0FFFF
>    SpinButton1.ForeColor = &H80000012
>  End If
>
>End Sub
Kiさん
 お知恵を頂きありがとうございます。
 参考にさせて頂きます。

【42348】Re:フォントのカラーパレット
お礼  Massan  - 06/9/7(木) 15:26 -

引用なし
パスワード
   ▼ichinose さん:
>▼Massan さん:
>こんばんは。
>
>>ワークシートのメニューバーに、フォントの色を変更するパレットが
>>ありますが、あのパレットをユーザーフォームに流用する方法など
>>ないでしょうか。
>>また、流用できる場合、そこで選択した色のインデックスはどのように
>>取得するのでしょうか。
>私は、ちゃんとしたもの作成する場合は
>
>http://www.loadsystem.net/api/lsapi3.txt
>
>このあたりのAPIをそっくりそのまま使用します(CHOOSECOLOR)
>
>
>でも、取り合えず色の取得が出来ればいいや!!
>というときは、
>
>ユーザーフォーム(Userform1)にコマンドボタン(Commandbutton1)
>をひとつ配置してください
>
>当該フォームのモジュールに
>
>
>Private Sub CommandButton1_Click()
>  Dim cl As Long
>  If get_color(Range("a1"), cl) = True Then
>    CommandButton1.BackColor = cl
>    End If
>End Sub
>Function get_color(rng As Range, cl As Long) As Boolean
>  Dim ans As Boolean
>  rng.Parent.Parent.Activate
>  rng.Parent.Activate
>  rng.Select
>  get_color = Application.Dialogs(xlDialogPatterns).Show
>  If get_color = True Then
>   cl = rng.Interior.Color
>   rng.Interior.ColorIndex = xlNone
>   End If
>End Function
>
>
>ボタンをクリックすると色指定のダイアログが表示されます(見出しが違うのは
>ご愛嬌)
>
>色を指定してOKボタンでその色がCommandbutton1に反映します。
>試してみてください
ichinoseさん
 色々とお知恵を頂きありがとうございます。
 APIも試させていただこうと思います。

6916 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free