GASを使って、「ファイル1」「ファイル2」「ファイル3」「ファイル4」「ファイル5」など複数のファイルのそれぞれに共通して存在する「Check」というシートのB60のセルに入力された値を、「ファイル0」の「log」シートに一覧で記録したい。
B60に記録される値は各ファイルごとにそれぞれ都度書き換えられるが、そのすべてについて書き換えられた時間と値をファイル0のlogシートに、一覧で時系列順に記録したい。
追記>ひとまず下記のコードからスタートしていますが、早速「Exception: SpreadsheetApp.openById を呼び出す権限がありません」のエラーが発生して困っています。
なお、下記コードではまだ日にち時刻については組み込んでいません。
追記>下記コードで、「Check」シートのあるファイル1上で「log」シートを追加することで上記は実現。
しかし、var ss = SpreadsheetApp.openById("ファイル0のスプレッドシートキー");
で別ファイルに値を入力しようとしても動かない。
function onEdit(e) {
var sheet = e.source.getActiveSheet(); // 編集のあったシート
var cell = e.source.getActiveRange(); // 編集したセル
var val = sheet.getRange('B60').getValue();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var log = ss.getSheetByName("log");
var lastRow = log.getLastRow();
var currentTime = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yy/MM/dd HH:mm');
if (sheet.getName() == "Check" && cell.getColumn() == 2 && cell.getRow() == 60) {
log.getRange(lastRow + 1, 1).setValue(val);
//
// ..
}
if (sheet.getName() == "Check" && cell.getColumn() == 2 && cell.getRow() == 60) {
log.getRange(lastRow + 1, 2).setValue(currentTime);
}
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/08 06:35