前提・実現したいこと
IMPORTRANGE関数を使い、単純な表示をさせようとしています。
ユーザー側からは、エラーが発生したら1つのスクリプトを動かしてもらって対処しようと思っております。
そのスクリプトを動かすと、複数のセルを精査して、エラーが発生しているセルのみを修正するような仕組みにしようとしています。
ですが、そのエラーを検知する方法が解らない状態になっています。
対象の実際の関数は
=IF(A3="","",IMPORTRANGE(A3,"初期設定!A1"))
こんな感じにして、この関数で言うと、A3にはシートのID
初期設定!A1には "OK"と単純に入力されているセルになります。
発生している問題・エラーメッセージ
これを上記画像の様に表示させて(実際に使用する場合は別の範囲だったりしますが)
'#REF!'にマウスをあててエラー内容を見たときに。
のセルを.getValue()してLogger.logで見てみると、"#REF!"が返ってきますが、
の場合(今回は'C9'のセル)、過去に表示されていた情報である"OK"が返ってきてしまい、GAS上だとエラーが検知できなく、IF文等で処理を分けられません。
該当のソースコード
ログ検知のコード
GAS
1function myFunction2() { 2var ss = SpreadsheetApp.getActiveSpreadsheet(); 3var ssIn = ss.getSheetByName("初期設定") 4var range = ssIn.getRange(1,3,15,1) 5var log = range.getValues(); 6 7for (var i in log) 8Logger.log(log[i]) 9}
試したこと
セルを移動や再読み込み等して、Loading...の状態にすると、数秒でインポート範囲の内部エラーが改善されて、またOKと表示される様になりますが、
改善方法は解っていてもスクリプト上での検知方法が解らない状況になります。

回答1件
あなたの回答
tips
プレビュー