いつも大変参考にさせていただいております。
全く知識がないものの、外注コストがなく、なんとかインターネットで探したスクリプトを参考に、
googleスプレッドシート、gas、googleカレンダーを利用した貸出予約システムを作っています。
画像のスプレッドシートは他のスプレッドシートから転記されたもので、
管理者の手間を考えると、転記される度に日付のあるセルに直接時間を打ち込むことは考えておりません。
挿入したコードは、画像のスプレッドシートのスクリプトです。
いずれの実行関数もトリガーは変更時に設定しております。
function set_last_updateは、貸出時間と返却時間は毎回同じなので、自動で入力されるようにしています。
◆実現したいこと
貸出日(8列目H)と貸出時刻(17列目Q)、
返却日(9列目I)と返却時刻(18列目R)
を組み合わせてカレンダーに反映させたいのですが、どういったコードで可能なのかわかりません。
今の書き方は一度試してみてできないことを確認しました。
また、おそらくfunction set_last_updateがなくても毎回時刻は同じなので
貸し出し日と開始時刻09:30と返却日と返却時刻18:30をコードでセットしてカレンダーに連携することもできそうな気もするのですが、どのようなコードで可能なのかわかりません。
わかりにくくてすみません。
説明につきまして不足がございましたらご指摘いただければ大変助かります。
以上の件、どなたかご教示いただけませんでしょうか?
何卒よろしくお願い申し上げます。
function set_last_update() { var sh=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var activerange=sh.getActiveRange(); var activerow=activerange.getRow(); sh.getRange(activerow, 17).setValue(new Date(0,0,0,09,30,0)); sh.getRange(activerow, 18).setValue(new Date(0,0,0,18,00,0)); } function createEventFromSheet2() { var sheet, i, myevent, mystart, myend, mydescription, added; sheet = SpreadsheetApp.getActiveSheet(); for(i = 2; i <= sheet.getLastRow(); i++) { myevent = sheet.getRange(i, 1) .getValue(); mystart = sheet.getRange((i, 8),(i,17)) .getValue(); myend = sheet.getRange((i, 9),(i,18)) .getValue(); mydescription = sheet.getRange(i, 7) .getValue(); added = sheet.getRange(i, 15).getValue(); if(added == "") { thisevent = CalendarApp.getDefaultCalendar() .createEvent(myevent, mystart, myend, {description:mydescription}); sheet.getRange(i, 15).setValue("resisterd"); } } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/26 07:47