earthpg:GAS専門のプログラミングスクール

3分でわかる!GASで図形を操作・取得・作成する方法

GASで図形を使いたいと思ってるんだけど、描画とか操作の仕方が全然わからなくて…。
猫男
猫男
catman
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
catman
これでGASを使った図形の操作ができるようになっただろう。君のプロジェクトに役立ててくれ!
ありがとうございます、catman!これで色々と試してみます!
猫男
猫男