これは、MATLAB の処理が非常に長い場合に想定される動作で、COM Automation の呼びだしが、Excel のタイムアウトを超えた場合に発生します。
もし、処理が1,2分以上かかるものでない場合は、INPUT関数やキー入力などのユーザ入力待ちの処理が含まれていないか、確認してください。
処理が1,2分以上かかると想定される場合は、以下の手順で Excel の警告を無効にすることができます。
1. 1回の MLEvalString の呼びだしに対する警告を無効にするには、以下のようなマクロを書き、Application.DisplayAlerts を設定します。
Sub runLongOperation()
Application.DisplayAlerts = False
MLEvalString ("myLongOperation")
Application.DisplayAlerts = True
End Sub
ここで、 "myLongOperation"が MATLABの実行関数です。
2. Excel2000よりも古いバージョンをご利用の場合は、DisplayAlerts の設定を個別に設定できないため、以下の記述で全ての警告をオフにします。
Sub nomorewait()
Application.DisplayAlerts = False
End Sub
この方法では、例えば、データを失う動作が発生した場合でも、警告が表示されなくなりますので、ご注意ください。
