2017-07-19 6 views
2

すべてのボタン名を取得し、これらの関数の呼び出しを評価することによって、どのドキュメントのすべてのボタンをクリックするマクロを作成しようとしています。すべてのボタンをクリックするVBAマクロ

コード:

Private Sub CommandButton1_Click() 
MsgBox "b" 
End Sub 

Private Sub CommandButton2_Click() 
MsgBox "a" 
End Sub 

Sub test_macro() 
For Each S In Worksheets(1).OLEObjects 
    Evaluate ("Call " + S.Name + "_Click") 
Next 
End Sub 

ここで問題になる可能性がありますか?多分それを行う別の方法がありますか?

+0

あなたはVBAでそのようなコードの文字列を評価することはできません。代わりに 'Application.Run'を試してみてください。 –

+0

'Application.Run'を指定すると、実行時エラー '1004' - "アプリケーション定義またはオブジェクト定義エラー" – cydan

+0

が表示されます。実行時に問題が発生した場合は、それ? –

答えて

2

これが機能するかどうかを確認してください。

For Each OLEObject In Worksheets(1).OLEObjects 
    If TypeName(OLEObject.Object) = "CommandButton" Then OLEObject.Object = True 
Next 

Here are some additional documentations on OLEObject.

+0

それは動作します!ありがとう – cydan

関連する問題