3分でわかる!GASで図形を操作・取得・作成する方法
GASで図形を使いたいと思ってるんだけど、描画とか操作の仕方が全然わからなくて…。

猫男

catman
catmanがGASでの図形操作について教えてやろう。まずは基本から始めるさ。
GASと図形の関係を知ろう
GAS(Google Apps Script)を使って、スプレッドシートやGoogleドキュメントに図形を作成・操作・取得できる。これにより、視覚的に見やすいドキュメントを簡単に作ることができる。
図形を描画する基本
GASを使えば、Googleワークスペースのアプリケーション上で図形を描画することが可能だ。基本的なコードを見てみよう。
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const imageUrl = 'https://example.com/image.png';
const img = UrlFetchApp.fetch(imageUrl).getBlob();
sheet.insertImage(img, 1, 1);
この例では、URLから画像を取得し、スプレッドシートに挿入している。
図形を操作する方法
挿入した図形を操作するには、専用のメソッドを使う。例として、位置を変更する方法を紹介しよう。
const image = sheet.getImages()[0];
image.setAnchorCell(sheet.getRange('B2'));
画像のアンカーセルを指定することで、画像の表示位置を簡単に変更できる。
図形を取得する方法
挿入された図形を取得し、その情報を利用することも可能だ。
スプレッドシートから図形を取得する
どのセルに画像が配置されているかを知りたい場合は、以下のコードを実行すればいい。
const images = sheet.getImages();
const firstImage = images[0];
Logger.log(firstImage.getAnchorCell().getA1Notation());
これにより、画像が配置されたセルの位置がログに記録される。
画像を操作するのって思ったより簡単なんだね!

猫男
練習問題
練習として、スプレッドシートのA1セルに画像を追加後、別のセル(C3)に移動させるスクリプトを書いてみよう。
解答・解説
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const imageUrl = 'https://example.com/image.png';
const img = UrlFetchApp.fetch(imageUrl).getBlob();
const image = sheet.insertImage(img, 1, 1);
image.setAnchorCell(sheet.getRange('C3'));
- 最初に、指定のURLから画像を取得し、A1セルに挿入している。
- setAnchorCellメソッドを使用して、画像のアンカーセルをC3に設定している。

catman
これでGASを使った図形の操作ができるようになっただろう。君のプロジェクトに役立ててくれ!
ありがとうございます、catman!これで色々と試してみます!

猫男