onEdit スクリプトを機能させるのに最も苦労しています。私の仕事には、電話を追跡するために使用する電話ログシートがあります (日付、時間、割り当てられた技術など)。技術別の電話と呼ばれるピボット テーブル レポートとして設定された別のシートがあります。このシートは、技術者ごとに 1 日あたりの通話数を自動的にカウントすることになっています。それは機能しますが、問題は、Phone Log シートの Assigned Tech 列のセルに余分な空白が追加されるたびに、Tech シートによる電話での通話がまったく別の人として扱われるため、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) ;
}
}
}
}
したがって、基本的には、編集中のセル値、つまり「ボブ」を取得し、空白を削除して、入力された値を編集された値「ボブ」に置き換えようとしています。上記のスクリプトをスクリプト エディターで実行してもエラーは発生しませんが、機能しません。onEdit トリガーとして onMyEdit() をインストールしました。
何かご意見は?