Googleドキュメント内の画像を順番通りに名前を付けて保存するスクリプト

GASでGoogleドキュメントの画像を一括保存
  • URLをコピーしました!
※当ブログではアフィリエイト広告を表示しています

最近少しだけクラウドワークスでお仕事をしているのですが、Googleドキュメントの中に40個くらい画像があって、それをWordpressにアップロードしなきゃいけないんです。

で、Googleドキュメントで

「ファイル」→「ダウンロード」→「ウェブページ(.html、zip)」

ってやると、一括で保存できるんですけど、なぜか順番がバラバラになっちゃうんですよね。

本当に困っていて。
手作業で順番通りになるように名前を付けるのが手間でして。

で、Wordに変換してVBAのこのコードで画像保存をやってみたのですが、今度はなぜか画像サイズが違うという…

ということで、Googleドキュメントを操作するスクリプト(GAS:Google Apps Script)を作ってみました

検索したところ、ドンピシャに欲しい機能を公開しているウェブページはなかったので、困っている誰かの参考になればいいなと思います。

目次

やりたいこと:Googleドキュメントの画像一括保存

スクリプトでやりたいことは

  1. 指定のGoogleドキュメントを開く
  2. ドキュメント内の画像を取得
  3. 画像を順番通りに名前を付ける
  4. Googleドライブ内のフォルダに保存する

と、まぁ初めてのGASなので簡単にこれだけです。

スクリプト実行後、フォルダごとローカルにダウンロードすれば、やりたいことは完了!

スクリプト

まったくGASのことを知らない状態で調べながら作った&数年ぶりにスクリプトとか書いたのでへたっぴなコードですが、悪しからず…

function myFunction() {
  //Googleドキュメントを開きます。
  var doc = DocumentApp.openByUrl("GoogleドキュメントのURL");
  var dogname = doc.getBlob().getName(); //拡張子ありのファイル名。
  Logger.log(dogname);


  //フォルダIDを指定
  const folder = DriveApp.getFolderById('GoogleドライブのフォルダID');
  
  var i = 0;

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

  // 画像の数だけループ
  for (let i = 0; i < images.length; i++) {
    //画像として取得
    var img = images[i];
    var j = i + 1;
    //ファイル名
    var imgName = "sample" + j + ".png";
    var imageBlob = img.getAs('image/png').setName(imgName);
    //画像ファイルとして保存
    folder.createFile(imageBlob);
  }

  Logger.log("終了しました。");

}

今回は、GoogleドキュメントのURLや、画像を保存したいフォルダはコードに直書きしちゃっています。

フォルダの指定はフォルダIDです。フォルダのURLからIDを取得できますよ。

画像は

const images = doc.getImages();

で全ての画像を取得できちゃって、とても簡単。

あとはループで一枚ずつ名前を付けて保存していくだけです。

初めてGASやってみて思ったこと

GASをやってみて時代の変化を感じた

GAS、楽ですね!!!

変数を宣言する際に、型を指定しなくていいんですね!

VBAみたいに手こずるかなと覚悟していたら、サクッと実現できてびっくりしちゃいました。

それにしても、数年前はWord、Excelが主流だったのに、最近はGoogleドキュメント、Googoleスプレッドシートが主流になっていてびっくりです。

コロナで在宅勤務が加速して、オンラインで共有できるGoogleサービスが台頭してきたんでしょうね。

私は数年間(2人目の妊娠・出産~)パソコンすら触らないような生活だったので、「変わったな~」って浦島太郎状態に近いです。

GASでもっといろいろ効率化できるようにしていきたいですね。

またスクリプト作ったら共有します。

んじゃ、また~

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

関連記事

応援よろしくお願いします☆

この記事を書いた人

理系夫婦の妻のほうです。
大学、大学院(修士)で物理を専攻。
2016年に長女を出産、2021年に長男を出産。
フルタイム勤務ワーママ→休職→専業主婦。

コメント

コメントする

目次