プログラム

[Googleフォーム]スプレッドシートと連携した時に電話番号の頭の0が消える対策

去年全然記事書いてなかったあけましてた

ちょっとお仕事でやったよくある「Googleフォームの自動返信機能」にまつわる問題で、スプレッドシートにリンクして自動追記された時に電話番号とか郵便番号の頭の0が消える問題
やる時に気をつければいいんだけど、一応ね?

対策ねーかなって思って適当にぐぐってたんだけどまともな方法なかったので備忘録も兼ねて。

 

たぶんこのあたりのサイトさんとかのを使ってると思いますので、習って

先に変数を定義しておきましょう
//変数を設定 って書いてあるところに追記しておこう
この”の中はそれぞれの質問名にしないとダメですよ!!!!!
var を1つにまとめた方がいいと思うんですけどね

 var postal_code = '郵便番号';
 var tel = '電話番号';
 var fax = 'FAX番号';

それが終わったら、下記のところを探して

//本文(body)にフォームの入力項目を追加 
body += "■"+item+"\n";
           ←ここに、↓のコードを挿入するよ
//本文にフォームの入力内容を追加
body += value + "\n\n";

そこに入れると書き換えた値でメールも送るし、スプレッドシートも書き換える

// 事前に郵便番号とか桁数足りてない時0を追加してあげる
var update_value = value;
if(item === postal_code && String(value).substr(0,1) !== "0"){
    if(String(value).length === 5){
        update_value = "00"+value;
    }else{
        update_value = "0"+value;
    }
}
if ((item === tel || item === fax) && String(value).substr(0,1) !== "0"){
    update_value = "0"+value;
}
if(update_value !== value){
    // スプレッドシートの方も書き換える
    sheet.getRange(row, i).setValue("'"+update_value);
    value = update_value;
}

やってることは見てもらえばわかると思うけど(わかる人はこんな記事見ないな???)、
item(カラムのタイトル=質問のタイトル)が郵便番号とか電話番号のセルの時に、頭1文字目が0以外だった時に0を追加する処理だけです。
value書き換えておけばメール送る時にも同じ処理がされてメールでも問題なく表示されます。
電話番号で頭0が2つ以上連続あるの0037くらいしか知らないけど一般的な番号ならこのスクリプトで大丈夫じゃないかなあ
郵便番号は北海道とかが001-XXXXみたいな番号あるようだったので桁数で付ける個数変えたよ

 

 

働きたくない う゛っ、やめっ・・・働きたくなっ・・・ はたらき、働きたい!人のために働きたい! ううっ・・・
https://shindanmaker.com/348373

コメントを残す

メールアドレスが公開されることはありません。

*