【发布时间】:2015-03-16 10:53:06
【问题描述】:
我有一个一年中每个月的会计电子表格,其中包含指定日期的 31 个标签 3 月份的 Ex 格式 '15 -03-2015'
我正在寻找一个脚本,它可以在当前日期的选项卡上发表评论,并可能在文档打开时显示日期的选项卡,当然还有触发器。
这可能吗?
【问题讨论】:
标签: google-apps-script google-docs google-apps
我有一个一年中每个月的会计电子表格,其中包含指定日期的 31 个标签 3 月份的 Ex 格式 '15 -03-2015'
我正在寻找一个脚本,它可以在当前日期的选项卡上发表评论,并可能在文档打开时显示日期的选项卡,当然还有触发器。
这可能吗?
【问题讨论】:
标签: google-apps-script google-docs google-apps
似乎没有添加 cmets 的方法,因为它们是 changed 以更注重讨论。但是,您可以做的就是用setNote() 添加注释。
var ss = SpreadsheetApp.getActiveSpreadsheet();
var cell = ss.getRange("<Range>");
cell.setNote("<Note>");
至于选择正确的工作表,您可以使用getSheetByName() 进行。创建一个new Date(),它应该为您提供当前的日期和时间。解析时间,然后将其作为字符串传递给getSheetByName()。
要设置在开头显示哪个工作表,请在触发器onOpen() 内使用setActiveSheet()。
【讨论】:
假设您有一个名为“March”的电子表格文件,并且有 31 个选项卡,从“1”到“31”。您可以添加以下代码并将触发器设置为让它在每次打开电子表格时运行。
function goToTodaysTab(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var date = Utilities.formatDate(new Date(), ss.getSpreadsheetTimeZone() , "d");
var sheet = ss.getSheetByName(date);
ss.setActiveSheet(sheet);
var cell = sheet.getRange("A1");
cell.setNote("This comment is written on today's A1 cell.");
}
让我知道它是否有帮助。 :)
【讨论】:
function goToTodaysTab(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var date = Utilities.formatDate(new Date(), ss.getSpreadsheetTimeZone() , "d"+"-0"+"M"+"-"+"y");
//我必须输入零才能具有相同的格式,但不适用于 10 月 11 月 12 月:我稍后解决这个问题
var sheet = ss.getSheetByName(date);
ss.setActiveSheet(sheet);
var cell = sheet.getRange("A40");
cell.setNote("Aujourd'hui est un nouveau jour !");
//带有更有趣和更明显的评论! }
【讨论】: