none
Excel 2019でアドインに記述されているマクロが全く実行されない RRS feed

  • 質問

  • Excel 2013で作成したアドイン形式のファイルについて,Excel 2019ではアドインに記述されているマクロが全く実行されないという問題が発生しております。

    詳細は以下のとおりです。

    • 当該ファイルのマクロは,Excel 2013 と Excel for Microsft 365 では期待どおりに正しく動作する。
    • 客先の,Excel 2019がインストールされている少なくとも2台の異なるマシンで,同じ症状が発生している。
    • 具体的な症状は以下のとおり。
    • 当該ファイルをデスクトップに保存し,ダブルクリックで起動すると,アドイン起動時にリボンにカスタムタブを追加するように作成しているが,カスタムタブが表示されない。
    • また,このファイルは,アドイン起動時に自動実行マクロが実行されるように作成しているが,自動実行されない。
    • このファイルを,Excel 2019の[開発]タブ → [アドイン] → [参照]からアドインとして登録すると,[有効なアドイン]に当該ファイルが表示され,チェックが入るが,全く動作しない。
    • ここで,[有効なアドイン]のチェックをいったんはずし,再度チェックを入れると期待どおりに正しく動作する。
    • しかし,Excelそのものを終了するとまた動作しなくなり,[有効なアドイン]のチェックの切・入の処置をしないと動作しない。

    真っ先に考えられるのはセキュリティ設定ですが,これについては以下のとおりです。

    • [ファイル]タブ → [オプション] → [トラストセンター] → [トラストセンターの設定] → [マクロの設定]では,[警告を表示してすべてのマクロを無効にする]になっており,特に問題なし。
    • ここで,[すべてのマクロを有効にする]にしても全く改善しない。
    • [ファイル]タブ → [オプション] → [トラストセンター] → [アドイン] の設定も問題なさそう。
    • [ファイル]タブ → [オプション] → [アドイン] → [管理] → [使用できないアイテム] に当該ファイルが表示されているわけでもない。

    その後,アドイン形式であることが問題なのではないかと思い,問題の切り分けを容易にするために,次のような3種類の単純なファイルを作成して実験してみました。

    • テストファイル1.xlam (Excelアドイン。マクロ実行可能)
    • テストファイル2.xlsb (Excelバイナリブック。マクロ実行可能)
    • テストファイル3.xlsm (Excelブック。マクロ実行可能)

    • 上記いずれのファイルにも,ThisWorkbookモジュールに以下のコードのみを記述した。
    • これ以外のコードや追加モジュールは一切なし。カスタムタブも追加しない。


    Option Explicit
    
    Private Sub Workbook_Open()
        MsgBox ("Hello!")
    End Sub

    この実験では,マクロが正しく実行されるならば,ファイルが開かれたときに "Hello!" というメッセージが表示されるはずです。これらのファイルをデスクトップに保存してダブルクリックで開いてそれぞれ実験してみると,以下のような結果になりました。

    • Excel 2013 と Excel for Microsft 365 では,いずれものファイルも,期待どおりに正しく動作する。
    • Excel 2019では,2台のPCいずれも,テストファイル2.xlsb,テストファイル3.xlsm は期待どおりに正しく動作する。しかし,テストファイル1.xlam(つまりアドイン形式)では, マクロのセキュリティを最大限に緩めても(つまり,[すべてのマクロを有効にする]という状態に設定しても)"Hello!"というメッセージが表示されない。
    • 通常は,マクロのセキュリティを[警告を表示してすべてのマクロを無効にする]に設定すれば,アドイン形式であってもファイルが開かれたときにマクロを有効にするかどうか尋ねられるが,Excel 2019では(2台の異なるマシンで)それすらも表示されず,まるで,マクロのモジュールの存在すら認識されていないかのような印象。
    • エラーメッセージの類は一切表示されない。

    さらに調べるためには,

    • OS上でアカウントを新規で作成し,Excel 2019を完全にデフォルト状態にしたときにどうなるか?
    • 問題の発生しているファイルは,VBEを開いたときにデザインモードになっているのかどうなのか?
    • コードをVBE上で直接実行したらどうなるのか?
    • そもそもVBEで見たときにモジュールは表示されるのか?

    など,思いつくことはいろいろあります。Excel 2019を完全にデフォルト状態に戻して解決すればそれでもいいのですが,そうでなければ,上記を試したところで具体的な解決策がわかりません。客先はPCの操作は決して得意ではないうえ,すでにいろいろ試してもらっており,これ以上負担を掛けにくい状況です。

    そこで,このフォーラムで何か手がかりが得られないかと思い,投稿している次第です。ヒントになることをご教示いただきますようお願いいたします。

















    2021年2月13日 4:03

すべての返信