データの整形でうまく行かずに行き詰まってます。
ご教授お願いします。
ご教授いただきたいことは、Logger.log(array2d)のデータの前後にある「”」を前後ともに取り除きたいことと、左にあるデータを日付としてスプレッドシートへ書き込みたいです。
お恥ずかしいGASですが、メールで送られてきたデータを抽出して整形してスプシーへ書き込みをしたいのですが、mapとstr.sliceを使い試行錯誤やったのですが、右と左のデータの長さが違いうまくいきません。説明がヘタでスミマセン。お助けください。
Logger.log(array2d)でのデータ
[["20220127_210456", "4549741015462"
], ["20220128_210500", "4987192002448"
], ["20220128_101319", "4987192002448"
], ["20220128_210456", "4549741015462"
], ["20220130_210500", "4987192002448"
], ["20220131_101319", "4987192002448"
]]
function myFunction() {
// 検索条件に該当するスレッド一覧を取得
var threads = GmailApp.search('subject:あああああ -label:処理済み');
// スレッドを一つずつ取り出す
threads.forEach(function(thread) {
// スレッド内のメール一覧を取得
var messages = thread.getMessages();
// メールを一つずつ取り出す messages.forEach(function(message) { // メール本文を取得 var plainBody = message.getPlainBody(); let array2d = plainBody.split('\n').map(line => line.split(',')); // 書き込むシートを取得 var sheet = SpreadsheetApp.getActive().getSheetByName('受信ナンバー'); // 最終行を取得 var lastRow = sheet.getLastRow() +1; //配列の最後の要素を削除する array2d.pop(); Logger.log(array2d) セルを取得して値を転記 sheet.getRange(lastRow,1,array2d.length,array2d[0].length).setValues(array2d); }); // スレッドに処理済みラベルを付ける //var label = GmailApp.getUserLabelByName('処理済み'); //thread.addLabel(label);

回答1件
あなたの回答
tips
プレビュー