以下のようにセルに入力されたファイルパスを利用して、隣のセルに画像のプレビューを表示する方法を紹介します。
まずは画像が保存されているフォルダーをドライブから探し、共有の設定を「リンクを知っている全員」に変更します。
以下のようなGASを記述します
ドライブのリンク`https://drive.google.com/uc?id=`にファイルIDをつけたリンクをImage関数の引数に渡します。
フォーム更新時をイベントの発動条件としてトリガーを追加します。
- function pathToImage() {
- let sheet=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
- let records=sheet.getDataRange().getValues();
- let filePath="";
- records.slice(1).forEach((record,index)=>{
- filePath=record[4];
- let fileName=filePath.split("/")[1];
- let folder=DriveApp.getFoldersByName("シート1_Images").next();
- let file=folder.getFilesByName(fileName).next();
- let fileID=file.getId();
- let imagePath=`https://drive.google.com/uc?id=${fileID}`;
- let cell=sheet.getRange(index+2,6);
- console.log(cell);
- cell.setFormula(`=Image("${imagePath}")`);
- })
- }