2

私はそれが専門家のためだと思います。 Googleスプレッドシートのアクセス許可

/*Updated and maintain by internetgeeks.org*/ 
function onEdit(event) 
{ 
    var timezone = "GMT-3"; var timestamp_format = "dd-MM HH:mm"; // Timestamp Format. 

    if (updateColName = "Nº Cotação") { 
    var sheet = event.source.getSheetByName('Cotações'); //Name of the sheet where you want to run this script. 
    var updateColName = "Nº Cotação"; var timeStampColName = "Data proposta"; 
    var actRng = event.source.getActiveRange(); 
    var editColumn = actRng.getColumn(); 
    var index = actRng.getRowIndex(); 
    var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues(); 
    var dateCol = headers[0].indexOf(timeStampColName); var updateCol = headers[0].indexOf(updateColName); updateCol = updateCol+1; 
    if (dateCol > -1 && index > 1 && editColumn == updateCol) { // only timestamp if 'Last Updated' header exists, but not in the header row itself! 
    var cell = sheet.getRange(index, dateCol + 1); 
    var date = Utilities.formatDate(new Date(), timezone, timestamp_format); cell.setValue(date);} 

    if (updateColName = "Resposta ao Cliente") { 
    var sheet = event.source.getSheetByName('Cotações'); //Name of the sheet where you want to run this script. 
    var updateColName = "Resposta ao Cliente"; var timeStampColName = "Contatado"; 
    var actRng = event.source.getActiveRange(); 
    var editColumn = actRng.getColumn(); 
    var index = actRng.getRowIndex(); 
    var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues(); 
    var dateCol = headers[0].indexOf(timeStampColName); var updateCol = headers[0].indexOf(updateColName); updateCol = updateCol+1; 
    if (dateCol > -1 && index > 1 && editColumn == updateCol) { // only timestamp if 'Last Updated' header exists, but not in the header row itself! 
    var cell = sheet.getRange(index, dateCol + 1); 
    var date = Utilities.formatDate(new Date(), timezone, timestamp_format); cell.setValue(date);} 

    } 
} 
} 
  • がこのスプレッドシートは、と共有されている:私は
  • 次のスクリプトは、その上で実行されているGoogleスプレッドシートを作成した

    • :そこには、ステップバイステップであります編集者として他のユーザー
    • いくつかの間隔はいくつかの電子ditors

    ISSUE

    • 所有者は、2つの(上記のコードを参照)の列を説明した共有エディタが何か、ちょうど第二の条件を変更すると、スクリプトは

    • 正常に動作します更新スクリプトのif(if)が動作しています

    誰かがこれについて私を助けることができますか?

    スクリプトに問題はありますか?スプレッドシートの所有者だけで正しく動作するのはなぜですか?

    if (updateColName = "Nº Cotação") 
    

    へ:また

    if (updateColName == "Nº Cotação") 
    

    と変化する代わりに、あなたのコード内で '==' シングル '='
    使用して、二重

    変更次の文を使用しての

+0

http://pt.stackoverflow.com/help/dont-askは興味があるかもしれません。 – pnuts

+0

'updatedColName'は' undefined'です。 http://stackoverflow.com/q/16089041/1595451 –

答えて

0

以下:

if (updateColName = "Resposta ao Cliente") 

へ:

if (updateColName == "Resposta ao Cliente") 

UPDATE:ここ
があなたの要件ごとに動作するはずです完全なスクリプトコードです:

function onEdit(event) { 
    var actRng = event.source.getActiveRange(); 
    var actSheet = actRng.getSheet(); 
    if(actSheet.getName() == 'Cotações' && actRng.getRowIndex() > 1) { 
    var updateColName = actSheet.getRange(1,actRng.getColumn()).getValue(); 
    var headers = actSheet.getRange(1, 1, 1, actSheet.getLastColumn()).getValues(); 
    var date = Utilities.formatDate(new Date(),'GMT-3','dd-MM HH:mm'); 
    if(updateColName == 'Nº Cotação') { 
     var dateCol = headers[0].indexOf('Data proposta'); 
     actSheet.getRange(actRng.getRowIndex(),dateCol+1).setValue(date); 
    } 
    else if(updateColName == 'Resposta ao Cliente') { 
     var dateCol = headers[0].indexOf('Contatado'); 
     actSheet.getRange(actRng.getRowIndex(),dateCol+1).setValue(date); 
    } 
    } 
}; 
+0

を参照してください。こんにちはKishan、ありがとう、しかし、この後、コードはもう動作しません。 –

+0

こんにちはダニエル、私は自分の答えを更新し、あなたの要件に応じて動作する必要があります完全なコードを掲載しました。 – Kishan

+0

OK、ありがとうございますKishan ...完全なコードを使ってテストしましたが、問題は解決しません。 :( もう一度(条件)が別のユーザーのために働いていれば –

関連する問題