簡體   English   中英

如何合並兩個 onEdit,以便我可以在同一張工作表上運行兩個腳本?

[英]How to merge two onEdit so I can run two scripts on the same sheet?

我知道可能有很多關於同一件事的帖子,但我根本不明白。 我一整天都沒睡,只是讀了這一切。 我對腳本的了解為零,而且在過去的幾個小時里我一直在填塞信息。

我只需要幫助將兩個 onEdit 腳本合並在一起,因為我已經讀過一張工作表只能運行一個 onEdit 腳本。

我的第一個腳本(我從網上復制粘貼的)是根據特定值自動隱藏一行:

function myFunction() {
  
}
var SHEET = "2022";

var VALUE = "Cancelled/Removed";

var COLUMN_NUMBER = "6"

function onEdit(e) {

var ss = SpreadsheetApp.getActiveSpreadsheet();

var activeSheet = ss.getActiveSheet();

if(SHEET == activeSheet.getName()){

var cell = ss.getActiveCell()

var cellValue = cell.getValue();

if(cell.getColumn() == COLUMN_NUMBER){

if(cellValue == VALUE){

activeSheet.hideRow(cell);

};  

};

};

}

這是我在單元格中輸入值時自動輸入確切時間的第二個腳本:

function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "2022" ) { //checks that we're on Sheet1 or not
var r = s.getActiveCell();
if( r.getColumn() == 1 ) { //checks that the cell being edited is in column A
var nextCell = r.offset(0, 1);
if( nextCell.getValue() === '' ) //checks if the adjacent cell is empty or not?
nextCell.setValue(new Date());
}
}
}

如果可能的話,如果有人可以以最簡化的方式幫助我。 我真的不明白這些東西的大部分。

對您來說最簡單的選擇是將它們組合成一個函數。 像這樣:

function onEdit(e) {
var SHEET = "2022";
var VALUE = "Cancelled/Removed";
var COLUMN_NUMBER = "6"
var ss = SpreadsheetApp.getActiveSpreadsheet();
var activeSheet = ss.getActiveSheet();
if(SHEET == activeSheet.getName()){
var cell = ss.getActiveCell()
var cellValue = cell.getValue();
if(cell.getColumn() == COLUMN_NUMBER){
if(cellValue == VALUE){
activeSheet.hideRow(cell);
}}}
if( activeSheet.getName() == "2022" ) { //checks that we're on Sheet1 or not
var r = activeSheet.getActiveCell();
if(r.getValue() != ""){ 
if( r.getColumn() == 1 ) { //checks that the cell being edited is in column A
var nextCell = r.offset(0, 1);
if( nextCell.getValue() === '' ) //checks if the adjacent cell is empty or not?
nextCell.setValue(new Date());
}}}}

注意:我添加了if(r.getValue() != ""){以便它只將日期放在相鄰的單元格中,如果您實際上在單元格中輸入了一個值。 如果您希望它更新日期,即使您只是刪除某些內容,您也需要刪除該行和末尾的}之一。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM