2014-04-06 15 views

Odpowiedz

17

Zaskakująco nie znalazłem żadnej jasnej i szybkiej odpowiedzi.

Więc tutaj jest mój kod:

function onOpen() { 
    var activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet(); 
    var yourNewSheet = activeSpreadsheet.getSheetByName("Name of your new sheet"); 

    if (yourNewSheet != null) { 
     activeSpreadsheet.deleteSheet(yourNewSheet); 
    } 

    yourNewSheet = activeSpreadsheet.insertSheet(); 
    yourNewSheet.setName("Name of your new sheet"); 
} 

Wreszcie, należy pamiętać, że ten nowy arkusz będzie automatycznie aktywny jeden.

+0

Kod jest ok ale prawdopodobnie nie chcesz tego na onOpen. Jeśli chcesz go utworzyć na żądanie użytkownika, utwórz menu. –

+0

Tak, masz rację, właśnie to zrobiłem zaraz po tym! –

+0

Otwierałem wpis, ponieważ za każdym razem, gdy utworzę nowy arkusz za pomocą skryptu, arkusz kalkulacyjny przestaje działać po pewnym czasie. Czy to się przydarza? – soneangel

2

Oto prosty przykład:

var name = (new Date()).toLocaleDateString(); 
SpreadsheetApp.getActiveSpreadsheet().insertSheet(name): 
+1

Masz dwukropek zamiast średnika na końcu drugiego wiersza. Naprawię to, ale S.O. jest głupi, jeśli chodzi o edycję 1-znakową. –

0

Here'e kod:

var file = SpreadsheetApp.create(name); 

Jeśli chcesz wkleić plik do określonego folderu:

var file_ = DriveApp.getFileById(fileId) 
    var folder = DriveApp.getFolderById(folderId); 
    var folder.addFile(file_); 
Powiązane problemy