2022/09/26に更新

【GASで整頓】シート上にある画像をすべて正方形にする

スプレッドシート小技

スプレッドシートに貼り付けてある画像を、指定したサイズで正方形にするGoogle Apps Scriptです。

こんな悩みを解決します


  • シートにある画像の高さと幅を揃えたい!
  • 縦横比は無視して、正方形にしたい!

用意するもの


特にありません。今お使いのスプレッドシートに組み込めます。

このスクリプトで出来ること


  • シートに貼り付けてある画像の1辺の長さを指定して、正方形にしてくれます。
  • 1辺の長さはプロンプトで入力できます。
  • 対象になる画像は、今開いているアクティブなシートに存在するものだけです。

使い方


1.スクリプトの実行

サンプルとして4つの画像を用意しました。
サイズはバラバラで、ものによって縦横の比率も異なるものです。
これをすべて正方形にしてみます。

上のメニューにある「スクリプト実行」から「シート上の画像を正方形にする(縦横比無視)」を実行します。

プロンプトが表示されますので、希望の高さを入力してください。
150と入力してみます。

2.結果の確認

しばらく待つと、このようにすべての画像の1辺の長さが150に揃いました。

もし縦横比を維持してリサイズしたい場合は 【GASで整頓】シート上にある画像の幅、高さを揃える(縦横比固定) を参照してください。

スクリプト


/**
 * このスクリプトの説明、使い方はこちら。
 * https://myfunc.jp/items/00152/index.html
 */

function onOpen() {
  // スプレッドシートを開いたときに実行される関数

  // UIの取得
  const ui = SpreadsheetApp.getUi()

  // メニューの表示名
  const menu = ui.createMenu('スクリプト実行');

  // メニューに追加するボタン
  menu.addItem('シート上の画像を正方形にする(縦横比無視)', 'resize_images_on_sheet');

  // メニューを画面に追加する
  menu.addToUi();
}


function resize_images_on_sheet() {

  // プロンプトを表示するためにUIオブジェクトを取得
  const ui = SpreadsheetApp.getUi();

  // プロンプトを表示し、1辺の長さを指定してもらう
  const response = ui.prompt('1辺の長さを入力してください', ui.ButtonSet.OK_CANCEL);

  // キャンセルが押されたらスクリプトを終了する
  if (response.getSelectedButton() == ui.Button.CANCEL) {
    return;
  }

  // アクティブなスプレッドシートオブジェクトを取得
  const ss = SpreadsheetApp.getActiveSpreadsheet();

  // アクティブなシートを取得
  const sheet = ss.getActiveSheet();

  // シート上の画像オブジェクトを取得する
  const images = sheet.getImages();

  // 画像の数だけループ
  for (let i = 0; i < images.length; i++) {

    // 画像の高さと幅を指定する
    images[i].setHeight(response.getResponseText());
    images[i].setWidth(response.getResponseText());

  }
}

関連するアプリ


【GASで時短】同じ背景色のセルを選択状態にする

選択したセルと同じ背景色のセルを選択状態にするGoogle Apps Scriptです。細かく色分けされたセルの色を変えたくなったときにどうぞ。

【GASで時短】同じ文字色のセルを選択状態にする

文字色が同じセルを選択状態にしてくれるGoogle Apps Scriptです。特定の文字色をまとめて変えたくなったときにどうぞ。

【GASで時短】同じフォントサイズのセルを選択状態にする

同じフォントサイズのセルを選択状態にしてくれるGoogle Apps Scriptです。一部のフォントサイズをまとめて変えたくなったときなどにどうぞ。

【GASで時短】選択されているセルの数をカウントする

スプレッドシートで選択している範囲の「選択中のセルの数」「値が入っているセル」「数式が入っているセル」をカウントするGoogle Apps Scriptです。

【GASで時短】選択範囲で使われている文字色、背景色をカウントする

シートで選択したセル範囲に、文字色や背景色がいくつ使われているかを調べるGoogle Apps Scriptです。色の塗り分けで表現された資料に直面したときに使えるかも・・・?

【GASで整頓】シート上にある画像の幅、高さを揃える(縦横比固定)

スプレッドシートに貼り付けてある画像の高さ、幅を揃えてくれるGoogle Apps Scriptです。縦横比は維持します。拾ってきた素材のサイズがバラバラで揃えたいときに。

【GASで整頓】シート上にある画像を水平・垂直方向に整列する(上辺、左辺揃え)

スプレッドシートに貼り付けてある画像を、水平もしくは垂直方向に整列するGoogle Apps Scriptです。

【GASで整頓】シート上にある画像を水平・垂直方向に整列する(中央揃え)

スプレッドシートに貼り付けてある画像を、水平もしくは垂直方向に整列するGoogle Apps Scriptです。各画像の中心で揃えます。

タグ一覧

最新のアプリ

人気のアプリ

ページトップに戻る
myfunc.jp