2014年6月10日火曜日

Google Apps Script | Spreadsheetの空白行のみを削除する

Gmail受信箱の特定のスレッドの内容をSpredsheetに書き出すためのスクリプトを、以下のサイトを参考(ほぼコピー)にして書きました。

初心者のためのGoogle Apps Script入門

実行したところ、欲しいスレッドの間に他のスレッドが含まれていると、Spreadsheetでも他スレッド分の空白行ができてしまいました。

これらの空白行を削除するスクリプトとして、自分なりに試したもののうまくいかなかったため、以下のサイトを参考(ほぼコピー)にして実行すると、やりたかったことが完璧にできました。

http://googlestyle.client.jp/sheet/class_sheet.html

---以下スクリプト---
function deleteRows() {
    for(var i = lastRow; i > 0 ; --i){
        var cellA = ss.getRange("A" + i)
        var valueA = cellA.getValue();

        if(valueA == "") {
            sheet.deleteRow(i);
        }
        else{
       
        }
    }
}
---以上スクリプト---

自分はSheetの1行目から下に向かってA列をA1→A2→…と検索し、空白であればその行全体を削除するようなスクリプトを書いてみたのですが、削除されない行があってうまくいきませんでした。

参考にさせていただいたサイトの例では、Sheetの最終行から上に向かって検索しているのが特徴です。


2016/07/06
Sheetの最終行から上に向かって検索する理由をわかりやすく解説してくれているサイトはこちら

2014/06/11
Google Apps ScriptでGoogle Spreadsheetの空白行だけをを削除するスクリプトを追記しました。

0 件のコメント:

コメントを投稿

SyntaxHighlighter