質問: searchBy(rootHtml, 'value="','"', 'id="history_data_image_path"',5000) values[ki].push(itemUrl || '該当データ無し') // 2秒~5秒スリープ if (ki !== (keys.length - 1)) { Utilities.sleep(2000 + Math.floor(Math.random() * (2999)) + 1) } currentRowIndex++ } // 一括でインサート if (values && values[0]) { sheetData.getRange(SEARCH_START_LOW, SEARCH_COL_INDEX + 1, values.length, values[0].length).setValues(values) } } ``` ### 該当のスプレッドシート ``` | A | B | 1| 画像URL | 画像 | ※|https://abc123image|=ARRAYFORMULA(IMAGE(I5:I))|←←※セル内の関数 2|https://abc123image| ここに画像 | 3|||| ```
回答: 困っていることと実現したいことに乖離があります。 実現したいことは現在のコードの問題ではなく、仕組みが足りてない状態です。実現したいことは業務を便利にしたいということの言い換えですよね。 ちなみに今の作業のうち、2,3についてはスクリプトでURLが展開されるシートに画像を表示すればそもそも不要な作業のはず(記載された運用要件からは)で、コピペしようと思ったからコピペしなければならなくなった、のではないでしょうか。 困っていることはIMAGE関数を使う限り原理的に回避できません。シート関数にはスルーという仕組みがありません。 またIMAGEに代えて画像をコピペするようなコードを作ったところで、画像が多ければ開くことに時間がかかるのは回避できません。 困っていることを解決するにはキャッシュをためておく場所を作るとか必要なとき必要なだけの画像を見せるビューを作るとかいう全然違うモノが求められていると思います。