我正在嘗試獲取活動作業表的內容。為了實作這一點,我正在嘗試使用 getRangeByName()。如果您記錄 sheetName 的值,您將看到它確實回傳了活動作業表的名稱。但是當我使用 sheetName 作為 getRangeByName 的引數時,范圍為空。
function TestMacro()
{
var cellVal = SpreadsheetApp.getActiveSheet().getActiveCell().getValue();
SpreadsheetApp.getUi().alert(FindIdenticalValue(cellVal));
}
function FindIdenticalValue(cellVal)
{
var sheetName = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
var range = SpreadsheetApp.getActive().getRangeByName(sheetName);
var rowCount = range.getNumRows();
var colCount = range.getNumColumns();
return true;
}
uj5u.com熱心網友回復:
你可以嘗試這樣的事情:
function TestMacro(){
const cellVal = SpreadsheetApp.getCurrentCell().getDisplayValue();
SpreadsheetApp.getUi().alert(FindIdenticalValue(cellVal));
}
function FindIdenticalValue(cellVal){
const sheetName = SpreadsheetApp.getActiveSheet().getName();
const sheet = SpreadsheetApp.getActive().getSheetByName(sheetName);
let tf = sheet.createTextFinder(cellVal).findAll();
//don't where you want to go here
}
uj5u.com熱心網友回復:
在這里查看什么是命名范圍。它們與 Sheet 的名稱不同。電子表格中的層次結構如下:
- 電子表格檔案的名稱,例如預算
- 1. 以內的作業表名稱,例如 2021 年預算
- 2. 范圍內的范圍名稱,例如 line_items(例如 A2:A10)
要查看您是否確實有任何命名范圍,請使用此
function logNamedRanges(){
const namedRanges = SpreadsheetApp.getActive().getNamedRanges()
if( !ranges.length ) {
console.log("No ranges available")
return
}
namedRanges.forEach( namedRange => {
console.log( namedRange.getName() )
const range = namedRange.getRange()
})
}
據我了解,您正在嘗試獲取活動作業表的內容,為此只需執行以下操作:
function getActiveSheetData(){
return SpreadsheetApp.getActiveSheet().getDataRange().getValues()
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/336711.html
上一篇:陣列修改中的時間戳
