さて、前項でGASはJavaScriptというポピュラーな言語をベースとしていますと話しました。
同一の物ではないけど、ベースが同じ。
という認識で大丈夫です。
どっちにも使えるコードもあれば、どっちかにしか使えないコードもある。
特にGASはGoogleのものなので、Googleのアプリケーションを動かすコードが使えます。
gmailやカレンダーを動かすコードなどがこれに当たります。
逆にJavaScriptで出来るコードもGASでは動かないものもあります。
さぁ早速GASのコードを見てみましょう。
実は前章で作ったマクロはGASのコードとして既に保存されています。
メニューバーのツールからスクリプトエディタを選択してください。
別ページにて記録されているマクロというのが開かれたと思います。
そこに書かれているのがマクロのコードです。
作成した数によるのですが、myfunction、myfuction1、・・・という感じで複数あるかと思います。
無い方は、5-2■どういうことに使うの?のマクロを作ってみましょう。
さて、何が何やら分からないかも知れませんが、そのマクロの中に絶対参照と相対参照のものがあるはずですよね?
これかな?って想像してみるだけでも、どういうことが書いてあるのか理解するのに役立ちます。
必ずこうなっているわけではありませんが、サンプルを下に表示します。
では、順に見ていきましょう。
一つのマクロは
function myfunction() {
で始まり、
};
で終わっています。
これをステートメントと言います。
ということは、その中がそれぞれのマクロの実行内容を指しているということです。
共通の部分と、差がある部分がありますね。
サンプルのmyfunctionでは、getRange(‘B2’)というのがあります。
これはB2セルを選択するという意味です。
つまり、今どこを選択していてもB2セルを選択するということ。
これが絶対参照です。
myfunction1ではいきなり、setValue(‘はじめてのマクロ’)となっているので、選択されているセルにこの文字を入れるという、相対参照になっています。
さらに、文字を入れた後の実行文も見てみましょう。
絶対参照では、getRange(‘B3’)とB2に対して一つ下のB3セルを指定していますが、相対参照ではoffset(1, 0)と書いてあります。
これは選択状態のセルの一つ下のセルという相対参照の指定になります。
何となく分かりましたか?
この項の目的は、コードを見て「こういうことかなぁ?」と想像できるようになることです。
全部理解するにはまだまだこれから勉強が必要です。
絶対参照と相対参照を理解していないと、コードの差も理解出来ません。
順番に勉強していくために、今回は想像までで大丈夫です。
ちなみに、マクロを作るとコードが書かれるので、逆引きとして使うことも出来ます。
後に役に立つので覚えておきましょう。
コメント