运行 值数组的函数

Run function for an array of values

我正在尝试 运行 一组值数组的函数,但它不起作用。基本上我想做的是为 Z 中的每个单元格粘贴并导出范围 A1:C15 的 PDF。我尝试了一些事情但似乎没有任何效果,我尝试的最新代码如下:

function GuardarPDF(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
  var refesSheet = ss.getSheetByName("etiqueta");
  var lista_refes = refesSheet.getRange("Z4:Z" + refesSheet.getLastRow()).getValues();
  var lista_refes_ok = lista_refes.filter(([a]) => a);
  
 for (var i = 0; i < lista_refes_ok.length; i++) {
    console.log(lista_refes_ok[i][0]) // Here, you can see the folder ID in the log.
    var refes = lista_refes_ok[i][0];
  try {
    for (var i = 0; i < lista_refes_ok.length; i++) {
    console.log(lista_refes_ok[i][0]) // Here, you can see the folder ID in the log.
    var refes = lista_refes_ok[i][0];
    try {
       var referencia2 = refesSheet.getRange("B5").setvalue(refes);
    CreaPDF();
    }}

(CreaPDF 工作正常,我在生成迭代时遇到问题,因此生成 Z 中每一行的 PDF) 有谁知道问题出在哪里或如何解决?非常感谢您!

你的代码有很多错误,但我认为这就是你要找的:

尝试:

function GuardarPDF() {

  const ss = SpreadsheetApp.getActiveSpreadsheet()
  const refesSheet = ss.getSheetByName(`etiqueta`)
  const lista_refes = refesSheet.getRange(`Z4:Z${refesSheet.getLastRow()}`)
                                .getValues()
                                .flat()
                                .filter(cell => cell != ``)
  
  lista_refes.forEach(ref => {
    refesSheet.getRange(`B5`).setValue(ref)
    CreaPDF()
    Utilities.sleep(5000)
  })

}

这将获取 Z4:Z(lastRow) 中列出的所有值,然后删除所有空白单元格。对于每个值,它将 ref 写入单元格 B5(潜在错误),并且 运行 CreaPDF.

如果您需要进一步解释,有任何问题,或需要修改,请告诉我!

了解更多:

试试这个:

function myfunk() {
  const ss = SpreadsheetApp.getActive()
  const rsh = ss.getSheetByName(`Your Sheet Name`)
  const vs = rsh.getRange(4,26,rsh.getLastRow() - 3).getValues().flat().filter(e => e);
  vs.forEach(e => {
    rsh.getRange(`B5`).setValue(e);
    SpreadsheetApp.flush();
    CreaPDF()
  });
}