我很难让我的 onEdit 脚本工作。我的工作有一个电话记录表,我们用它来跟踪电话(日期、时间、分配的技术等)。我们将另一个工作表设置为数据透视表报告,称为“技术电话”。该工作表应该自动计算每位技术人员每天的通话次数。它可以工作,但问题是任何时候额外的空白被添加到电话日志表中分配的技术列中的单元格,技术表的电话将其视为一个整体,所以看起来好像有 4 个不同的“鲍勃等。
我已经成功地编写了一个脚本,通过修剪 Assigned Tech 列的每个单元格中的空白来清理它,并且我正在尝试将其转换为 onEdit 脚本以实时完成相同的事情。
function onEdit(e)
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var r = ss.getActiveRange();
}
function myOnEdit()
{
function replacer( str, p1, p2, offset, s ) {
return p1
}
var ss = SpreadsheetApp.getActiveSpreadsheet();
var cell = ss.getActiveCell().getA1Notation();
var tsheet = "Phone Log";
var sname = ss.getName();
if (sname = tsheet) //Are we in the Phone Log sheet?
{
var r = ss.getActiveRange();
var column = r.getColumn();
if (column == 4) //Are we editing a cell in the "Assigned Tech" column?
{
var value = cell.getValue();
if ( value == String )
{
value = value.replace( /^\s*(.*?)\s*$/gm , replacer );
cell.setValue( value) ;
}
}
}
}
所以基本上,我正在尝试获取正在编辑的单元格值,即“Bob”,删除空格并将输入的值替换为已编辑的值“Bob”。当我在脚本编辑器中运行上述脚本时,我没有收到任何错误,但它只是不起作用。我确实安装了 onMyEdit() 作为 onEdit 触发器。
有什么想法吗?