我正在尝试将一些excel VBA(其工作原理很像魅力)转换为Google脚本,但是我在处理日期时遇到了麻烦。
我正在从表格的一个单元格中提取日期,然后测试是否是周末。该单元格已被格式化为日期,并且我已将其声明为date()
var DayOpen = date();
DayOpen = spreadsheet.getSheetByName('Basics').getRange(1, 1).getValue();
if (DayOpen.getDay() > 6) ...
但是,我似乎没有从中得到一个整数。我完全不熟悉Google脚本,但这让我头疼。
谢谢。
答案 0 :(得分:2)
您不需要将DayOpen
声明为日期。
[FWIW,var DayOpen = date();
表示将变量设置为函数date()
返回的值
以下应该可以解决问题:
function sampleScript() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var DayOpen = spreadsheet.getSheetByName('Basics').getRange(1, 1).getValue();
Logger.log(DayOpen); // Should log a date if A1 has one.
Logger.log(DayOpen.getDay()); // Should log day of the week as an integer
}
答案 1 :(得分:0)
找到了! 这是我应该将日期增加1:
DayOpen.setDate(DayOpen.getDate() + 1
这将获取日期,添加一个日期,然后设置日期。.
答案 2 :(得分:0)
var DayOpen = new Date(spreadsheet.getSheetByName('Basics').getRange(1, 1).getValue()).getDay();
if (DayOpen==0 || DayOpen==6) {
SpreadsheetApp.getUi().alert('It\'s the weekend.')
}