将任务窗格文本字段值添加到Excel单元格JavaScript API

问题描述 投票:0回答:1

如何添加到异步函数中以将TextField值输入Excel中的单元格?我正在尝试创建一个用户界面数据输入任务窗格,并让用户填写任务窗格,然后将其TextField数据插入到单元格中。在下面的.js代码中,我只有一个按钮,用于输入在.js文件中编写的字符串。如何将以下.html TextField添加到此.js异步函数?

(.js)

/*
 * Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
 */


Office.initialize = () => {
  document.getElementById("sideload-msg").style.display = "none";
  document.getElementById("app-body").style.display = "flex";
  document.getElementById("PMARK").onclick = run1;
  document.getElementById("LSR").onclick = clear1;
  document.getElementById("run12").onclick = run;
};

async function run() {
  try {
    await Excel.run(async context => {

      const range = context.workbook.getActiveCell();

      range.load("address");


      range.values = "PRESS BRAKE";
      range.getOffsetRange (0, 2).values = "P_BRK1";

      await context.sync();
      console.log(`The range address was ${range.address}.`);
    });
  } catch (error) {
    console.error(error);
  }
}

(.html)

<!-- Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License. -->

                <div class="ms-TextField">
                    <label class="ms-Label">Part Number</label>
                    <input class="ms-TextField-field" type="text" value="" placeholder="">
                </div></p>
javascript office-js yeoman-generator-angular exceljs customtaskpane
1个回答
0
投票
/*
 * Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
 */

// The initialize function must be run each time a new page is loaded
Office.initialize = () => {
  document.getElementById('sideload-msg').style.display='none';
  document.getElementById('app-body').style.display='flex';
  document.getElementById('run1').onclick = run1;
  document.getElementById('PMARK').onclick = run2;
  document.getElementById('LSR').onclick = run3;
  document.getElementById('WLDR').onclick = run4;
  document.getElementById('FLAT').onclick = run5;
  document.getElementById('DIM').onclick = run6;
  document.getElementById('BUY').onclick = run7;
};
async function run1() {
  try {
    await Excel.run(async context => {

      const range = context.workbook.getActiveCell();
      **var stx = document.getElementsByName("nameField")[0].value**;
      // Read the range address
      range.load("address");

      // Update the fill color
      range.values = "PRESS BRAKE";
      range.getOffsetRange(0, 2).values = "P_BRK1";
      **range.getOffsetRange(0, -2).values = stx;**
      await context.sync();
      console.log(`The range address was ${range.address}.`);
    });
  } catch (error) {
    console.error(error);
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.