MXSheetボタンのオブジェクト名が勝手に変わる

YT 0 評価のポイント
2026-04-20T01:32:34.28+00:00

ExcelにてMXSheetボタンを設置し、VBA側にてそのボタンのEnabledのTrue/Falseを動かしているのですが、気が付いたらオブジェクト名が変更されてしまいました。
「実行時エラー'438'
オブジェクトは、このプロパティまたはメソッドをサポートしていません。」
というエラー文が出てきました。

これ自体はオブジェクト名を変更すると解決しますが、再発防止策などありますか?

開発者テクノロジ | Visual Basic for Applications
0 件のコメント コメントはありません

3 件の回答

並べ替え方法: 最も役に立つ
  1. Hebikuzure aka Murachi Akira 332.6K 評価のポイント MVP ボランティア モデレーター
    2026-04-20T07:41:43.6433333+00:00

    サードパーティーが提供しているアドインについての問題は、まずそのアドインの提供元(MX Sheet であれば三菱電機)のサポート情報を確認し、解決できなければ提供元のサポート窓口で相談してください。

    製品によっては、提供元とのサポート契約が必要な場合がありますので、必要に応じてサポート契約を結んでください。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません

  2. simo-k 92,315 評価のポイント ボランティア モデレーター
    2026-04-20T05:55:50.8133333+00:00

    PLC関連のアドインについてであれば開発元に相談してみてください。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません

  3. gekka 14,226 評価のポイント MVP ボランティア モデレーター
    2026-04-20T03:56:27.94+00:00

    ActiveXコントロールのボタンなのだと思いますが、そのワークシートがアクティブになった時のイベントなどで、ボタンの名前を正しい名前に修正してみたら?

    Option Explicit
    
    Const OBJECT_NAME = "CommandButton1" '正しい名前
    
    Private Sub CommandButton1_Click()
        MsgBox "ok"
    End Sub
    
    Private Sub Worksheet_Activate()
        
        Dim i As Long
        For i = 1 To Me.OLEObjects.Count
            Dim o As Object
            Set o = Me.OLEObjects(i)
            On Error GoTo CATCH
            Debug.Print o.Name
            
            '座標などで特定する
            If 160 <= o.Left And o.Left <= 170 And 0 <= o.Top And o.Top <= 10 And o.Name <> OBJECT_NAME Then
                'なまえが違ってなら修正する
                o.Name = OBJECT_NAME
            End If
    CATCH:
        Next
    End Sub
    

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "おすすめ" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。