◆当ページにはプロモーションが含まれています

JavaScript

【サンプルつき】まずは値の挿入、コピー&ペーストを覚えよう! – Google App Script (GAS)入門

みなさん、こんにちは。どんぶラッコです。

今回はGAS (google app script)の基本操作についてまとめてみようと思います!

GASを覚えれば、Excelのマクロのように作業の自動化が夢じゃありません!

今回は基本動作である、セルのコピー、貼り付け、削除について学習していきます。では、早速やってみましょう!

前提: GASの記述場所

まずはGoogle Spreadsheetを開きます。

そして、ツール→スクリプトエディタ を選択します。

すると、こんな画面が表示されます。

ここが、実際にコードを記述していく場所になります。

任意の値を挿入する

まずは試しに好きなセルに日付を挿入する操作をしてみましょう。

function setValue() {
  var activeSheet = SpreadsheetApp.getActiveSpreadsheet();
  activeSheet.getSheetByName('シート1').getRange(2, 1, 3 ,2).setValue(new Date())
}

このように書いた上で、 cmd + s (or ctrl + s) でセーブをします。

では、実際に関数を実行してみましょう。エディタ上部で setValue 関数が選択されていることを確認し、実行ボタンをクリックします。

初回の場合、実行の許可を求められるので、「許可を確認」を押し、google アカウントで実行権限を許可してください。

以下のように 2*3 マスに 時刻が表示されていたら実行成功です!

何をやっているのか、コード毎にみていきましょう。

var activeSheet = SpreadsheetApp.getActiveSpreadsheet();

SpreadsheetApp.getActiveSpreadsheet() で、現在開いているスプレッドシートの情報を取得します。

activeSheet.getSheetByName('シート1').getRange(2, 1, 3 ,2).setValue(new Date())

1行目で作成した activeSheet オブジェクトを使います。

getSheetByName(シート名) … どのタブを参照するかを指定します。

getRange(行番号, 列番号, 高さ, 幅) … 操作する範囲を指定

setValue(値) … 値をセットする

最初に混乱するのが getRange() ではないかと思います。文字で見ると混乱しますが、視覚で整理すれば全く難しいことはありません。

今回は getRange(2, 1, 3 ,2) と指定していますね。 SpreadSheet上で確認してみましょう。

高さ、幅と表現しているのはオフセット値のことです。選択したセルから相対的にどれくらい離れた位置を指定するかということです。ややこしくなるので高さ、幅と表現しています。

どんぶラッコ
どんぶラッコ
getRange() で指定する引数の順番は
「”行列”の順番」で基準を指定してから「”行列”の順番」でオフセット値を指定する…と記憶しておけばいいね!

コピー & ペーストしてみる

では次にコピー&ペーストをする関数を作成してみましょう。

function copyAndPaste () {
  var activeSheet = SpreadsheetApp.getActiveSpreadsheet();
  activeSheet.getSheetByName('シート1').getRange(2, 1, 3 ,2).copyTo(
    activeSheet.getSheetByName('シート1').getRange(2, 4)
  )
}

セーブしたら、今度は copyAndPasteを選んでコードを実行してみましょう。

コピーできていれば成功です!

前回の文字挿入を理解しているならわかりやすいですね!

copyTo()

を使うとコピー&ペーストができます。

どんぶラッコ
どんぶラッコ
今回は上との解説の整合性をとるためにgetSheetByNameを2回書いていますが、共通処理として最初にオブジェクトに格納してしまうとより見た目はスッキリしますね!

みなさんも挑戦してみてください!

エンジニアにおすすめ転職サイト

マイナビIT AGENT
迷ったらまずはココ。求人数が多いため希望や条件にマッチする求人が見つかる!

レバテックキャリア
担当者のレベルが高い。エンジニア特化で15年の実績がある実績で初回提案での内定率驚異の90%!

JOIN
副業やフリーランスとして高額報酬案件を見つけるならJOIN。未経験者でも案件獲得実績豊富が強み!

\面白いと思ったら/

記事のシェア & Twitter のフォロー をお願いします!

@proglearn
一緒によく読まれている記事

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です