〇やってみたこと
Googleのスプレッドシートで、Google App Script (以下GAS) を使って、セルを下に移動させて、そのセルの値をメッセージボックスで表示させるプログラムを作ってみました。
VBAで行うなら、
という内容をGASを使っておこないました。
本当は、表の中から、任意の数字まで移動する、検索プログラムを作りたかったのですが、
そこまでは行きつきませんでした。
〇GASでやってみる
以下の表でマクロを起動させると、アクティブなセルが下に移動し、メッセージボックスで123と表示されれば成功です。
ツールバーの “拡張機能” の中から、”Apps Script” を選んで、エディターを表示させます。
表示されるエディターに以下のコードを入力しました。
ツールバーの “拡張機能” の中から、”マクロ” を選んで、プログラムを実行してみます。
アクティブなセルが下に移動して、メッセージボックスが表示されました。
成功です。
〇コードの解説
・タイトル
function offset() {
・現在のスプレッドシートを取得し、変数ssに代入
var ss = SpreadsheetApp.getActiveSpreadsheet();
・スプレッドシートのシート番号を取得し、変数sheetへ
0を指定しているので、一番左端のシートを取得しています。
var sheet = ss.getSheets()[0];
・現在のセルから1行したのセルを選択
sheet.getActiveCell().offset(1,0).activate();
・現在のセルを、変数cellに代入
cell = sheet.getActiveCell()
・現在のセルの値を変数aに代入
var a = cell.getValue()
・メッセージボックスで変数aを表示
Browser.msgBox(a);
・コードの終わり
}
という内容です。
GASでは、変数を置くとき、先頭に “ var ” と入力するルールがあります。
〇VBAとの比較
VBAのコード
スプレッドシートの取得、シートの取得が必要になってくるので、どうしてもコードが長くなってしまい、むずかしく感じます。
ですが、定型文に近いので、慣れてしまえば問題ないと思います。
〇まとめ
今回は、Google App
Script (GAS)を使ってセルを移動させて、メッセージボックスを表示するプログラムを作成しました。
エクセルは表計算ソフトでは一番メジャーなソフトですが、ネット上で仕事をしはじめてからは、スプレッドシートを使う機会も増えてきました。
スプレッドシートもエクセルと比べてそん色がない機能がついています。
エクセルはサブスク形式のオフィス365ではない場合、バージョンによって、使える関数が制限されたりします。
ですが、スプレッドシートは常時アップデートされるので、最新のものを使えます。
もちろん、エクセル形式でのアウトプットも可能です。
マクロ機能も実装されていて、そのための言語がGoogle App Script (GAS) です。
VBAがマイクロソフト社が作った“ヴィジュアルベーシック”がベースになっているのに対し、GASはWEBでよく使われている“ジャバスクリプト”がベースとなっています。
VBAが使えて、GASも使えると、プログラミングの世界が一気に広がります。
今度は、今回作った、コードに条件分岐とループ処理をたして、検索機能を付けたいと思います。
0 件のコメント:
コメントを投稿