dekkaino[GAS]DriveAppでファイルを移動するコメントを残すstackoverflowの説明が端的でわかりやすい。Googleドライブ上のファイルがどのフォルダに入っているかは、いわゆるフォルダ構成とはイメージが異なる。Googleドライブであるファイルがどのフォルダに入っているのかは、Gmailのラベルに相当するものと考えればよい。同時に複数のフォルダに同一のファイルが所属できるのも、Gmailのラベルを思い出せばおかしなことではないだろう。新しいファイルの生成は、ルートフォルダである「マイドライブ」で行われる。これは新しいファイルに「マイドライブ」のラベルが付いた状態だと思えばいい。Googleドライブ上でどこかのフォルダにファイルを移動させたければ、移動先のfolderに対してfolder.addFile(ファイル)を行ったうえで、「マイドライブ」フォルダからremoveFile()すればよい。~スプレッドシートからGoogleドキュメントを作成する~の説明通りにやればファイルを移動できる。ほかのサイトだと、copyして元のファイルを削除しているケースが見られるが、これだとcopyした意味がない。dekkaino[GAS]どこで勤務しているか所在情報を共有する仕組みコメントを残す小さな組織から大きな組織まで、出欠や勤怠をまとめた一覧表を用意している場合が多い。ある方式が、大きなホワイトボードに氏名が並んでいて、マグネットで自分がどこにいるのかを示す形である。少人数のうちはホワイトボードでもいいが、100人を超えるような組織で、かつ居場所が散在している場合には、自分の所在を変更するためホワイトボードまで行くだけで相当な手間がある。ホワイトボードから離れた場所にいるものには他人の情報を確認できないし、忘れたまま出かけてしまった場合は残っている人に連絡して情報を書き換えてもらう必要がある。Scriptを使って所在情報を共有する仕組みを開発した。所在情報をまとめるスプレッドシートを作成し、さらに各ユーザーの利便性のためWEBアプリケーションを経由してスプレッドシートに記録されている自信の情報を読み書きできるようにした。外部から所定のメールアドレスへメールを送り、GmailをGASから操作して所所在情報を書き換えられるようにした。Suiteに社内ネットワークからしかアクセスできないという制限を踏まえたためである。スプレッドシートの構成は以下の通り。所在の情報の確認でも最も短時間で反応する必要がある場面を総務部門の担当者が代表電話で連絡を受けた場合と判断し、氏名をあいうえお順で並べたシートを本体とした。予定の最終有効日これとは別に、所属部門ごとに氏名を並べて所在を見やすくしたシートを作成した。各人の漢字氏名を検索キーとして、あいうえお順のシートからINDEX関数とMATCH関数を使って情報を反映した。Script」あたりを参考にした方がいいかもしれない。前者のリンクにも書かれているように、システムを使う場所、組織の都合に適したシステム構築が必要である。WEBアプリケーションに設定するスクリプトを以下に示す。検索のキーとなるidは、全角数字で入力されても半角数字に変換されて処理される。利用者のリテラシーが高くない場合、全角数字と半角数字の区別がつかない可能性があるためだ。ユーザー数が増えれば、その分だけリテラシーの高くないユーザーを含む可能性が高まる。GASのHtmlServiceでhtmlファイル側に変数を渡したいときは、13行目のようにする。1;}//毎日AM0時から人が動き出すまでの時間に実行する。//本日の所在を消去し、値を空白にする。//翌日の所在が記入されていれば、その内容を本日の所在に転記する。//翌日の所在の最終有効日を当日の日付と比較し、最終日であれば翌日の所在を消去する。//本日の所在を消去し、値を空白にする。//翌日の所在が記入されていれば、その内容を本日の所在に転記する。//翌日の所在の最終有効日を当日の日付と比較し、最終日であれば予定を消去する。dateNextDay;}次に、WEBアプリケーションで使用するHTMLのテンプレートを示す。idを未指定の場合はidを入力するページを、idが指定されていれば現在の情報の確認と新しい情報の入力ページを表示する。formで与える選択肢の値は適切に変更する。日付を入力させる欄は、予め翌日の日付が入るようにした。<h3>所在情報を更新するには、以下のフォームに記入して、更新ボタンを押してください。action="ここにWEBアプリケーションのURLを記入する。action="ここにWEBアプリケーションのURLを記入する。</body></html>メールを読み書きして所在情報を書き換えるスクリプトを以下に示す。事故など出社が遅れる、あるいは退勤処理をし忘れて退勤したという3通りを想定した。1分、5分など、一定時間ごとに発火するトリガーをかけておく。走行用電池の熱マネジメントは、電池の性能を大きく左右する。Teslaが電池パックの中に冷却液を流して強制的に冷却しているのに対して、初代ZE0から2代目ZE1まで日産リーフは自然放熱に頼っている。走行用電池があまりにも高価であるため、コスト低減の目的で電池冷却機構は省略されたといわれている。モデルSの発売が2012年6月で価格は1000万円以上するのに対して、日産リーフは2010年12月に400万円弱で発売されたことからも、日産のコスト低減努力が相当なものだったことがうかがえる。日産リーフの電池はアリゾナ州など高温環境で顕著に劣化することが発覚したり、急速充電を繰り返すと電池温度が高くなって保護のため充電電流が制限されたりと、自然放熱に頼った電池温度制御の問題点が指摘されていた。日産、三菱、ルノーが2020年ごろに共通のEV用プラットフォームを採用した車を市場投入するとアナウンスされたときも、2010年ならいざ知らず2020年にもなって受動的な熱マネジメントに頼るEVは難しいだろうという思いを抱いたものだ。予想通り、2019年の東京モーターショーで披露されたクロスオーバーEVのコンセプト車アリアを含む新プラットフォーム車は水冷式になる可能性が高いというコメントが開発担当者から出た。電池の劣化は日産リーフの抱える最大の問題といっても過言ではないから、次の車からは温度管理が強化されて気苦労なく乗れる車になってほしい。リチウムイオン電池は床下に敷き詰める。日産はこれまで電池パックの冷却冷却方式として、自然空冷を採用してきた。アリアを含む新PF採用車は、水冷方式に切り替える可能性が高い。「電池の性能を安定化させたり劣化を抑制したりするためには、強制的に冷却する方が良い」(前出のEV開発担当者)と判断した。フォームの送信時トリガーの多重実行問題を防止するコメントを残すスプレッドシートをフォームとリンクして、フォームからの書き込みがあったときにスクリプトを動作させるトリガーが「フォームの送信時」トリガーである。これにバグがあるようで、フォームに回答が1回しかないのに、トリガーをかけているスクリプトが複数回実行されることがある。あとから実行されたスクリプトではeに値が入っていないので、ファイルへの書き込むなどに支障がでる。代表的な回避策としては、スクリプトをスプレッドシートではなくフォームの方に記述し、スクリプトを介してスプレッドシートへの値書き込みを行うというものがある。ほかには、スプレッドシートのスクリプトでsleepを数秒かけたり、eの値が入っていないときに処理を止める条件分岐を付ける手法がある。フォームのスクリプトの基本的な作り方はGASのonFormSubmit()でハマったことを参照。あとはreferenceでも読んで試してみる。スプレッドシートに書き込むには、appendRowすればいい。フォームへの回答の中身は以下で確認できる。ファイルのアップロードは、Drive上のファイルIDが回答になる。dekkaino2019年10月コメントを残す10月の走行距離は311kmでした。km/kWhで9月より0.2改善しました。冷房が要らなくなってきましたが、夜はステリングヒーターを点けるときがあります。消費税が10%になり、ZESP2の月額料金が2,160円から2,200円になりました。