Googleドキュメントで現在の日付をドキュメントフッターに自動的に追加したい。
私が見つけたのはこのスクリプトだけでした:
/**
* The onOpen function runs automatically when the Google Docs document is
* opened. Use it to add custom menus to Google Docs that allow the user to run
* custom scripts. For more information, please consult the following two
* resources.
*
* Extending Google Docs developer guide:
* https://developers.google.com/apps-script/guides/docs
*
* Document service reference documentation:
* https://developers.google.com/apps-script/reference/document/
*/
function onOpen() {
// Add a menu with some items, some separators, and a sub-menu.
DocumentApp.getUi().createMenu('Utilities')
.addItem('Insert Date', 'insertAtCursor')
.addToUi();
}
/**
* Inserts the date at the current cursor location in boldface.
*/
function insertAtCursor() {
var cursor = DocumentApp.getActiveDocument().getCursor();
if (cursor) {
// Attempt to insert text at the cursor position. If insertion returns null,
// then the cursor's containing element doesn't allow text insertions.
var date = Utilities.formatDate(new Date(), "GMT", "'Atualizado em: 'dd-MM-yyyy' 'HH:mm:ss"); // "yyyy-MM-dd'T'HH:mm:ss'Z'"
var element = cursor.insertText(date);
if (element) {
element.setBold(true);
} else {
DocumentApp.getUi().alert('Cannot insert text at this cursor location.');
}
} else {
DocumentApp.getUi().alert('Cannot find a cursor in the document.');
}
}
しかし、私はそれが作成するメニューのボタンを押さなければならず、日付はカーソル位置に追加されます。
私が欲しいのは、ドキュメントを開くたびにフッターに追加することです。
Googleに日付追加機能がないことに本当に驚きました。これは動作します。編集のためにドキュメントを開くたびに、フッターがクリアされ、現在の日付が追加されることに注意してください。単純なトリガーで実行する必要がありますが、最初にスクリプトインターフェイスから実行してアクセス許可を付与する必要があります。
function onOpen() {
var doc = DocumentApp.getActiveDocument();
var footer = doc.getFooter(); //gets the footer
footer.clear(); //clears all data in footer
//Get date
var date = new Date();
var month = date.getMonth()+1;
var day = date.getDate();
var year = date.getFullYear();
var hour = date.getHours()+1;
var minute = date.getMinutes()+1;
footer.appendParagraph(month+'/'+day+'/'+year); //adds date to footer
}