プロが教えるわが家の防犯対策術!

google apps scripの初心者ですが、次のような関数setDatafromCurrent()の(1)でプログラムを終了するにはどうすればよいのでしょうか? 
/*
転記PTデータ
ピボットテーブルのデータを新しい列に貼り付けてそのまま実行してください。
カレントセルがデータの挿入列位置として使われます。
*/
function setDatafromCurrent() {
var SRCy = 10;
var SRCx = 5;
var DESTy = 7;
var DESTx = 5;
var DESTyLEN = 8;

var mySheet = SpreadsheetApp.getActiveSheet();

var cCur = mySheet.getActiveCell();
SRCx = cCur.getColumn();
SRCy = cCur.getRow();
if (SRCx==1 && SRCy==1) {
Browser.msgBox("他の人が利用している可能性があります。");
}

DESTx = SRCx;
var rSRC = mySheet.getRange(SRCy, SRCx, SRCy, 2);
// var rSRC = mySheet.setActiveRange(cCur.offset(0, 0, SRCy, 2));
rSRC.setBackgroundColor("#dcdcff");
// rSRC.setBackgroundRGB(220,220,255);

var rData = mySheet.getRange(DESTy,DESTx, DESTyLEN,1);
rData.setBackgroundColor("#e6ffe6");

var ynAns = Browser.msgBox("転記しますか?",Browser.Buttons.YES_NO);
if (ynAns=="no") {
・・・ (1)  ここで、プログラムを終了させたい。!
} else {
rData.activate();
cCur = mySheet.getActiveCell();
cCur.offset(1,0).setValue(rSRC.offset(1,1,1,1).getValue());
cCur.offset(7,0).setValue(rSRC.offset(5,1,1,1).getValue());
cCur.offset(8,0).setFormula("=SUM(R[-3]C[0]:R[-1]C[0])");

mySheet.setActiveRange(cCur.offset(0, 1, 1, 1));
}

ynAns = Browser.msgBox("元のデータを消去しますか?",Browser.Buttons.YES_NO);
if (ynAns=="no") {
} else {
rSRC.clearContent();
}
rSRC.clearFormat();
rData.clearFormat();
}

function 背景色の取得() {
var mySheet = SpreadsheetApp.getActiveSheet();
var cCur = mySheet.getActiveCell();

cCur.setBackgroundRGB(230, 241, 210);
var BG_color = cCur.getBackgroundColor();
Logger.log(BG_color);
Browser.msgBox(BG_color);

}

A 回答 (2件)

終了させたい箇所にreturn文を記述すれば良いです。


この事は、google apps scriptに限らずjavascriptのルールでもあります。

(例)
function sampleFunc() {
var ynAns = Browser.msgBox("転記しますか?",Browser.Buttons.YES_NO);
if (ynAns=="no") {
Browser.msgBox("終了する");
/* 必要であれば終了処理 */
return;
} else {
Browser.msgBox("続行します。");
}
/* 続行する処理 */
return
}
    • good
    • 3

google apps script はまったく知りませんが、




単純に後の処理をスキップすればよいだけなら、
実行させたくない部分を削除するか、コメントアウトしてしまえばよいのではないでしょうか。


そういう意味の質問ではないのかな・・・
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています