簡體   English   中英

Office-js Commands.js function 未執行

[英]Office-js Commands.js function Not executing

我有一個簡單的 function,當在按鈕上單擊它時,它會更改字體顏色。 出於某種原因,這些是唯一不工作/注冊的功能。 這是src正下方的commands文件夾下的commands.ts文件。

該按鈕位於它自己的組下的 manifest.xml 文件中,我已驗證它們匹配。 這就是 event.source.id 是什么。

async function changeColor(event) {
  Word.run(async (context) => {
      await context.sync();
      const selectedText = context.document.getSelection();
      selectedText.load();
      await context.sync();
      switch (event.source.id) {
          case "Blue.Button":
              selectedText.font.color = "#08437A";
              await context.sync();
              break;
          case "Orange.Button":
              selectedText.font.color = "#EA7C1D";
              await context.sync();
              break;
          case "Green.Button":
              selectedText.font.color = "#8EAB4D";
              await context.sync();
              break;
          case "Purple.Button":
              selectedText.font.color = "#1B1630";
              await context.sync();
              break;
          case "Yellow.Button":
              selectedText.font.color = "#FFCF01";
              await context.sync();
              break;
          default:
              selectedText.font.color = "#CCCCCC";
              await context.sync();
              break;
      }

      await context.sync();

  });

  event.completed();
}

function getGlobal() {
  return typeof self !== "undefined"
    ? self
    : typeof window !== "undefined"
    ? window
    : typeof global !== "undefined"
    ? global
    : undefined;
}


const g = getGlobal();

Office.actions.associate("changeColor", changeColor);

我在一個 Typescript React 項目中,但我嘗試將文件更改為 .js 和 .ts,盡管它應該可以消除任何錯誤。 我查看了文檔,發現 Office.actions.associate 是新的,這是調用 function 的新方法。有什么建議嗎?

我找到了解決方案,它在我的 webpack.config.js 文件中

前:

new HtmlWebpackPlugin({
    filename: "taskpane.html",
    template: "./src/taskpane/taskpane.html",
    chunks: ["taskpane", "vendor", "polyfills"],
  })

后:

new HtmlWebpackPlugin({
    filename: "taskpane.html",
    template: "./src/taskpane/taskpane.html",
    chunks: ["taskpane", "vendor", "polyfills", "commands"],
  })

原來我錯過了將“命令”放在任務窗格中,因為那是它所在的位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM