0

我有一个在我的公司上执行 CRM 系统的脚本,并且我使用 Fusion 表作为数据库。每次我输入一条新记录时,这条记录都会保存在这个融合表上。执行保存操作时,我使用以下代码在电子表格中复制数据,将其传递给数据库,以便备份数据:

function AtualizarSpreadsheet(e)
{
  var app = UiApp.getActiveApplication();
  var planilha = SpreadsheetApp.openById(SPREADSHEET_ID);
  var sheet = planilha.getActiveSheet();

  var enviado = "NÃO";
  var id = e.parameter.id;
  var nomeDoReclamante = e.parameter.nomeDoReclamante;
  var telefone = e.parameter.telefone;
  var ddd = e.parameter.ddd;
  var prefixo = e.parameter.prefixo;
  var sufixo = e.parameter.sufixo;
  var email = e.parameter.email;
  var regiao = e.parameter.regio;
  var categoria = e.parameter.categoria;
  var produto = e.parameter.produto;
  var subcategoria = e.parameter.subcategoria;
  var versaoDeSoftware = e.parameter.versoDeSoftware;
  var dataDeInicio = e.parameter.dataDeInicio;
  var dia = e.parameter.dia;
  var mes = e.parameter.ms;
  var ano = e.parameter.ano;
  var tituloDoProblema = e.parameter.ttuloDoProblema;
  var descricao = e.parameter.descrio;
  var status = e.parameter.status;
  var prioridade = e.parameter.prioridade;
  var informarEngenharia = e.parameter.informarEngenharia;
  var dataDeRegistro = e.parameter.dataDeRegistro;
  var horaDeRegistro = e.parameter.horaDeRegistro;
  var historico = e.parameter.histrico;
  var ordem = e.parameter.ordem;
  sheet.s
  sheet.appendRow([enviado,
                   id,
                   nomeDoReclamante,
                   telefone,
                   ddd,
                   prefixo,
                   sufixo,
                   email,
                   regiao,
                   categoria,
                   produto,
                   subcategoria,
                   versaoDeSoftware,
                   dataDeInicio,
                   dia,
                   mes,
                   ano,
                   tituloDoProblema,
                   descricao,
                   status,
                   prioridade,
                   informarEngenharia,
                   dataDeRegistro,
                   horaDeRegistro,
                   historico,
                   ordem]);
  return app;
}

在电子表格上,我执行一个函数 onOpen() 以在每次打开电子表格时发送一封电子邮件。但是,当我的融合表脚本执行命令时:SpreadsheetApp.openById(SPREADSHEET_ID); onOpen() 函数没有被触发。即使我打开电子表格,我也无法运行该功能。onOpen() 函数详述如下:

function onOpen() 
{
    MailApp.sendEmail("EMAIL", "SUBJECT", "BODY");
}

我究竟做错了什么?

4

1 回答 1

1

您正在尝试调用简单触发器中不支持的服务 (MailApp)。您需要调用您的 onOpen() 函数不同的东西,并附加一个可安装的“打开时”触发器来代替。

https://developers.google.com/apps-script/understanding_triggers

于 2012-10-26T20:27:44.110 回答