###前提・実現したいこと
ここに質問したいことを詳細に書いてください
###前提・実現したいこと
Googleスプレットシートでプルダウンで投入した表記した
関数を数値文字として認識させGoogleカレンダーへ反映させたい。
■例
※ 開始時間
関数
=concatenate(J22&K22&L22&M22&N22&O22)
上記はプルダウンでJ列以降で選択している。
(タブレットでの手入力が面倒だと要望の元)
表示文字
2016/08/24 17:59
処理は同様だと思うが
終了時間と説明部も同様に処理したい。
###発生している問題・エラーメッセージ
エラーメッセージ
メソッド createEvent(string,string,string,object) が見つかりません。
###該当のソースコード
GOOGLE スクリプト
//
//ver.1.0.0
//予定を作成する関数
function CreateSchedule() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var slist = ss.getSheetByName('スケジュール');
var clist = ss.getSheetByName('カレンダー一覧');
var lastrow = slist.getLastRow();
//予定の一覧・カレンダー名の一覧・カレンダーIDの一覧を取得
var contents = slist.getRange(2, 1, lastrow, 8).getValues();
var cnlist = clist.getRange(1, 1, clist.getLastRow(), 1).getValues();
var cidlist = clist.getRange(1, 2, clist.getLastRow(), 1).getValues();
//順に予定を作成
for(i = 0; i <= lastrow - 2; i++) {
//「完(作成完了)」になっていたら、飛ばす(途中でエラーが出て再度この関数を実行した時に、作成済みの予定が重複して作成されるのを防ぐため) if(contents[i][0] == '完') { //「終日」が空白(つまり、終日予定でない)の場合は、「開始日時」・「終了日時」を設定して予定を作成 }else if(contents[i][4] == ''){ //選択されたカレンダーのIDを取得 for(j = 0; j <= cnlist.length; j++) { if(contents[i][1] == cnlist[j][0]) { var calendar = cidlist[j][0]; break; } } //予定のコンテンツを取得 var title = contents[i][2]; var startTime = contents[i][5]; var endTime = contents[i][6]; var description = contents[i][3]; var location = contents[i][7]; //予定を作成 CalendarApp.getCalendarById(calendar).createEvent( title, startTime, endTime, {description: description, location: location} ); //「終日」が空白でない(つまり、終日予定)の場合は、日付を設定して予定を作成 }else{ //選択されたカレンダーのIDを取得 for(j = 0; j <= cnlist.length; j++) { if(contents[i][1] == cnlist[j][0]) { var calendar = cidlist[j][0]; break; } } //予定のコンテンツを取得 var title = contents[i][2]; var date = contents[i][4]; var description = contents[i][3]; var location = contents[i][7]; //予定を作成 CalendarApp.getCalendarById(calendar).createAllDayEvent( title, date, {description: description, location: location} ); } //無事に予定が作成されたら「完」にする slist.getRange(i + 2, 1).setValue('完'); //次
}
}
//シート「スケジュール」を初期化する関数
function ResetSheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('スケジュール');
sheet.getRange(2, 1, sheet.getLastRow() + 1, sheet.getLastColumn()).clearContent();
}
//スプレッドシートが開かれたら自動的に実行される関数
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
//スプレッドシートのメニューにカスタムメニュー「自動処理」を作成(他の関数を実行するメニューを作成)
var subMenus = [];
subMenus.push({name: 'カレンダー一覧取得', functionName: 'onOpen'});
subMenus.push({name: '作成', functionName: 'CreateSchedule'});
subMenus.push({name: 'リセット', functionName: 'ResetSheet'});
ss.addMenu('自動処理', subMenus);
//関数「GetCalendarList()」と同じ(カレンダー一覧は毎回読み込まないといけないので、ここでも実行)
var clist = ss.getSheetByName('カレンダー一覧');
//削除されたカレンダーが残らないように、一度カレンダーの一覧を削除
clist.getRange(1, 1, clist.getLastRow() + 1, 2).clearContent();
//一覧が白紙になった上で、再度最新のカレンダー一覧を取得、作成
var calendars = CalendarApp.getAllCalendars();
var range = clist.getRange(1, 1, calendars.length + 1, 2);
for(i = 0; i <= calendars.length - 1; i++) {
range.getCell(i + 1, 1).setValue(calendars[i].getName());
range.getCell(i + 1, 2).setValue(calendars[i].getId());
}
}
function test() {
}
###前提・実現したいこと
ここに質問したいことを詳細に書いてください
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
###発生している問題・エラーメッセージ
エラーメッセージ
###該当のソースコード
ここにご自身が実行したソースコードを書いてください
###試したこと
課題に対してアプローチしたことを記載してください
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報