Excel Addin ExecuteFunction won't execute

Teng Zhang 1 Reputation point
2021-08-24T22:10:57.373+00:00

I wanted to add a custom tab that opens a new page in the browser window, but nothing happened when I clicked on the tab. I feel like perhaps the path I entered it's wrong but cannot figure out. Here's my code:

<FunctionFile resid="Functions.Url" />  
          <ExtensionPoint xsi:type="PrimaryCommandSurface">  
           <CustomTab id="App Annie">  
              <Label resid="CommandsGroup.Label" />  
               <Group id="Contoso.Tab2.Group1">  
                <Label resid="Contoso.Tab2.GroupLabel" />  
                <Icon>  
                  <bt:Image size="16" resid="Contoso.TaskpaneButton.Icon" />  
                  <bt:Image size="32" resid="Contoso.TaskpaneButton.Icon" />  
                  <bt:Image size="80" resid="Contoso.TaskpaneButton.Icon" />  
                </Icon>  
                <Control xsi:type="Button" id="Contoso.button">  
                  <Label resid="Contoso.Button.Label" />  
                  <Supertip>  
                    <Title resid="Contoso.Button.Label" />  
                    <Description resid="Contoso.Button.Tooltip" />  
                  </Supertip>  
                  <Icon>  
                    <bt:Image size="16" resid="Icon.16x16" />  
                    <bt:Image size="32" resid="Icon.32x32" />  
                    <bt:Image size="80" resid="Icon.80x80" />  
                  </Icon>  
                  <Action xsi:type="ExecuteFunction">  
                    <FunctionName>openWebsite</FunctionName>  
                  </Action>  
                </Control>  
              </Group>  
            </CustomTab>  
          </ExtensionPoint>  

here's url path:
<bt:Url id="Functions.Url" DefaultValue="https://local.companyname.com/functions.html" />

Here's the functions.js:

/*  
 * Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.  
 * See LICENSE in the project root for license information.  
 */  
  
/* global, Office, self, window */  
  
// @flow strict  
Office.onReady(() => {  
    // If needed, Office.js is ready to be called  
});  
  
/**  
 * Shows a notification when the add-in command is executed.  
 * @param event {Office.AddinCommands.Event}  
 */  
function openAA(event) {  
    Office.context.ui.openBrowserWindow('https://www.google.com/');  
    event.completed();  
}  
function getGlobal() {  
    if (self) {  
        return self;  
    }  
    if (window) {  
        return window;  
    }  
    if (global) {  
        return global;  
    }  
    return undefined;  
}  
  
const g = getGlobal();  
g.openAA = openAA;  

My file structure are like below:
excel-plugin
functions
functions.html
functions.js
manifest.xml
package.json

Office Development
Office Development
Office: A suite of Microsoft productivity software that supports common business tasks, including word processing, email, presentations, and data management and analysis.Development: The process of researching, productizing, and refining new or existing technologies.
3,720 questions
0 comments No comments
{count} votes