Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
「コンテキストメニューに文字列の色などを変えるマクロを登録したいです。」のジョンのおばちゃんへ
投稿日時: 18/10/03 18:35:12
投稿者: チオチモリン

CommandBars("cell").Controls.Add(Type:=msoControlButton) の中の "cell" に相当するのは「Formula Bar」です。
ただし、編集状態では、マクロの起動ができませんので無意味です。
 
以下 サンプル
 
Sub 追加_FormulaBar()
    Dim CB As CommandBar
    Set CB = Application.CommandBars("Formula Bar")
    With CB.Controls.Add(, , , , True)
        .Caption = "Test"
        .OnAction = "Test"
    End With
End Sub
Sub リセット()
    Dim CB As CommandBar
    Set CB = Application.CommandBars("Formula Bar")
    CB.Reset
End Sub
Sub Test()
    MsgBox "Test"
End Sub

回答
投稿日時: 18/10/05 08:42:36
投稿者: WinArrow
投稿者のウェブサイトに移動

>Application.CommandBars("Formula Bar")
に関する情報ありがとうございました。
  
いままで、気に留めたことがないので、勉強になりました。
  
ここから、私見です。
  
文字列の一部の書式を変更するには、
 「F2」を押す、または、セルをダブルクリックして、「編集状態」にする必要があります。
その後、変更対象の文字列をドラッグしてから、フォント設定のダイアログから、
フォントのプロパティを選択します。
この操作だけで、「ジョンのおばちゃん」が希望しているようなことが可能になると思います。
  
ジョンのおばちゃんは、シュートカットメニューにマクロを登録して
対応しようと考えているような気がします。
  
この一連の操作をマクロで対応しようとすると
書式設定対象の文字列の先頭位置、文字数、及び、書式のいくつものプロパティを
自前で取得することになります。
 特に、色の取得は、結構、面倒だと思います。
  
従って、敢えてマクロを作ってまで対応する必要なないものと考えます。
  
本家のスレが閉じてしまわれてしまったので、
スレをお借りして、私見を述べさせていただきました。
 

投稿日時: 18/10/13 11:23:41
投稿者: チオチモリン

閉じます。