top of page
検索

【GAS】まず、学んでみる。

  • uniteen
  • 2015年8月14日
  • 読了時間: 3分

お盆。

会社の先輩に個人的にお誘いを受けたので、Javascriptを触ったことがない私が

Google Apps Scriptに挑戦してみる。

最近、どうやったら今の業務をもっと面白くできるかという思考でしか

仕事ができなくなっておりますね。もっと短時間で、やれることを増やしていきたいと思っております。

んー、なんか何も考えなくていい休日も欲しいけど、やりたいことが

多すぎるんですよね。

まぁ準備。

エディターを起動。

なにしよう・・・言語自体がわからんから、適当にすら書き方がわからん・・・。

エンジニアインターン様

【http://engineer-intern.jp/】

ここで基礎的な使い方をご教授していただけるようですので、沿ってやっていきましょうか。

var sheet = SpreadsheetApp.getActiveSheet();

頭にvarつけて変数指定、最後に;ですね。これは知ってた。

sheetの指定はこんな順番で指定すればいいということですね。

基本的にvbaとExcel系の言葉は同じっぽい。

while (position <= 30) {

 var number = shake_dice();

 position = position + number;

 sheet.getRange("A" + position).setBackground("#ff0000");

 count++;

 sheet.getRange("B1").setValue("サイコロを振った数 = " + count);

}

function shake_dice() {

 var result = Math.ceil(Math.random() *6/10 * 10);

 return result; }

Rangeの中身に、"A" + positionとありますが、こういうダイレクトな

表現はオッケーなんですね。VBAなら弾かれてますよ!笑

Math.ceilは切り上げのメソッドみたいですね。Math.randomは0以上1未満の乱数処理なので

6/10を積算して、0以上6/10未満ってとこでしょうか。ってとこでしょうか。んで最後に10を積算

して、四捨五入と。必ず0~5.9999までしかでないので、結果1〜6の乱数がでるわけですね。でも

0でたら0じゃない?謎です。C#なら普通に1−6で乱数指定できたと思う、、、、

合否判定プログラムのご紹介がありました。

function acceptance() {

// 現在選択されているシートをGASで使用可能にします。

var ss = SpreadsheetApp.getActiveSpreadsheet();

var sheet = ss.getActiveSheet();

/* 基準点を設定しています。 10回以下の処理を繰り返します。

国語、算数の点数を読み込んで、合計しています。 */

var point = 160;

for (var i = 1; i <= 10; i++) {

var language = sheet.getRange("A" + i).getValue();

var mathematics = sheet.getRange("B" + i).getValue();

var sum = language + mathematics;

// 合計が基準点を超えている場合、シートに”合格"と書きます。

if (sum >= point) {

sheet.getRange("C" + i).setValue("合格"); }

}

}

getValue()いれないとだめなんですかね。。。めんどくさい、

setValueは = で演算できるかどうか調べたら、できないんですね、えーーって感じ。

function test(){

var sheet = SpreadsheetApp.getActiveSheet();

var X,Y = 0;

for (var i = 1; i <= 10; i++) {

function S(){

var result = Math.ceil(Math.random() *100);

return result;

}

X = S();

sheet.getRange("A" + i) =X; ←だめでしたー

Y = S();

sheet.getRange("B" + i) = Y; ←だめでしたー

}

}

とりあえず、オリジナルメソッドの発現条件がわからん!!!笑

C#みたいに、指名しないとでないのかと思いきや、途中でメソッド()の処理が必要ですよー

ってなれば勝手に計算してくれるのか、、、

C#とVBAの間みたいな認識ですわたくし。

AB列にランダムに1~100を入力し、その後合計が合格値に

達していたらC列に合格、していなかったら空欄にするプログラムを

画像にスクリプト割り当てをしてみました。

てか、スクリプトシートごとのメソッド名に差異をつけられないというめんどうさ。

同じ名前使っちゃいけないのかよ。いちいち覚えてられないんだがw

とりあえず、基礎的な使い方はこんな感じですかね。

プログラミングガチ初心者は、どこまで文法に慣れられるか・・・。

では

 
 
 

Comments


  • Facebook Black Round
  • Google+ Black Round
  • Twitter Black Round
bottom of page