このブログを検索

2012年11月16日金曜日

チェックボックス(ボタン式)(1)

■チェックボックス改造

   先日の記事でも紹介したとおり、GUIビルダーを使ってスクリプトを作成する際に
   便利な(?)【ユーザプロパティ/スクリプトプロパティ】を使ってチェックボックスを
   作ってみました。

   今回のチェックボックスは、「チェックボックスの中からチェック選択後、ボタン押下で
   どのチェック項目が選択されたかがスプレッドシートに保存される」というスクリプトです。

   ちょっとまだ作り途中で、改良の余地がありありなのですが、まずは今日の段階で
   たどり着いたところまで。


■手順

   まずは下準備として、選択されたチェック項目を保存するためのスプレッドシートを
   作成します。
   スプレッドシートの【ID】をどこかにメモしておきます。

   スプレッドシートの【ID】はコチラ。
   
      ① 作成したスプレッドシートのアドレスをチェック




        ② アドレスの中の、「http://~~~~key=*********#gid」 の****の箇所
           (上記の例だと、以下の箇所が【ID】になります。)




   今回は、スタンドアローンのスクリプトを作ろうと思いますので、  
   Googleドライブ→スクリプトを選択してスクリプトエディタを開いて一旦保存し、
   ファイル→「ユーザインタフェース構築...」でGUIビルダーを開きます。

   GUIビルダーをこんな感じで作ったら、




   一旦スクリプトエディタに戻ってスクリプト(※後述)を書いた後、
   GUIビルダーでチェックボックスのプロパティ「イベント」の「マウスクリック」を
   「checkHandler」(=チェック時の処理を定義したfunction)にします。



   これで、GUIビルダーでの作業は終わりです。


■スクリプト   

   で、スクリプトはひとまずこんな感じで書いてみました。
  

           ☆UIを起動☆

          ・特に目新しいスクリプトではないので、説明は割愛します。

       ☆チェックボックスクリック時の処理を定義☆

          ・『e.parameter[e.parameter.source]』は次のような意味を指す。
              [e.parameter.source] :クリックで選択された部品名を取得
              (e.parameter[:::]) : 部品名[…]の値を取得

          ・29行目で、チェックボックスがマウスクリックされたことで
              選択された場合    ⇒  true
              選択解除された場合 ⇒  false
           のどちらかの値を変数”age”に格納する。
           
          ・30行目で、選択されたチェックボックス[age*]のユーザプロパティの
           値を、29行目で変数”age”に格納した値(true/false)にする。

         (例 : 部品名[age1]にチェックが入った場合)

              29行目 : 変数age = [age1]の値 = true
              30行目 : ユーザプロパティ(age1 , true)


       ☆「登録」ボタンクリック時の処理を定義☆

          
         ・変数age1~6に、ユーザプロパティage1~6の値(true/false)を格納

         ・データ保存用スプレッドシートのIDを指定して、値を保存
           ※スプレッドシートへの保存についての記事はコチラを参照


   これで、スクリプトもOK。
   「バージョン管理」⇒「実行・承認」⇒「ウェブアプリケーションの公開」して完成。


■実際に試してみたい方へ

   リアルタイムに修正中のため、まだスクリプトは載せませんが、
   チェックボックスの動作を確認したい方はコチラへ。



■予告編

   次回、今日のチェックボックスに次のような修正を加えようと思っています。
     
     ・冗長なスクリプトをfor文を使ってシンプルにする

     ・スプレッドシートへの値の保存方法を、「trule/false」ではなく、
      一つのセルに「幼少期,青年期,老年期」というように表示されるようにする

     ・ボタン押下後、チェックボックスをすべて”false”にする


これからG Suiteデビュー!!をご検討の方は、こちらからご登録できますよ~
  ↓   ↓   ↓
  https://goo.gl/YOLLHz