Main Content

エラーと解決策

MATLAB® Compiler™ の使用中に発生する可能性のあるエラー、これらのエラーについて考えられる原因、および推奨される解決策を確認します。

Excel アドイン エラーと推奨される解決策

エラー、警告、原因および推奨される解決策

メッセージ考えられる原因推奨される解決策

Excel® (64-bit) hangs when calling the add-in.

MATLAB コードに actxGetRunningServer の呼び出しが含まれています。

actxGetRunningServer の呼び出しを削除します。このワークフローは 64 ビットの Excel ではサポートされていません。

MBUILD.BAT: Error: The chosen compiler does not support building COM objects.

選択されたコンパイラは COM オブジェクトのビルドをサポートしていません。

mbuild -setup -client mbuild_com を再実行して、サポートされるコンパイラを選択します。

Error in component_name.class_name:
Error getting data conversion flags.

通常、mwcomutil.dll が登録されていないために発生します。

DOS ウィンドウを開き、フォルダーを matlabroot\bin\win64 (matlabroot はシステム上の MATLAB の場所を表す) に変更して、次のコマンドを実行します。
mwregsvr mwcomutil.dll

詳細については、アドインと COM コンポーネントの登録を参照してください。

Error in VBAProject: ActiveX component can't create object.
  • プロジェクト DLL が登録されていません。

  • システム パス上に互換性のない MATLAB DLL が存在します。

DLL が登録されていない場合は DOS ウィンドウを開き、フォルダーを <projectdir>\distrib (<projectdir> はプロジェクト ファイルの場所を表す) に変更して、次のコマンドを実行します。
mwregsvr <projectdll>.dll

詳細については、アドインと COM コンポーネントの登録を参照してください。

Error in VBAProject: Automation error The specified module could not be found.

これは通常 MATLAB がシステム パス上にない場合に発生します。このエラー メッセージはシステム パス上に複数の MATLAB バージョンがある場合に発生します。

複数のバージョンの MATLAB がある場合は常に最新バージョンの MATLAB がパスの先頭に示されるようにしてください。最新バージョンの MATLAB がパスの先頭にあるかどうかは、DOS プロンプトで path と入力すると確認できます。表コンポーネントの開発と使用に必要な場所を参照してください。

LoadLibrary
("component_name.dll") failed - The specified module could not be found.

DOS プロンプトからプロジェクト DLL を登録しているときに、このエラー メッセージが表示されることがあります。これは通常 MATLAB がシステム パス上にない場合に発生します。

コンポーネントの開発と使用に必要な場所を参照してください。

Cannot recompile the M file xxxx because it is already in the library libmmfile.mlib.

MATLAB ファイル用に選択した名前が、プリコンパイル済みの MATLAB ファイルのライブラリに既にある MATLAB ファイル名と重複しています。

プリコンパイル済みの MATLAB ファイルのライブラリに既にある MATLAB ファイル名と重複しない名前を選んで、MATLAB ファイル名を変更します。

Arguments may only be defaulted at the end of an argument list.

MATLAB Compiler 用に生成された VB スクリプトを変更しましたが、変更されたスクリプトで使用される 1 つ以上の引数が指定されていません。

明示的な値を必要とする引数すべてに値を指定します。既定値をそのまま使用する引数は引数リストの最後に表示されます。

Unable to use accessibility screen-readers or assistive technologies, such as JAWS®, 必要なファイル JavaAccessBridge.dll および WindowsAccessBridge.dll が、Windows® のパスに自動的に追加されていません。

次の DLL を Windows パスに追加します。

JavaAccessBridge.dll
WindowsAccessBridge.dll

Error in class.method.versionこれは汎用メッセージですが、MATLAB と Microsoft® Excel のアーキテクチャ バージョンが競合している場合に表示されることがあります。詳細は、デプロイ ターゲット アーキテクチャと互換性を参照してください。
Error:
Error IMWDispatchDriver "Method Load of object IMWDispatchDriver failed"

MATLAB Runtime および MATLAB のバージョンが異なると IMWDispatchDriver エラーが発生します。

MATLAB および MATLAB Runtime の現在のバージョンをチェックします。DOS プロンプトで MATLAB パスを入力して MATLAB のバージョンを確認します。バージョンが一致しない場合、現在の MATLAB のバージョンに一致する MATLAB Runtime の新しいバージョンに更新してインストールします。

Error in VBA project: Method xxx of object 'IClass1' failed

システム上で複数のバージョンの MATLAB が実行されていると、このエラーが発生します。

レジストリ ファイル mwcomutil.dll および mwcommgr.dll を登録します。DOS ウィンドウを開き、matlabroot\bin\win64 (matlabroot はシステム上の MATLAB の場所を表す) にディレクトリ変更 (cd) して、次のコマンドを実行します。
mwregsvr mwcomutil.dll
mwregsvr mwcommgr.dll

Warning: File not found. Excel primary interop assembly is not found.

Visual Studio® に Visual Studio ツールがありません。

