実現したいこと
発生している問題・分からないこと
左の表から送信後、右の表のJANコードが日付形式で送信されてしまう(G3のみ)
該当のソースコード
function mailso(){ // 送信者のセル const itemCellName = 'G14'; // 左の表の列数 const numColumns = 4; // 左の表の記入開始列 const logStartColumn = 3; // 左の表の行数 const numColumns2 = 10; // 記入開始行 const logStartColumn2 = 3; // それぞれのシートを取得 const itemSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('左の表'); const logSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('右の表'); // 左の表の基準セルの行番号と列番号 const startCell = itemSheet.getRange("f3"); const itemStartRow = startCell.getRow(); //行 const itemStartColumn = startCell.getColumn();//列 // 見出しを作成 const date = Utilities.formatDate(new Date(), 'JST', 'yyyy/MM/dd'); const item = itemSheet.getRange(itemCellName).getValue(); const titles = [date,item]; // 右の表の最終行 const logLastRow = logSheet.getLastRow(); // 左の表の履歴データを取得 const values = itemSheet .getRange(itemStartRow, itemStartColumn, numColumns2, numColumns) .getValues(); // 右の表に履歴見出しを記入 logSheet .getRange(logLastRow + 1, 1, 1, titles.length) .setValues([titles]); // 右の表に履歴データを記入 logSheet .getRange(logLastRow + 1, logStartColumn, values.length, values[0].length) .setValues(values); Logger.log(values); }
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
何となく原因はわかるものの、GAS初心者の為どう対処していいかわからないので
ご教授いただきたいです。
考えられる原因↓
複数行送信時でも1行目のみ日付に変換されてしまうため、
左の表からの送信時に”メール送信日”をUtilities.formatDate(new Date(), 'JST', 'yyyy/MM/dd')で今日の日付を出すようにしているからそこが影響している?
補足
特になし
回答1件
あなたの回答
tips
プレビュー