用于复制和重命名工作表和名称的 Google 脚本基于单元格引用 [英] Google script to copy and rename a sheet and name is based on a cell reference
本文介绍了用于复制和重命名工作表和名称的 Google 脚本基于单元格引用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是 google 脚本的新手,我需要将当前活动工作表复制到新工作表,然后根据单元格值重命名该工作表.我的问题是单元格值是一个日期,下面的代码有效,但在重命名工作表 30-May-2014 时,它返回等效的数字 41789.如何粘贴实际日期.
I'm new to google scripts and I need to copy the current active sheet to a new sheet and then rename this sheet based on a cell value. My issue is the cell value is a date and the below code works but instead on renaming the sheet 30-May-2014 it is returning the numeric equivalent 41789. How can I paste the actual date.
function CreateNewTimesheet() {
// The code below makes a duplicate of the active sheet
var ss = SpreadsheetApp.getActiveSpreadsheet()
SpreadsheetApp.getActiveSpreadsheet().duplicateActiveSheet();
// The code below will rename the active sheet to Month End date based on cell O3
var myValue = SpreadsheetApp.getActiveSheet( ).getRange("O3").getValue();
SpreadsheetApp.getActiveSpreadsheet().renameActiveSheet(myValue);
}
推荐答案
您需要将值格式化为字符串,然后使用它来设置名称.
You would need to format the value into a string and then use it to set the name.
var localTimeZone = "Europe/London";
var dateFormatForFileNameString = "yyyy-MM-dd'at'HH:mm:ss";
function CreateNewTimesheet() {
// The code below makes a duplicate of the active sheet
var ss = SpreadsheetApp.getActiveSpreadsheet()
SpreadsheetApp.getActiveSpreadsheet().duplicateActiveSheet();
// The code below will rename the active sheet to Month End date based on cell O3
var myValue = SpreadsheetApp.getActiveSheet( ).getRange("O3").getValue();
var dateString = getDateString_(myValue);
SpreadsheetApp.getActiveSpreadsheet().renameActiveSheet(dateString);
}
//Function to get Date as a string
function getDateString_(dateValue) {
return Utilities.formatDate(dateValue, localTimeZone,
dateFormatForFileNameString);
}
希望有所帮助.
这篇关于用于复制和重命名工作表和名称的 Google 脚本基于单元格引用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文