OfficeDev / OfficeDev/Excel-Custom-Functions

#BUSY! flashing in excel every time a function is invoked

Open
#437 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Needs: triage :mag:
Dominant language
TypeScript
Stars
333
Forks
69
Avg merge
3d 15h
Merged PRs (30d)
3

Description

Expected behavior

I expect to not see the #BUSY! error every time a function is invoked with a changing input. I'd like to either see the previous value until a recalculation completed or the new value to be returned quickly enough that it's not as noticeable.

Current behavior

Every time a function is recalculated with a new input, #BUSY! is flashing across all the values. This makes the custom functions unusable with inputs that change frequently.

See attached clip for a demonstration: https://github.com/user-attachments/assets/139e12b0-d048-487c-a704-fcb979bc224d

Steps to Reproduce

Create a spreadsheet with a changing value (eg. the increment function from the sample project), and pass this value in to a custom function implemented in typescript, either the existing add function or something even simpler. Eg.

/**
 * Echoes a number.
 * @customfunction
 * @param first The number to echo.
 * @returns The number.
 */
export function echo(first: number): number {
  return first;
}

Invoked in the spreadsheet with a cell reference of the increment:
=UPXL.ECHO(B3)

Context

  • Operating System: Windows 10 Enterprise 22H2 build 19045.5487
  • Node version: v22.14.0
  • Office version: MS Office LTSC Professional Plus 2021
  • Tool version: Excel Version 2108
  • "generator-office": "version": "3.0.1"
  • "yo": "version": "5.1.0"

Failure Logs

No errors in the OfficeAddins.log.txt:

3/13/2025 13:24:00 Medium CustomFunctions [Execution] [Async] [End] [Success] Function=ECHO, Workbook=Excel add-in 407248da-0b4e-4409-aa2f-ed4d328610af.xlsx
3/13/2025 13:24:00 Medium CustomFunctions [Execution] [Async] [End] [Success] Function=INCREMENT, Workbook=Excel add-in 407248da-0b4e-4409-aa2f-ed4d328610af.xlsx
3/13/2025 13:24:00 Verbose CustomFunctions [Execution] [Async] [Begin] Function=UPXL.ECHO, Workbook=Excel add-in 407248da-0b4e-4409-aa2f-ed4d328610af.xlsx
3/13/2025 13:24:00 Medium CustomFunctions [Execution] [Async] [End] [Success] Function=ECHO, Workbook=Excel add-in 407248da-0b4e-4409-aa2f-ed4d328610af.xlsx
3/13/2025 13:24:00 Medium CustomFunctions [Execution] [Async] [End] [Success] Function=INCREMENT, Workbook=Excel add-in 407248da-0b4e-4409-aa2f-ed4d328610af.xlsx
3/13/2025 13:24:00 Verbose CustomFunctions [Execution] [Async] [Begin] Function=UPXL.ECHO, Workbook=Excel add-in 407248da-0b4e-4409-aa2f-ed4d328610af.xlsx

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue in the sample project with the increment function feeding the TypeScript add or echo custom function in Excel. Compare the OfficeAddins.log.txt execution entries with the visible #BUSY! transitions and inspect the custom-function invocation path. Done means identifying a supported way to avoid the flashing during changing inputs, or documenting the platform limitation if none exists.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
web-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.