从Open电子表格发送电子邮件 [英] Sending email from spreadsheet onOpen
问题描述
我有一个脚本可以在公司上执行CRM系统,并且我正在使用Fusion表作为数据库。每当我输入新记录时,该记录就会保存在此融合表中。执行保存操作后,我将使用以下代码在电子表格中制作一个传递到数据库的数据副本,以便对数据进行备份:
I have a script that performs a CRM system on my company and I am using Fusion table as a database. Every time i enter a new record, this record is saved on this fusion table. When the save action is performed, I use the follow code to make a copy of the data, that is passed to the database, in on spreadsheet so I have a backup of the data:
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()函数的详细信息如下:
On the spreadsheet I perform a function onOpen() to send one email everytime the spreadsheet is oppened. However when my fusion table script performs the command: SpreadsheetApp.openById(SPREADSHEET_ID); the onOpen() function is not being triggered. Even if I oppen the spreadsheet I cant have that function runned. The onOpen() function is detailed bellow:
function onOpen()
{
MailApp.sendEmail("EMAIL", "SUBJECT", "BODY");
}
我在做什么错了?
推荐答案
您正在尝试调用简单触发器不支持的服务(MailApp)。您将需要以不同的方式调用onOpen()函数,并在其上附加一个可安装的 on open触发器。
You are attempting to call a service (MailApp) that is not supported in a simple trigger. You would need to call your onOpen() function something different, and attach an installable "on open" trigger to it instead.
https://developers.google.com/apps-script/understanding_triggers
这篇关于从Open电子表格发送电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!