0

我有一个工作簿,需要它与另一个工作簿进行交互。我有下面的代码可以正常运行并获取单元格的值。但我需要有一个函数来引用另一个工作簿。

function main(workbook: ExcelScript.Workbook) {
    
    // Get Worksheet
    let Sheet1 = workbook.getWorksheet('Worksheet 1');
    // Get the value of cell A1.
    let range = SourceData1.getRange("A1");
    // Print the value of A1.
    console.log(range.getValue());
    
}

我试过像这样引用......

let SourceData1 = workbook.getWorksheet('https://mydomain.sharepoint.com/personal/Documents/[sourceData.xlsx]in');

但我认为工作簿部分只是引用了任何打开的内容?如何从不同的工作表中引用外部工作簿?

4

1 回答 1

1

您应该能够使用我在这里写的大部分回复。只有几个小区别:

您不需要对任何内容进行字符串化或解析。您可以直接将单元格的值作为字符串处理。

您将使用范围的 GetValue 方法在第一个脚本中获取单元格的值。然后,您将在第一个脚本中将该值作为字符串返回,如下所示:

//first script
function main(workbook: ExcelScript.Workbook): string
{
  let sh: ExcelScript.Worksheet = workbook.getActiveWorksheet();
  let rang: ExcelScript.Range = sh.getRange("E1");
  return rang.getValue() as string
}

在第二个脚本中,您不需要调整任何范围的大小。只需设置应分配输入值的范围,并将函数的参数值分配给该范围(在我的链接中,我调用了参数 tableValues。因此,由于这是一个单元格值,我会考虑将其重命名为单元格值)。所以如果你有一个 cellValue 参数,你可以像这样更新代码行:

//second script
function main(workbook: ExcelScript.Workbook, cellValue: string)
{
  let sh: ExcelScript.Worksheet = workbook.getActiveWorksheet()
  let rang: ExcelScript.Range = sh.getRange("D1")
  rang.setValue(cellValue)
}
于 2021-12-26T18:31:57.830 回答