非同期関数をセルに書き込んだ後に「Enter」を押すと、非同期関数が正しく呼び出され、計算が終了するとExcelによってイベントxleventCalculationEnded
が発生します。非同期UDFとxleventCalculationCanceled
しかし、「Enter」をクリックした直後に別のセルを押すと、xleventCalculationCanceled
というイベントが発生し、別の時間が呼び出されます。この動作は正常ですか?私は最初の非同期呼び出し、2番目の非同期呼び出し、またはその両方のためにExcel12(xlAsyncReturn,...)
を介して結果を返すべきですか?
つまり、xleventCalculationCanceled
イベントには、と表示されていますか?は結果をExcelに返すよう強制されていませんか? (適切なasyncHandle
を使用)
私は別のスレッドで集中的な計算を委任し、計算中にブロックしないように非同期関数を使用しています。しかし、async関数が自動的に2回呼び出された場合(最初の呼び出しが終了するのを待たずに別のセルをクリックした場合など)、同じ入力に対して2回計算されます(最初の呼び出し-cancelledあなたはこの問題にどのように対処していますか?
同じ機能を2つ呼び出すと、同じ入力で、バグですか?
多くのお礼ありがとうございます。