を使用する実用的なソリューションがありますdeleteRows()
。なぜそれがうまくいかなかったのかわかりません。あなたのコードを見るのは面白いでしょう。
新しいForms製品(2013年2月)は、従来のフォームとはまったく異なります。このソリューションは、従来のフォームでのみ機能します。
とにかく、これが私が持っているもので、スクリーンショットの前後にあります。このtidy()
関数は、削除する行数を渡すことで呼び出すことも、ここに示すようにメニューから呼び出すこともできます。このスクリプトのより完全なバージョンは、要点として入手できます。
/**
* Standard onOpen provided in script template.
*/
function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{name : "Read Data",functionName : "readRows"},
{name : "Tidy Form Responses", functionName : "tidy"}];
sheet.addMenu("Script Center Menu", entries);
};
/**
* Prompt user for the number of form response rows to remove, then delete them.
* Assumes that the form responses are in the active sheet, that there is one
* row of 'headers' followed by responses (in row 2).
*
* @param {number} thisMany (Optional) The number of rows to remove. If not
* specified, user will be prompted for input.
*/
function tidy(thisMany) {
if (tidy.arguments.length == 0) {
thisMany = Browser.inputBox("How many responses should be tidied?");
}
var sheet = SpreadsheetApp.getActiveSheet();
sheet.deleteRows(2, thisMany);
}
前

その間

後
