1

テーブル全体をあるシート(inputSheet)から別のシート(outputSheet)にコピーしてから、同じ出力シートにテーブルをコピーして追加し続けたいと思います

ここに私が試したいくつかのことがあります:

function main(workbook: ExcelScript.Workbook) {
  const inputSheet = workbook.getWorksheet("Input")
  const outputSheet = workbook.getWorksheet("Output")


  // Worksheet addTable: The argument is invalid or missing or has an incorrect format.
  const tableRange = inputSheet.getTables()[0].convertToRange()
  const table = outputSheet.addTable(tableRange, true)

 
  // Worksheet addTable: The argument is invalid or missing or has an incorrect format.
  const tablaRange2 = inputSheet.getTables()[0].getRange()
  const tabla2 = outputSheet.addTable(tablaRange2, true)


  // this one kind of work but :
  //   1- have to know the range in advance
  //   2- the second table I copy(to the same outputSheet), gives an error saying that headers can't have rich text. 
  const newRange = outputSheet.getRange("A1:Z20")
    .copyFrom(inputSheet.getRange("A1:Z20"), ExcelScript.RangeCopyType.all, false, false);
  const newTable = eneSheet.addTable("A1:Z20", false)
}

シートをコピーするこの方法に似た簡単なものがあることを願っています:

  const newSheet = previousSheet.copy(ExcelScript.WorksheetPositionType.after, anotherSheet)

しかし、それを行うテーブルまたはシート メソッドは見つかりませんでした。

4

1 に答える 1

3

同様の構造を含むテーブルを扱っている場合は、それらを結合するロジックを記述する必要があります。テーブルの新しいコピーを作成する API はありません。他の同様のテーブルから行を追加する - これは非常にカスタムなロジックです。

ロジックの 2 つのバリエーションについては、こちらのプロジェクトをチェックしてください (どちらがニーズに合っているかわかりません)。ステップバイステップのビデオをチェックアウトして、これがどのように機能するかを確認してください。これがあなたの考えているシナリオでない場合は、お知らせください。

https://github.com/sumurthy/officescripts-projects/tree/main/Copy%20Tables%20to%20Master%20Table

于 2020-11-18T02:56:44.243 に答える