質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

1回答

802閲覧

GASを使って、複数ファイルの共通シート・共通セル番地に入力される値を一か所にまとめて一覧で記録したい

Ryoun

総合スコア2

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2020/07/01 10:18

編集2020/07/08 06:00

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);
}
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

onEditだとシンプルトリガーの制約上、他のシートにアクセスできないと思います。

参考
https://qiita.com/NickelCreate/items/55b888b66695527c85b0

投稿2020/07/08 06:32

sawa

総合スコア3002

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Ryoun

2020/07/08 06:35

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問