8

tôi thấy mã để liệt kê tên của tất cả các tờ trong Google Sheets (từ here):Danh sách tên các tờ trong Google Sheets và bỏ qua lần đầu tiên hai

function SheetNames() { // Usage as custom function: =SheetNames(GoogleClock()) 
try { 
    var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets() 
    var out = new Array(sheets.length+1) ; 
    //out[0] = [ "Name" , "gid" ]; 
    for (var i = 1 ; i < sheets.length+1 ; i++) out[i] = [sheets[i-1].getName()]; 
    return out 
} 
catch(err) { 
    return "#ERROR!" 
} 
} 

Câu hỏi của tôi là làm thế nào tôi có thể sửa đổi kịch bản để bỏ qua hai tên trang tính đầu tiên và bắt đầu điền vào danh sách trong ô nơi tập lệnh được gọi?

tôi đã cố gắng thay đổi var i = 1-var i = 3 và rằng đã bỏ qua hai tên sheet đầu tiên nhưng nó cũng tạo ra để ô trống. Làm cách nào để bỏ qua hai tên trang tính đầu tiên và không tạo bất kỳ ô trống nào?

Trả lời

6

Bạn đã có ý tưởng đúng, nhưng mảng đầu ra của bạn là đặt mục đầu tiên ở vị trí 3. Thay vào đó, làm điều này:

for (var i = 3 ; i < sheets.length+1 ; i++) out[i-2] = [sheets[i-1].getName()]; 
+0

Perfect, cảm ơn! Tôi đã có thể trả lời trên các chủ đề ban đầu nhưng nó đã được đóng lại - tốt đẹp để có được một câu trả lời từ bạn! – Nathan

+0

lưu ý rằng nó sẽ chết nếu bảng tính có ít hơn 3 tờ. –

Các vấn đề liên quan