ひとり税理士のGAS -2.会計ソフトインポート用データを作成(1)-
プログラミング・・・覚えたての頃は、少しずつコードを入力して実行して覚えました。動いたら、少し追加して・・・というような感じで・・・。
繰り返しする作業は、プログラミングに適しているので、まずは取得したデータを会計ソフトに取り込む作業・・・データを取得するたびに同じ作業の繰り返しなので、プログラミングに挑戦しました。
最初から難しいプログラミングは考えないで、下図のように、AシートからBシートにデータを移記するだけの単純な作業をプログラミングから始めました。
[ スプレッドシートAを取得 ]
[ シートXを取得 ]
[ スプレッドシートBを取得 ]
[ シートYを取得 ]
[ コピー元のセルの値を取得 ]
[ コピー先のセルに値をセット ]
とりあえず、こんなイメージで作成してみます。
[ スプレッドシートAを取得 ]
。。。
[ スプレッドシートBを取得 ]
。。。
の部分は、
var Asheet=SpreadsheetApp.openById(' [スプレッドシートID] '); // [スプレッドシートID]で取得
・・・
var Bsheet=SpreadsheetApp.getActiveSpreadsheet(); // 現在使用しているものを取得
・・・
" var " は、変数(入れ物のようなもの)を宣言しています。
var Asheet = ・・・
は、" ・・・ "を、「Asheet」と名付けた変数に入れます・・・と言うように。
[スプレッドシートID]とは、
[ スプレッドシートAのシートXを取得 ]
[ スプレッドシートBのシートYを取得 ]
の部分は、
var Asheet_X = Asheet.getSheetByName('X');
var Bsheet_Y = Bsheet.getSheetByName('Y');
変数の宣言が終わったら、次に処理の部分。
[ コピー元のセルの値を取得 ]
[ コピー先のセルに値をセット ]
例えば、次のコードは、
var vmoto = Asheet_X.getRange('A1').getValue();
Bsheet_Y.getRange('A1').setValue(vmoto);
「Asheet」スプレッドシートの「X」シートの「A1」セルの値を取得し、変数「vmoto」に代入し、
変数「vmoto」を「Bsheet」スプレッドシートの「Y」シートの「A1」セルに値をセットする・・・という処理を表しています。
難しく考えないで、まずは小さく作ってみて、動かしてみる。成功したら、処理を拡張していけば、なんとなく形になっていくと思います。
プログラミングの本は、まず、「どんな処理ができるのか。」「作成するうえで、どのような決まりがあるのか。」程度を理解し、必要な時に必要な部分を真似て作成してみると簡単に覚えることができると思います。
本は、最初のページから順に読んでも、・・・途中で眠くなって・・・、また、仕事が忙しくなったら・・・忘れて・・・挫折ということになるので、参考書として使うことに。
今回は、ここまで。
次回は、もう少しスマートに加工していきたいと思います。