次の方法で共有

Excel2013 Application.commandBarsに存在するメニューの有効無効切り替え(複数ブック、VBA)

Anonymous
2016-07-14T15:44:50+00:00

こんばんは、「質問する人」です。

Excel2013で複数のブックを開いている状態で、全ブックのアドインバーにあるボタンを無効化/有効化

したいのですが、上手く出来ません。

現象は、VBAでApplication.commandBars.・・・にあるボタンのEnabledをTrueに設定しても

複数ブック中アクティブなブックにのみ反映され、他のブックには反映されません。

Excel2013では、開発者が意識して実施する必要がある、と認識しています。

しかし、手段が分かりません。

https://msdn.microsoft.com/ja-jp/library/office/dn251093.aspx

> コードがブック ウィンドウを順番に切り替えて、コントロールの状態を更新できるようにします。

と、記載があります。

知恵を拝借したいです。有識者の方、ご教授お願いいたします。

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

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

2 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2016-07-15T16:29:06+00:00

    >複数ブック中アクティブなブックにのみ反映され、他のブックには反映されません。

    アクティブなブックにのみ反映されるということでしたら,下記の様なコードを使用して各ブックを順次アクティブにしながらコマンドを実行されてみてはいかがでしょうか?

    Sub ExampleSub()

        Dim Wb As Workbook

        For Each Wb In Workbooks

            Wb.Activate

            'ここにApplication.commandBars...を入れる

        Next Wb

    End Sub

    それとも「アクティブなブックを切り替えずに実現する方法はないか?」ということでしょうか?

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

    0 件のコメント コメントはありません
  2. Anonymous
    2016-07-15T08:25:30+00:00

    ​質問する人 さん、こんにちは。

    マイクロソフト コミュニティへの投稿、ありがとうございます。

    複数のブックにアドインバーのボタンの有効/無効を反映させたいのですね。

    詳しいことはわからなかったのですが、もしかしたら下記ページに書かれていることが参考になるのではと思います。 (見当違いだったらすみません!)

    Excel のアドインのコマンド バーが表示または Excel 2013 以降ロードまたはアドインをアンロードするときに自動的に削除されません。

    なお、VBA については、開発者向けの MSDN フォーラム内に VBA 専用のフォーラムがありますので、そちらで情報を集めてみると良さそうです。

    VBA フォーラム

    よろしければ、ご利用くださいね。

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

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