前提
チェックボックスがTRUEになったときをトリガーにしています。
発生している問題・エラーメッセージ
同様の手法で、同じファイル内でGASで書いた関数を実装していますが、そちらは現在もスマホでも問題なく動作しています。
ただ、今回初めてマクロで関数を作成したのですが(myFunction)、この関数だけはスマホでは動かなくなってしまいます。PCでは正常に動作します。
該当のソースコード
Code.gs
1function onEdit(e) { 2 const inspection_seet = ['Main']; 3 const inspection_cell = ['C1']; 4 const canged_seet = e.source.getSheetName(); 5 const changed_cell = e.range.getA1Notation(); 6 const average_seet = ['平均']; 7 8 const ss = SpreadsheetApp.getActiveSpreadsheet(); 9 const sheet = ss.getActiveSheet(); 10 const range = sheet.getRange('C1'); 11 12 const checkval = range.getValues(); 13 14 15 for (var i = 0; i < inspection_seet.length; i++) { 16 if (canged_seet == average_seet[i]) { 17 if (changed_cell == inspection_cell[i]) { 18 if (checkval[i][0] === true) { 19 myFunction(); 20 range.setValue('FALSE') 21 } 22 } 23 } 24 } 25} 26 27function myFunction() { 28 var spreadsheet = SpreadsheetApp.getActive(); 29 spreadsheet.getRange('F6:CS6').activate(); 30 spreadsheet.setActiveSheet(spreadsheet.getSheetByName('平均'), true); 31 spreadsheet.getRange('6:6').activate(); 32 spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 1); 33 spreadsheet.getActiveRange().offset(0, 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate(); 34 spreadsheet.getRange('F6').activate(); 35 spreadsheet.getRange('\'倉庫\'!F6:CS6').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false); 36 spreadsheet.getRange('34:34').activate(); 37 spreadsheet.getActiveSheet().deleteRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows()); 38};
環境
スマホはGoogleスプレッドシートアプリを使用しており、androidもiphoneも同じ状況です。
以上、ご教授いただけると幸いです。よろしくお願いします。
あなたの回答
tips
プレビュー