gmailに届いたHTMLメールをスプレッドシートへデータで落としています。
parseXmlで下記のコードを作成しました。
E列の2行目のHTMLデータを文字に変更してF2、G2、H2、I2,J2,K2,L2,M2,N2,O2列に落としています
この作業をfor文でE列の3行目、4行目、5行目にデータが入ったらF3〜O3 F4〜O4, F5~O5 と言うように
自動で F〜Oに文字が出るようにしたいと
思い下記コードの6行目にfor文を作成しましたがうまくいきません
多分for文の中にセルの指定をしなくてはいけないのですがその方法がよくわかりません
わかる方いましたら教えていただきたいです
1コード 2function parseXml() { 3 const ss = SpreadsheetApp.getActiveSpreadsheet(); 4 const sheet = ss.getSheetByName('シート1'); 5 6 const range = sheet.getRange('E2'); 7 const lastRow = sheet.getLastRow(); 8 for(let i = 2; i <= lastRow; i++) { 9 console.log(sheet.getRange(i, 1).getValue()); 10 } 11} 12 13 14 //Logger.log(range.getValue()); 15 16 17 var data = Parser.data(range.getValue()).from('<table').to('</table>').build(); 18 19 //Logger.log(data); 20 21 22 var tds = Parser.data(data).from('<td style="border-collapse:collapse;border-bottom:1px solid #efefff;word-break:break-all;vertical-align:top;padding:.5em">').to('</td>').iterate(); 23 24 var length = tds.length; 25 26 //番号 27 Logger.log(tds[0]); 28 29 //取得できた番号をシートに書き込み 30 sheet.getRange('F2').setValue(tds[0]); 31 32 //氏名 33 Logger.log(tds[1]); 34 35 //取得できた氏名をシートに書き込み 36 sheet.getRange('G2').setValue(tds[1]); 37 //ふりがな 38 Logger.log(tds[2]); 39 40 //取得できたふりがなをシートに書き込み 41 sheet.getRange('H2').setValue(tds[2]); 42 43 //メールアドレス 44 Logger.log(tds[3]); 45 46 //取得できたメールアドレスをシートに書き込み 47 sheet.getRange('I2').setValue(tds[3]); 48 49 //年齢 50 Logger.log(tds[4]); 51 52 //取得できた年齢をシートに書き込み 53 sheet.getRange('J2').setValue(tds[4]); 54 55 //学年 56 Logger.log(tds[5]); 57 58 //取得できた学年をシートに書き込み 59 sheet.getRange('K2').setValue(tds[5]); 60 61 //種別 62 Logger.log(tds[6]); 63 64 //取得できた種別をシートに書き込み 65 sheet.getRange('L2').setValue(tds[6]); 66 67 //曜日 68 Logger.log(tds[7]); 69 70 //取得できた曜日をシートに書き込み 71 sheet.getRange('M2').setValue(tds[7]); 72 73 74 //時間 75 Logger.log(tds[8]); 76 77 //取得できた時間をシートに書き込み 78 sheet.getRange('N2').setValue(tds[8]); 79 80 //理由 81 Logger.log(tds[9]); 82 83 //取得できた理由をシートに書き込み 84 sheet.getRange('O2').setValue(tds[9]); 85 86 87 88 89} 90
回答1件
あなたの回答
tips
プレビュー