【Google Apps Script】ループ(繰り返し)処理を行う

Google Apps Scriptのループ(繰り返し)処理について解説しています。

■Google Apps Scriptの構文

■コード

for(初期化、条件、インクリメント)
    {
        実行する指示;
    }

※インクリメントは、変数の値を1増やす、カウンタする演算のことです。

■ループ(繰り返し)処理の例

■コード

function for_next_loop_apps_scrip()

{
    var wb= SpreadsheetApp.getActiveSpreadsheet();
    var sh1=wb.getActiveSheet();
  
        for(i=1;i<=10;i++)
        {
            var cell=sh1.getRange(i, 1);
            cell.setValue(i);
        }
}

for_next_loop_apps_scripという関数、function()を作成します。

作成した後にvarと記述し、wbという変数を作成します。作成した変数の中には、「SpreadsheetApp.getActiveSpreadsheet()」と記述します。これは現在開いているスプレッドシートのオブジェクト(物)になります。オブジェクトを変数に格納します。

次にvarと記述し、sh1という変数を作成します。作成した変数の中には、「wb.getActiveSheet()」と記述します。スプレッドシートで現在アクティブなシートを返しています。それを変数に格納のします。

格納後、「for(i = 1; i <= 10; i ++)」と記述します。for文によるループ(繰り返し)処理を設定します。ループ(繰り返し)処理は変数の「i」が「1」として初期化されます。次に条件は「i」の変数が、今回は常に10以下であるかどうかをチェックし、10を超えてしまわないようにし、10までで処理が終了するようにします。最後にインクリメントで「i」変数の値を1増やします。

次に、for文によるループ(繰り返し)処理内({})に、varと記述し、cellという変数を作成します。変数の中にはスプレッドシートのセルを取得する「getRange()」と記述します。括弧内の第1の引数に、指定する範囲の行番号。第2の引数に指定する範囲の列番号を指定し格納します。

格納後、取得したスプレッドシートのセルを変更する「setValue()」と記述します。括弧内には「i」と記述し、「i」が変化すると、行が変更するようにします。

■スクリプトの実行

取得しているGoogleアカウントでGoogleドライブ(https://drive.google.com/drive/u/0/my-drive)にアクセスします。

アクセスし、左側のメニューから「新規」ボタンをクリックします。

クリックすると、プルダウンメニューが表示されますので、「Googleスプレッドシート」をクリックします。

クリックすると、Googleスプレッドシートが作成されますので、上部のメニューから「ツール」ボタンをクリックし、「スクリプトエディタ」をクリックします。

クリックすると、Apps Scriptスクリプトエディタが表示され、「無題のプロジェクト」というプロジェクトが作成されます。「function myFunction()」と表示されている箇所に、今回のコードを記述します。

記述後、Apps Scriptスクリプトエディタの上部にある「実行」ボタンをクリックします。

クリックすると、「スクリプトが見つかりません」、実行ログに「myFunction を実行しようとしましたが、削除されました。」と表示されますが、慌ててはいけません。「デバック」の右側の表示が「myFunction」から「for_next_loop_apps_scrip」に変更されていますので、再度「実行」ボタンをクリックします。

クリックすると、「承認が必要です」というウインドウが表示されますので、「権限を確認」ボタンをクリックします。

クリックすると、新しいWebブラウザのウインドウが表示され、「Googleにログイン」と表示されますので、アカウントの選択で、ログインした(Googleスプレッドシートを作成した)Googleアカウントを選択します。

選択すると「このアプリは Google で確認されていません」と表示されます。ウインドウ内の「詳細」の文字をクリックします。

クリックすると、詳細が表示されますので、「プロジェクト名(安全ではないページ)に移動」の文字をクリックします。

クリックすると、「Google アカウントへのアクセスをリクエストしています」と表示されますので、「Google ドライブのスプレッドシートの表示、編集、作成、削除」を許可するために「許可」ボタンをクリックします。

クリックすると、ウインドウが閉じます。閉じた後にApps Scriptスクリプトエディタの実行ログを確認すると「実行開始」、「実行完了」と表示されます。これでスクリプトが実行され完了となります。

スクリプトの完了後、スプレッドシートを確認すると、ループ(繰り返し)処理が実行されていることを確認できました。

コメント

タイトルとURLをコピーしました