質問編集履歴
1
該当のソースコード欄にfunction1のコードを追記
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -65,8 +65,74 @@ 
     | 
|
| 
       65 
65 
     | 
    
         | 
| 
       66 
66 
     | 
    
         
             
            ### 該当のソースコード
         
     | 
| 
       67 
67 
     | 
    
         
             
            以下に現コードを全文記載します。
         
     | 
| 
      
 68 
     | 
    
         
            +
            8/12 下コードの冒頭にfunction1のコードを追記。
         
     | 
| 
       68 
69 
     | 
    
         | 
| 
       69 
70 
     | 
    
         
             
            ```GAS
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
            function createMailData1() {
         
     | 
| 
      
 73 
     | 
    
         
            +
              const ss = SpreadsheetApp.openById('~省略~');
         
     | 
| 
      
 74 
     | 
    
         
            +
              const mySheet1 = ss.getSheetByName('元シート');
         
     | 
| 
      
 75 
     | 
    
         
            +
              const mySheet2 = ss.getSheetByName('メアドシート');
         
     | 
| 
      
 76 
     | 
    
         
            +
              const mailSheet = ss.getSheetByName('メール文シート');
         
     | 
| 
      
 77 
     | 
    
         
            +
              const lastRow = mySheet1.getRange(mySheet1.getMaxRows(), 7).getNextDataCell(SpreadsheetApp.Direction.UP).getRow();
         
     | 
| 
      
 78 
     | 
    
         
            +
              console.log('lastRow ' + lastRow); //9が出たら正解
         
     | 
| 
      
 79 
     | 
    
         
            +
              const targetRows = lastRow - 5
         
     | 
| 
      
 80 
     | 
    
         
            +
              console.log('targetRows ' + targetRows); //4が出たら正解 
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
      
 82 
     | 
    
         
            +
              //▼送信先のメアド
         
     | 
| 
      
 83 
     | 
    
         
            +
              //「元シート(mySheet1)」のB列~I列までの値を
         
     | 
| 
      
 84 
     | 
    
         
            +
              //getRange.getValuesで二次元配列(myRange)として取得
         
     | 
| 
      
 85 
     | 
    
         
            +
              //起点は6行目、3列目(セルB6)
         
     | 
| 
      
 86 
     | 
    
         
            +
              //getRange(行,列,●行分,▲列分)
         
     | 
| 
      
 87 
     | 
    
         
            +
              const myRange = mySheet1.getRange(6, 2, targetRows, 8).getValues();
         
     | 
| 
      
 88 
     | 
    
         
            +
              console.log('myRange ' + myRange);
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
              //for ループ
         
     | 
| 
      
 91 
     | 
    
         
            +
              //行インデックス0スタートで+1ずつ、lastRowまで繰り返し
         
     | 
| 
      
 92 
     | 
    
         
            +
              for (let i = 0; i < targetRows; i++) {
         
     | 
| 
      
 93 
     | 
    
         
            +
                let no = myRange[i][0]; // 連番(B列)
         
     | 
| 
      
 94 
     | 
    
         
            +
                let recipient = myRange[i][6]; //  メアド(H列)
         
     | 
| 
      
 95 
     | 
    
         
            +
                let myFlag1 = myRange[i][7]; // 投稿連絡フラグ(I列)
         
     | 
| 
      
 96 
     | 
    
         
            +
                console.log('no ' + no);
         
     | 
| 
      
 97 
     | 
    
         
            +
                console.log('recipient ' + recipient);
         
     | 
| 
      
 98 
     | 
    
         
            +
                console.log('myFlag1 ' + myFlag1);
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
                //投稿連絡フラグ欄(myFlag1)に「済」ありの時は処理スキップ
         
     | 
| 
      
 101 
     | 
    
         
            +
                if (myFlag1 === "済") {
         
     | 
| 
      
 102 
     | 
    
         
            +
                  continue;
         
     | 
| 
      
 103 
     | 
    
         
            +
                }
         
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
                //▼メール件名
         
     | 
| 
      
 106 
     | 
    
         
            +
                //「メール文シート(mySheet2)」のセルC3から取得
         
     | 
| 
      
 107 
     | 
    
         
            +
                //getRange(行,列)
         
     | 
| 
      
 108 
     | 
    
         
            +
                const subject1 = mailSheet.getRange(3, 3).getValue();
         
     | 
| 
      
 109 
     | 
    
         
            +
                console.log('subject1 ' + subject1);
         
     | 
| 
      
 110 
     | 
    
         
            +
             
     | 
| 
      
 111 
     | 
    
         
            +
                //▼メール本文(body1)
         
     | 
| 
      
 112 
     | 
    
         
            +
                //「メール文シート(mySheet2)」のセルC4から取得
         
     | 
| 
      
 113 
     | 
    
         
            +
                const body1 = mailSheet.getRange(4, 3).getValue();
         
     | 
| 
      
 114 
     | 
    
         
            +
                console.log('body1 ' + body1);
         
     | 
| 
      
 115 
     | 
    
         
            +
             
     | 
| 
      
 116 
     | 
    
         
            +
                const options = {
         
     | 
| 
      
 117 
     | 
    
         
            +
                  name: '自動送信メール',
         
     | 
| 
      
 118 
     | 
    
         
            +
                  noReply: true
         
     | 
| 
      
 119 
     | 
    
         
            +
                  //from:'~省略~'
         
     | 
| 
      
 120 
     | 
    
         
            +
                  };                 
         
     | 
| 
      
 121 
     | 
    
         
            +
                GmailApp.sendEmail(recipient,subject1,body1,options);
         
     | 
| 
      
 122 
     | 
    
         
            +
             
     | 
| 
      
 123 
     | 
    
         
            +
                //▼元シート(mySheet1)の「投稿連絡メール」欄(I列)に"済"フラグを追記
         
     | 
| 
      
 124 
     | 
    
         
            +
                //getRange(行,列,●行分,▲列分)
         
     | 
| 
      
 125 
     | 
    
         
            +
                const addFlag = mySheet1.getRange(i +6, 9, 1, 1).setValue("済");
         
     | 
| 
      
 126 
     | 
    
         
            +
             
     | 
| 
      
 127 
     | 
    
         
            +
                //▼元シート(mySheet1)の「投稿連絡送信日」欄(J列)に"済"日時を追記 
         
     | 
| 
      
 128 
     | 
    
         
            +
                const timeStamp =new Date();
         
     | 
| 
      
 129 
     | 
    
         
            +
                console.log(timeStamp);
         
     | 
| 
      
 130 
     | 
    
         
            +
                mySheet1.getRange(i +6, 10, 1, 1).setValue(timeStamp);
         
     | 
| 
      
 131 
     | 
    
         
            +
              }
         
     | 
| 
      
 132 
     | 
    
         
            +
            }
         
     | 
| 
      
 133 
     | 
    
         
            +
             
     | 
| 
      
 134 
     | 
    
         
            +
             
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
       70 
136 
     | 
    
         
             
            function createMailData2() {
         
     | 
| 
       71 
137 
     | 
    
         
             
              const ss = SpreadsheetApp.openById('~省略~');
         
     | 
| 
       72 
138 
     | 
    
         
             
              const mySheet1 = ss.getSheetByName('元シート');
         
     |