在我向單元中寫入異步函數後,按下「Enter」鍵後,異步函數被正確調用,Excel在計算完成時引發事件xleventCalculationEnded
。異步UDF和xleventCalculationCaledled
但是,如果我在點擊「Enter」後按下另一個單元格,事件xleventCalculationCanceled
被引發,然後再次調用異步函數!這種行爲是否正常?我應該通過Excel12(xlAsyncReturn,...)
爲第一次異步呼叫,第二次異步呼叫還是兩者返回結果?
換句話說,xleventCalculationCanceled
事件意味着我不是被迫將結果返回給Excel? (使用適當的asyncHandle
)
我使用異步函數委託另一個線程中的密集計算,並在計算過程中不阻止excel。但是,如果異步函數被自動調用兩次(就像用戶單擊另一個單元而不等待第一次調用完成時那樣),那麼對同一輸入計算兩次密集計算(因爲第一次調用 - 取消通過excel-仍然住在委託線程中......)你如何處理這個問題?
兩次調用相同的函數 - 具有相同的輸入 - 是一個錯誤?
非常感謝