GASの初心者レッスン

今回はタイトル通り、
GASの初心者レッスンと称して、関数や変数でよく使うような機能を部分的に紹介します！

以下様々なGASの記事を紹介してます！
https://bzbot.work/


##紹介記事
今回紹介している記事は以下です！
https://bzbot.work/2019/02/23/gas-beginner/

###図1
![image.png](https://qiita-image-store.s3.amazonaws.com/0/363116/e1d89f2b-2c9f-a7c9-41d9-f3c5c6182d67.png)


###紹介コード
```javascript:GAS
//ログを取得
function getLog(){
  Logger.log('Hello ビジボット');
}

//シート名を取得
function shName(){
  //アクティブシートを取得
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  //Begginerシートをアクティブにセットする
  var sh1 = sheet.setActiveSheet(sheet.getSheetByName("Begginer"));
}

//セル値を取得
function rangeVal(){
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var sh1 = sheet.setActiveSheet(sheet.getSheetByName("Begginer"));
  var range = sh1.getRange(1,1).getValue();
  Logger.log(range);
}

//複数セル値を取得
function rangeVals(){
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var sh1 = sheet.setActiveSheet(sheet.getSheetByName("Begginer"));
  
  //valuesで配列として値を取得
  var ranges = sh1.getRange(1,1,3,2).getValues();
  Logger.log(ranges);
}

//配列の値を取得
function getArray(){
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var sh1 = sheet.setActiveSheet(sheet.getSheetByName("Begginer"));
  var ranges = sh1.getRange(1,1,3,2).getValues();
  
  //配列としてセットした値の取得位置を指定する
  var arrVal = ranges[0];
  Logger.log(arrVal);
}

//値をセットする
function setVal(){
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var sh1 = sheet.setActiveSheet(sheet.getSheetByName("Begginer"));
  var ranges = sh1.getRange(1,1,3,2).getValues();
  var sh2 = sheet.setActiveSheet(sheet.getSheetByName("Begginer-copy"));

  //getRangeで値を貼り付ける位置、setValueで貼り付けデータを指定する
  sh2.getRange(1,1,3,2).setValues(ranges);
}

//シートの初期化
function clearSh(){
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var sh1 = sheet.setActiveSheet(sheet.getSheetByName("Begginer"));
  var sh2 = sheet.setActiveSheet(sheet.getSheetByName("Begginer-copy"));
  sh2.clear();
  }

//今日の日付を取得
function getToday(){
  var date = new Date();
  Logger.log(date);
}

//今日の日付を指定の形式に変更する
function cusFormat(){
  var date = new Date();
  //月を指定するときは必ず大文字のMMを指定します（半角mmだとminutesを指してしまう）
  var dateFmt = Utilities.formatDate( date, 'Asia/Tokyo', 'yyyy-MM-dd')
  Logger.log(dateFmt);

}

//ログをポップアップ表示
function display(){
  Browser.msgBox('Hello ビジボット');
}


//ログを表示
function logDisplay() {
  Logger.log('Hello ビジボット');
  Browser.msgBox(Logger.getLog());
}

//if文
function codeIf(){
  var x = 1;
  var y = 2;
  
  //もしTRUEだったら
  if(x == y){
    Logger.log('TRUE');
  }
  Logger.log('if終了');
  
  var a = 2;
  var b = 2;
  
  Logger.log('---------------------');
  
  //もしTRUEだったら
  if(a == b){
    Logger.log('TRUE');
  }
  Logger.log('if終了');
  
  Logger.log('---------------------');  

  //もしTRUEだったら
  if(x == y){
    Logger.log('TRUE');
    
  //もしFALSEだったら
  }else{
    Logger.log('FALSE');
  }
  Logger.log('if終了');
  
}

//for文
function codeFor(){

  //iが10より小さい場合はTRUEで処理が実行、FALSEの時に処理が終了
  for(var i = 0; i < 10; i++){
    Logger.log('iは' + i + '回目');
  }
}

//別関数呼び出し
function callFunction(){
  codeIf();
  codeFor();
}
```
##ログ取得方法

```javascript:GAS
//ログを取得
function getLog(){
  Logger.log('Hello ビジボット');
}
```
![image.png](https://qiita-image-store.s3.amazonaws.com/0/363116/97cdeaf5-7c04-e384-0a01-5711de25dc3e.png)


他にも結果は以下サイトで載せてます！
https://bzbot.work/