2013-06-05 63 views
1

我對Google搜索引擎和腳本非常陌生,並且真的可以幫忙。需要谷歌電子表格的簡單腳本

我需要一個腳本,將:

  • 重複第1張(以1日)
  • 發生在第一位置重複
  • 重複改名爲當前日期
  • 全部刪除在重複文件中的第一個以下的行(例如第2至第300行)

我曾嘗試過,但它的確如此只是工作的一部分...而且似乎不能正常工作。這是我得到的:

function myFunction() { 
    SpreadsheetApp.getActiveSpreadsheet().duplicateActiveSheet(); 
    SpreadsheetApp.getActiveSpreadsheet().renameActiveSheet("New Sheet"); 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheets()[0]; 
    // Rows start at "1" - this will delete the first two rows 
    sheet.deleteRows(2, 100); 
} 

非常感謝您閱讀!

+0

這並不是所有可能你會找到某人爲你寫一個腳本。但是,如果您嘗試提出具體問題,請將其發佈。在那張紙上,你到目前爲止嘗試了什麼? – JonnyS

+0

嗨,是的。我嘗試了一下,但它只做了部分工作......並且似乎沒有正常工作。 (); 這是我得到的: function myFunction(){ SpreadsheetApp.getActiveSpreadsheet()。duplicateActiveSheet(); SpreadsheetApp.getActiveSpreadsheet()。renameActiveSheet(「New Sheet」); var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; //行從「1」開始 - 這將刪除前兩行 sheet.deleteRows(2,100); } – user2455217

+0

它通常是堆棧上的一個好主意,可以將您在帖子中嘗試過的代碼與評論相對照。將您的代碼添加到您的帖子。此外,請添加爲什麼代碼無法正常工作或按照您的預期工作。它看起來不錯,但很難在評論部分閱讀。 – JonnyS

回答

0

這裏的技巧是跟蹤電子表格是「活動」 - 因爲您想複製第一張表格,所以您需要確保第一張表格是「活動的」。 (你不能假設它是。)

一旦你複製了第一張紙,新的紙張將「活躍」。這很有用,因爲你想要做的一些操作只能在「活動」表上操作。

function myFunction() { 
    // Make the first sheet active in the active workbook 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    ss.setActiveSheet(ss.getSheets()[0]); 

    // duplicate the 1st sheet (1st in order) 
    var newSheet = SpreadsheetApp.getActiveSpreadsheet().duplicateActiveSheet(); 

    // place the duplicate in the first positions 
    ss.moveActiveSheet(1); 

    // rename the duplicate to current date 
    newSheet.setName((new Date()).toDateString()); 

    // delete all the rows below the first one in the duplicate file (e.g. 2nd to 300th row) 
    var lastRow = newSheet.getLastRow(); 
    newSheet.deleteRows(2, lastRow-1); 
} 
相關問題