新しく作成したActiveXボタンの名前を変更するにはどうすればよいですか?

Nov 26 2020

パーMathieuの返事、私は経由でのActiveXボタンを作成するために管理します

Sub aaaaaaaa()
Dim newButton As Object
Set newButton = Sheets(sheetname_KvE).OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
    Link:=False, _
    DisplayAsIcon:=False, _
    Left:=800, _
    Top:=0, _
    Width:=300, _
    Height:=30).Object
With newButton
    .Caption = "bla"
    '.Name = "Button_what" ' - THIS DOES NOT WORK!
End With
End Sub

そのボタンの名前を変更するにはどうすればよいですか?

残念ながら、これらのリンクは私を解決策に導きませんでした:

  • ExcelActiveXリストボックスの名前の変更

  • https://answers.microsoft.com/en-us/msoffice/forum/all/vba-code-to-modify-the-name-property-of-an-activex/d23b4ee5-aef4-425b-8a19-2899b65651e2

シートのモジュールに関連するコードを追加できるので、これは非常に素晴らしいことです(私が見る限り、関連するサブは常に呼び出されます[insert button name]_Click)。

回答

1 SiddharthRout Nov 26 2020 at 17:03

これはあなたがしようとしていることですか?

Sub Sample()
    Dim newButton As OLEObject
    Dim ws As Worksheet
    
    Set ws = Sheets(sheetname_KvE)
    Set newButton = ws.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
                                      Link:=False, _
                                      DisplayAsIcon:=False, _
                                      Left:=800, _
                                      Top:=0, _
                                      Width:=300, _
                                      Height:=30)
    newButton.Object.Caption = "bla"
    newButton.Name = "Button_what"
End Sub