所以,我试图在谷歌文档中插入日期和时间,并使用以下谷歌应用程序脚本来做到这一点。我在这个网站上找到了这个脚本并进行了一些编辑。它完成了这项工作。但我的问题是,在脚本运行后光标停留在同一个地方,我希望它开始下一个新行。此外,页面的格式将粘贴到脚本中指定的位置,我希望它更改,如更改字体和大小,重置粗体等。我该怎么做?
function onOpen() {
// Add a menu with some items, some separators, and a sub-menu.
DocumentApp.getUi().createMenu('Utilities')
.addItem('Insert Date', 'insertAtCursor')
.addToUi();
}
function insertAtCursor() {
var cursor = DocumentApp.getActiveDocument().getCursor();
if (cursor) {
var date = Utilities.formatDate(new Date(), "GMT+5:30", " MMMMM,dd \nhh:mm a \n");
var element = cursor.insertText(date);
if (element) {
element.setBold(true).setItalic(true).setForegroundColor("#A32929");
element.setFontSize(16).setFontFamily('Cambria');
} else {
DocumentApp.getUi().alert('Cannot insert text at this cursor location.');
}
} else {
DocumentApp.getUi().alert('Cannot find a cursor in the document.');
}
}
答案 0 :(得分:1)
如果您希望光标转到下一行,那么代码中的某个位置必须为光标指定一个新位置。您可以使用.setCursor(Position)执行此操作。详细了解here。
格式化不变的原因是每行只能运行一次格式化执行。
function insertAtCursor() {
var cursor = DocumentApp.getActiveDocument().getCursor();
if (cursor) {
var date = Utilities.formatDate(new Date(), "GMT+5:30", " MMMMM,dd \nhh:mm a \n");
var element = cursor.insertText(date);
if (element) {
element.setBold(true);
element.setItalic(true);
element.setForegroundColor("#A32929");
element.setFontSize(16);
element.setFontFamily('Cambria');
} else {
DocumentApp.getUi().alert('Cannot insert text at this cursor location.');
}
} else {
DocumentApp.getUi().alert('Cannot find a cursor in the document.');
}
var position = doc.newPosition('your new position');
doc.setCursor(position);
}
希望这有帮助。