代码之家  ›  专栏  ›  技术社区  ›  Seldon

Office脚本:尝试将切片器添加到透视表

  •  0
  • Seldon  · 技术社区  · 3 月前

    我正试图插入一个切片器来使用Office脚本过滤透视表。但是,在使用以下代码时,我总是收到运行时错误。传递给add方法的对象似乎存在,如代码输出所示。我错过了什么明显的东西吗?

    代码输出:

    • 类型
    • {3B375914-9B2C-4C2A-94B8-B7A40A8FF92E}
    • 第19行:工作簿addSlicer:参数无效、缺失或不正确 格式。

    源代码:

        function main(workbook: ExcelScript.Workbook) {
          // 
          const farmPivot = workbook.getPivotTable("PivotTable4");
          const f = farmPivot.getHierarchy("Type").getFields()[0]
          console.log(f.getName())
          console.log(farmPivot.getId())
          const fSlicer: ExcelScript.Slicer = workbook.addSlicer(farmPivot, f)
          fSlicer.selectItems(["Lemon", "Lime"]);
          fSlicer.setLeft(400);
        }
    
    1 回复  |  直到 3 月前
        1
  •  0
  •   taller    3 月前

    第三个论点(slicerDestination) addSlicer 是必需的,即使它在MS文档中被列为可选。

    function main(workbook: ExcelScript.Workbook) {
        let selectedSheet = workbook.getActiveWorksheet();
        // let farmPivot = selectedSheet.getPivotTables()[0];
        let farmPivot = workbook.getPivotTable("PivotTable4");
        const f = farmPivot.getHierarchy("Type").getFields()[0]
        console.log(f.getName())
        // console.log(farmPivot.getId())
        const fSlicer: ExcelScript.Slicer = workbook.addSlicer(farmPivot, f, selectedSheet)
        fSlicer.selectItems(["Lemon", "Lime"]);
        fSlicer.setLeft(400);
    }
    

    slicer目标字符串|ExcelScript。工作表

    可选 。将在其中创建新切片器的工作表。它 可以是工作表对象或工作表的名称或ID。这个 如果从中检索切片器集合,则可以省略参数 工作表。

    Microsoft文档:

    ExcelScript.Workbook interface

    推荐文章