Microsoft 365 developer program
62 TopicsAbility to Assign Custom Properties or Unique IDs to Individual Cells
Summary I'd like to request support for assigning custom metadata — such as unique IDs or arbitrary key-value pairs — directly to individual cells in Excel using the Office.js API. Why This Matters Currently, developers must rely on workarounds like named ranges, hidden metadata sheets, or cell notes to simulate per-cell identifiers. These approaches are either limited, fragile, or not scalable for large applications. Native support for cell-level metadata would unlock powerful use cases: Dynamic form builders Cell-level validation engines Workflow tracking Data lineage and audit trails Integration with external systems via stable cell references Proposed API Concept range.customProperties.add("id", "cell_001"); const id = range.customProperties.getItem("id").value; Or even: range.metadata = { id: "cell_001", status: "approved", validator: "admin" }; Benefits Eliminates reliance on fragile naming conventions Enables scalable, structured metadata management Improves developer experience and app robustness Alternatives Considered Named ranges: limited and global scope Notes/comments: visible to users, not structured Hidden metadata sheets: hard to maintain Custom XML parts: complex and not cell-specific Request Please consider adding support for cell-level metadata or custom properties in a future version of Office.js. Even a lightweight key-value store per cell would be a game-changer.583Views99likes2CommentsRetrieve the existing contents of a cell that invokes a function
Define the problem My Excel add-in has custom functions which call external APIs. These API calls are invoking complex models running in the cloud which can sometimes take minutes to complete and therefore return data to Excel. My users build large workbooks with potentially thousands of these functions. Often the user makes a change in their workbook which triggers all of these calculations again even though there's no change in the input data. An example would be insertion of a row or column. This causes huge pain for the end user. Solution Microsoft to update the Office JS API so that when a function is invoked it can check the contents of the cell that invoked the function. I seem to remember this was possible in the old COM add-ins but it's not possible in the Office JS add-ins. Why does this help My custom functions store both the API request and response in the data card (Excel.EntityCellValue) format. Since I effectively store the original API request in the cell, if the cell gets inadvertently invoked I can check the arguments of the functions (the input data) against the original API request and if nothing has changed then I can return the original API response stored in the cell. This is like cancelling a function but being able to return the original data rather than anything new. Alternatives I can implement caching, e.g. using IndexedDB, but that's not the ideal solution. The ideal is the above.Feature Request: Add error/rejection support to Office.onReady() for network/dependency failures
Description Currently, when Office.js loads but one of its dependent resources (such as office_strings.js) fails to load due to network issues or blocking, the Office.onReady() promise never resolves or rejects. This leaves developers without a reliable way to detect missing dependencies. Instead of relying on timeouts or log messages, it would be very helpful if Office.onReady() provided an error callback or rejection in these scenarios. Why this matters: Helps developers handle production failures gracefully. Avoids arbitrary timeouts/workarounds to detect missing dependencies. Provides parity with modern async practices where promises resolve or reject deterministically. Enables better telemetry/analytics by explicitly knowing why initialization failed. Suggested Approach: If a required dependency fails to load, Office.onReady() should reject with an error describing the missing dependency. Alternatively, provide an event/callback (e.g., Office.onError) that developers can subscribe to. Example: Office.onReady() .then(info => { console.log("Office.js initialized:", info); }) .catch(err => { console.error("Office.js failed to initialize:", err); // custom fallback handling }); Impact: This would improve developer experience significantly and make add-ins more resilient in real-world network environments.Fix messageRules
There is bug in this API: ``` GET url=https://graph.microsoft.com/v1.0/users/email address removed for privacy reasons/mailFolders/inbox/messageRules ``` If a rule contains a date filter (e.g. 'After 5/1/2025') then NO data is returned, even if other conditions and actions are valid. I have been told that Graph will not support the date filter. OK fine, but refusing to return other rule data is an obvious bug. Am I supposed to tell our users to go through all their rules and remove date filters? Anyway, if the M365 user interface still allows a date filter, then it should be obligatory that the messageRules API should support it.Add viewportChanged event to Word JavaScript API
In Word add-ins, we often need to react to changes in the user's viewport (scrolling, zooming, etc.). Currently, there's no event to detect when the visible pages change. A viewportChanged event on Word.Pane or Word.Window would allow developers to optimize performance and create dynamic experiences based on what the user is viewing.211Views72likes0CommentsRequest to support full Undo for added styles in Excel
Description : When adding a style that includes formatting (for example, Bold, Heading, or custom styles) in Excel, using Undo (Ctrl+Z) does not undo the adding of the style. It only undoes the formatting portion. If multiple styles are added, Undo only partially reverts the formatting, while the style itself remains added/applied. See related issue: https://github.com/OfficeDev/office-js/issues/5995 Impact In scenarios where styles are checked only by name (without validating their properties), the current Undo behavior causes issues: it resets style properties but keeps the style itself, leading to inconsistencies in the worksheet. When multiple styles are applied, Undo only partially reverts formatting, leaving a mix of styles that creates further inconsistency. Suggestion Treat adding and applying a style as a single, complete action in the Undo/Redo stack. This way, Undo fully removes the style and all its formatting, ensuring consistent behavior even when one or multiple styles are applied.Subject: Disabled GPT-5 Button and Missing Copilot in Word, Excel, PowerPoint
Hello everyone, I’m developing a complementary app/feature in Office 365/Power Automate/etc., and I’m encountering a couple of issues that I can’t resolve. Here are the details: Description of the issues: Disabled Button: The button name in my interface is disabled for no apparent reason. It doesn’t get activated even when all conditions for it to be enabled should be met. There are no error messages, and the browser console doesn’t show any relevant warnings. Missing Copilot Button (GPT-5): In my Microsoft 365 apps (Word, Excel, PowerPoint), the Copilot (GPT-5) button is not showing up. I’ve checked the settings, but it seems it’s not enabled or appearing in the interface, even though it should be available. Environment: Microsoft 365 Apps: Word, Excel, PowerPoint Platform Version: [Indicate the version of Office 365 you’re using] Development Language: [e.g., JavaScript, C#, VBA, etc.] Additional Dependencies: [If you’re using any external libraries or APIs, mention them here] What I’ve tried so far: I’ve checked the events associated with the disabled button, but it remains inactive. I checked for errors in the console, but didn’t find anything relevant. I tried clearing the cache and reloading the page, but the issue persists. I reviewed Microsoft 365 documentation regarding Copilot (GPT-5), but the button still doesn’t appear in my interface. Question: Has anyone experienced a similar issue or knows what might be causing: The button to stay disabled without any apparent reason? The Copilot (GPT-5) button to not show up in Word, Excel, and PowerPoint? Any help or suggestions would be greatly appreciated. Thank you in advance!137Views0likes0CommentsSubject: Disabled GPT-5 Button and Missing Copilot in Word, Excel, PowerPoint
Hello, I’m having two issues with Microsoft 365: A button in my app is disabled without reason and doesn’t activate despite meeting all conditions. The Copilot (GPT-5) button is missing in Word, Excel, and PowerPoint, even though it should be there. Environment: Apps: Word, Excel, PowerPoint Platform Version: [your Office 365 version] Development Language: [e.g., JavaScript, C#, VBA] What I’ve tried: Checked button events (still inactive). Cleared cache and reloaded. Reviewed Copilot docs, but the button is still missing. Has anyone faced this or have suggestions on how to fix it? Thanks in advance!