【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