DTPab

印刷やデザイン、アドビ製アプリやスクリプトなど、雑多な技術ブログ

GAS:シート内の改行を削除する

久しぶりにGoogle Apps Scriptネタです。
削除するとタイトルにしましたが、実際のところはInDesignに持っていって改めて改行にしたいので、今回は別の文字に置き換えました。

function replaceBreak(){
  var br = /[\r\n]+/g; //改行
  var rep = "★"; //置換文字列
  var tgtRange = SpreadsheetApp.getActiveSheet().getDataRange();
  var rgValues = tgtRange.getValues(); //Range内の全ての値
  var rowLen = rgValues.length;
  for (var i=0; i<rowLen; i++){
    var colLen = rgValues[i].length;
    for (var k=0; k<colLen; k++){
      rgValues[i][k] = rgValues[i][k].replace(br,rep);
    }
  }
  tgtRange.setValues(rgValues);
}

単に改行を削除したければ、rep変数を空の文字列などにしてください。また、本当はcharaCodeAtとかできちんと改行コード指定したほうがいいのですが、正規表現リテラルで手を抜きましたw
InDesignスクリプトgetElementsメソッドがあるのだから、setElementsメソッドも欲しいですよね。

ちなみに、前回のGASについての記事も良ければ↓

uske-s.hatenablog.com

解説らしい解説はこちらでしているので、この記事は紹介だけに留めました。
そろそろGASにも慣れてきたので、デバッグも早くなってきました〜!

そうそう、実は明日このイベントに行きます。

gcpug-tokyo.connpass.com

たーのーしーみーー!