2014-01-16 2 views
1

У меня есть вопрос о Google Docs и Google Apps Script.Автоматическая генерация документа календаря с использованием Google Диска и скрипта Google Apps

Возможно ли использовать скрипт Google Apps для автоматического создания документа календаря на Google Диске со следующими функциями документа.

  • Традиционный календарь настольный
  • Точный месяц и год заголовок Даты
  • точно размещены в правильных колоннах день

See example

Я знаю, что Google Apps Script может автоматически создавать документы и добавить содержание. Я просто не уверен, что он может «автоматически» и «точно» размещать даты в правильных местах. Я не хочу начинать путь, если цель, которую я ищу, не вариант.

+0

Я уверен, что это вполне выполнимо, хотя и не очень просто ... Если у меня было больше свободного времени, я бы соблазн попробовать для удовольствия :-) –

+2

Является ли «календарь документ в Google Drive» а жесткое требование? Если да, то почему? Я думаю, что было бы намного проще использовать Календарь Google, потому что тогда вы можете использовать службу календаря (https://developers.google.com/apps-script/reference/calendar/). Календарь Google можно разделить с вашими контактами, как и на любом документе Google Диска ... –

+0

@ ДаниэльБанк, да. Я работаю над этим для других учителей, чтобы использовать их на веб-сайте обучения. Документ google делает его «легким» для их внедрения на свой сайт и обновления со ссылками (другими сайтами и документами). Я знаю большую часть возможностей Календаря Google, и я не верю, что вы можете легко добавлять ссылки на URL-адреса на события. –

ответ

1

Я выбросил это вместе довольно быстро, но вы должны быть в состоянии изменить его довольно легко. Вы можете получить даты для отображения в правильных столбцах, получив день недели первого дня месяца, а затем вставляя даты в соответствующие ячейки 2D-массива. Затем вставьте массив в виде таблицы.

function create_cal() { 
    var doc = DocumentApp.create("Calendar"), 
     body = doc.getBody(), 
     cells = [ 
     ['','','','','','',''], 
     ['','','','','','',''], 
     ['','','','','','',''], 
     ['','','','','','',''], 
     ['','','','','','',''], 
     ['','','','','','',''] 
     ], 
     now = new Date(), 
     date = new Date(now.getFullYear(), now.getMonth(), 1), 
     cur_month = now.getMonth(), 
     row = 0, 
     col = date.getDay(); 

    while (cur_month == date.getMonth()) { 
    cells[row][col] = date.getDate(); 

    col += 1; 
    if (col > 6) { 
     col = 0; 
     row += 1; 
    } 

    date = new Date(date.getTime() + 1000*60*60*24); 
    } 
    body.setText('Calendar Name'); 
    body.appendTable(cells); 
} 
+0

Спасибо @lagomorpho! Я сыграю с этим в выходные. –

+0

этот создает хороший календарь в документах google. Я искал что-то, что генерирует календарь в электронных таблицах Google таким образом. Я буду использовать эту часть для этого – Richard

Смежные вопросы