すべてのファイルにアクセスし、デプロイ可能なアーカイブを Excel 統合ターゲットと共にパッケージ化するには、Visual Studio をインストールするときに、Visual Studio ツールをインストールします。

An error occurred when sending commands to the program.

Excel のオプションで [Dynamic Data Exchange (DDE) を使用する他のアプリケーションを無視する] チェック ボックスがオンになっています。

  1. [ファイル][オプション] の順に選択します。

  2. [詳細設定] を選択して [全般] セクションに移動し、[Dynamic Data Exchange (DDE) を使用する他のアプリケーションを無視する] オプションがオフになっていることを確認します。

  3. [OK] をクリックします。

コンポーネントの開発と使用に必要な場所

コンポーネントとターゲット マシン

コンポーネント開発マシン ターゲット マシン
MATLAB Runtimematlabroot\bin\win64 がシステム パスで他のどの MATLAB インストール環境よりも前に示されていることを確認します
(matlabroot はルート MATLAB フォルダー)。
<MATLAB_RUNTIME_INSTALL_DIR>\<ver>\runtime\<arch> がシステム パスに示されていることを確認します。詳細については、デプロイ用の MATLAB Runtime パスの設定
を参照

Microsoft Excel のエラーおよび推奨される解決策

エラー、原因および解決策

メッセージ考えられる原因推奨される解決策
このプロジェクトのマクロは無効に設定されています。マクロを有効にする方法についてはオンイン ヘルプまたはホスト アプリケーションのドキュメントを参照してください。
メモ:文言は実行している Excel のバージョンによって異なる可能性があります。

Excel のマクロ セキュリティが High に設定されています。

次を行って、[セキュリティ レベル] タブ上で Excel のマクロ セキュリティを Medium に設定します。

  • Microsoft Office 2010 以降の場合:

    1. [ファイル]、[オプション]、[セキュリティ センター]、[セキュリティ センターの設定]、[マクロの設定] をクリックします。

    2. [開発者向けのマクロ設定] で、[VBA プロジェクト オブジェクト モデルへのアクセスを信頼する] を選択します。

  • Microsoft Office 2007 の場合:

    1. Microsoft Office リボン上の 2007 Office ボタンをクリックします。

    2. [Excel のオプション]、[セキュリティ センター]、[セキュリティ センターの設定]、[マクロの設定] をクリックします。

    3. [開発者向けのマクロ設定] で、[VBA プロジェクト オブジェクト モデルへのアクセスを信頼する] を選択します。

Function Wizard の問題

問題、原因、推奨される解決策

問題考えられる原因推奨される解決策

Function Wizard ヘルプが表示されません。

Function Wizard ヘルプ ファイル (mlfunction.chm) が Function Wizard アドイン (mlfunction.xla) と同じ場所にありません。

ヘルプ ファイル (mlfunction.chm) をアドインと同じフォルダーにコピーします。

Function Wizard は .bas ファイルを自動的にインポートしなかったので、手動でマクロを作成しなければなりません。

Function Wizard が不明なエラーにより正常に動作しませんでした。

  1. Excel を開きます。

  2. 次のいずれかを行います。

    • Microsoft Office 2007 以降の場合、[開発]、[マクロ] をクリックします。

    • Microsoft Office 2003 の場合、[ツール]、[マクロ]、[マクロ] をクリックします。

  3. Visual Basic® エディターから、[ファイル]、[インポート] を選択し、作成した VBA ファイルを <project_dir>\distrib フォルダーから選択します。

ヒント

この手順を実行する前に、[開発] メニュー項目の有効化が必要な場合があります。

Office 365 の場合:

  1. [ファイル] をクリックします。

  2. [オプション] をクリックし、[リボンのユーザー設定] を選択します。

  3. [リボンのユーザー設定:] の下で [メイン タブ] を選択し、[開発] チェック ボックスをオンにします。

Microsoft Office 2007 または 2010 の場合:

  1. Microsoft Office リボン上の Office ボタンをクリックします。Office 2010 では、[ファイル] をクリックして Office Backstage ビューを表示します。

  2. [Excel のオプション] をクリックします。

  3. [Excel の使用に関する基本オプション] エリアで、[[開発] タブをリボンに表示する] を選択します。

Function Wizard でマクロを作成するとエラーになります。

MATLAB が Function Wizard から呼び出されると、Starting MATLAB... ではなく Failed to start MATLAB というメッセージが表示されます。

このメッセージは Function Wizard から呼び出された MATLAB セッションを手動で終了させると表示される場合があります。その結果、現在の Excel セッションでウィザードの MATLAB 関連の機能が使えなくなりました。

作業内容を保存し、Microsoft Excel を再起動します。

Function Wizard で、Ctrl キーと矢印キーを使用して範囲を選択する場合、関数を選択して関数入力を選択し始めると、Excel でキーボードのナビゲーションが機能しなくなります。

この動作は、Microsoft Excel のバグが原因です。

矢印キーを使用して範囲を選択する必要がある場合は、Microsoft の Web サイトhttps://mskb.pkisolutions.com/kb/291110から修正を適用してください。