ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
スプレッドシートからGoogleカレンダーに簡単に予定を登録する方法(初心者向け)
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- Googleスプレッドシートにタスクの一覧を記載しボタンをクリックするだけでGoogleカレンダーのToDoリストに複数のタスクを一気に追加することができます。
1個や2個のタスクなら問題ありませんが、大量に登録するタスクがある場合、かなりムダな作業を強いられることになります。
なので、サクッとマスターして
と答えてあげてください。
動画はこちら
シートはこちら
*クリックすることでシートが開きます。(コピーしてお使いください)
実装方法
Stept1.
以下と同じ手順です。
さらに
Step2.
スクリプトエディタを開き
①「+」をクリックします。
②下にスクロールし「Google Tasks API ドキュメント」をクリックします。
③「追加」をクリックします。
起動方法
Step1.
①「タスクを追加」ボタンをクリックします。
Step2.
権限を許可します。
リストの追加が成功すると以下のメッセージが表示されます。
スクリプト
スクリプトを触る必要はありませんが、参考まで。
/**
* GoogleカレンダーのToDoリストに追加する
*/
function AddToDoList() {
// ToDoリストのidを取得する
const id = getTasksId() //自分のタスクIDを取得する
// 読み取り範囲(表の始まり行と終わり列)
const topRow = 2
const lastCol = 4
const statusCellCol = 1
// 予定の一覧バッファ内の列(0始まり)
const statusNum = 0
const dayNum = 1
const titleNum = 2
const descriptionNum = 3
// シートを取得
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
// 予定の最終行を取得
let lastRow = sheet.getLastRow()
//予定の一覧をバッファに取得
const contents = sheet.getRange(topRow, 1, sheet.getLastRow(), lastCol).getValues()
//順に予定を作成
for (let i = 0; i <= lastRow - topRow; i++) {
try {
//「済」の場合は無視する
if (contents[i][statusNum] === "済") {
continue
}
// 値をセット 日時はフォーマットして保持
let day = contents[i][dayNum]
let title = contents[i][titleNum]
let notes = contents[i][descriptionNum]
console.log(day + " " + contents[i][titleNum])
const dueStr = Utilities.formatDate(contents[i][dayNum], "Asia/Tokyo", "yyyy-MM-dd")
const task = {
title: title,
notes: notes,
due: dueStr + "T00:00:00.000Z"
};
Tasks.Tasks.insert(task, id);
//予定が作成されたら「済」にする
sheet.getRange(topRow + i, statusCellCol).setValue("済")
// エラーの場合ログ出力する
} catch (e) {
Logger.log(e)
}
}
// 完了通知
Browser.msgBox("ToDoリストに追加しました。")
}
/**
* タスクのIDを取得する
*/
function getTasksId() {
const myTaskLists = Tasks.Tasklists.list()
let toDoList = myTaskLists.items[0]
// const myTaskListID = toDoList.id
return toDoList.id
}
時間の指定
以下のようにやれば、時間指定できると思ったのですが
consttask = {
title: title,
notes: notes,
due: dueStr + "T08:30:00.000Z"
};
時間指定は無視されてしまいます。
残念ながら時間の指定はできません。
最後までご覧いただきありがとうございます。
つぎはこちら
Googleカレンダー CSVファイルから複数の予定を一気に入力する方法
GoogleカレンダーにCSVファイルを使用して、複数の予定を一気に入力できるようになります。