Googleドキュメントに画像をたくさん挿入する作業は、とても手間がかかります。一枚一枚アップロードするのは時間の無駄です。しかし、Apps Scriptを使えばURLリストから画像を一括で自動挿入できます。この記事では、具体的なスクリプトの書き方と実行手順を詳しく解説します。
【要点】Apps Scriptで画像を自動配置する3ステップ
- スクリプトエディタを開く: ドキュメントの「拡張機能」からApps Scriptを起動し、コードを記述します。
- UrlFetchAppで画像を取得: 指定したURLから画像データを取得し、Blobに変換します。
- Body.insertImageで挿入: 取得したBlobをドキュメントの任意の位置に挿入します。
ADVERTISEMENT
目次
Apps Scriptが画像を自動挿入する仕組み
Apps ScriptはGoogle Workspace製品を自動化するためのスクリプトプラットフォームです。画像の一括挿入では、主にUrlFetchAppとDocumentAppという2つのクラスを使用します。UrlFetchAppで画像URLからデータを取得し、DocumentAppでその画像をドキュメントに挿入します。この仕組みにより、手動で行っていたコピー&ペーストの作業を完全に自動化できます。
前提として、画像はインターネット上で直接アクセスできるURLである必要があります。DropboxやGoogle Driveの共有リンクなど、認証が必要なURLには対応していません。また、画像のサイズや形式(JPEG、PNG、GIF)は自動で認識されます。1回のスクリプト実行で、複数の画像を連続して挿入できます。
URLリストから画像を一括挿入する手順
以下の手順で、URLリストを元に画像をドキュメントに自動配置します。スクリプトはGoogleドキュメントのスクリプトエディタで記述します。
- スクリプトエディタを開く
Googleドキュメントを開き、メニューの「拡張機能」→「Apps Script」をクリックします。新しいタブでスクリプトエディタが開きます。 - スクリプトを記述する
デフォルトのコードを削除し、以下のスクリプトを貼り付けます。function insertImagesFromUrls() { var doc = DocumentApp.getActiveDocument(); var body = doc.getBody(); var urls = [ "https://example.com/image1.jpg", "https://example.com/image2.png" ]; for (var i = 0; i < urls.length; i++) { var response = UrlFetchApp.fetch(urls[i]); var blob = response.getBlob(); var image = body.insertImage(blob); body.appendParagraph(""); // 画像の後に改行を追加 } } - URLリストを編集する
コード内のurls配列に、挿入したい画像のURLを追加します。URLはシングルクォーテーションまたはダブルクォーテーションで囲み、カンマで区切ります。 - スクリプトを保存して実行する
Ctrl+Sで保存し、実行ボタン(▶)をクリックします。初回は権限の承認画面が表示されるので、「許可」をクリックします。スクリプトが実行され、画像がドキュメントに挿入されます。 - 画像の位置を調整する
デフォルトでは文書の末尾に画像が追加されます。挿入位置を指定したい場合は、body.insertImage(offset, blob)のようにoffset(挿入位置のインデックス)を指定します。offsetは段落や表などの要素のインデックスです。例えば、最初の段落の後に挿入する場合はbody.insertImage(1, blob)とします。
注意点とよくあるトラブル
画像が表示されない
原因の多くはURLが間違っているか、画像にアクセスできないことです。URLが有効かどうかはブラウザで直接開いて確認してください。また、Google Driveの共有リンクなど認証が必要なURLは使用できません。画像は一般公開されているURLのみ対応しています。
権限エラーが発生する
スクリプトの初回実行時に権限承認を求められます。「許可」をクリックしないと実行できません。承認後も、Googleのセキュリティポリシーによって制限される場合があります。その場合は「安全ではないアプリ」としてブロックされることがあるので、Googleアカウントの設定を確認してください。
画像が大きすぎる
画像ファイルサイズが大きいと、UrlFetchAppのレスポンス制限に引っかかる場合があります。UrlFetchAppの最大サイズは約10MBです。大きな画像は事前に圧縮することをおすすめします。サイズを小さくするには、画像編集ツールでリサイズするか、Googleドライブにアップロードしてから縮小版のURLを生成します。
スクリプトの実行が遅い
画像の数が多いと、1枚ずつダウンロードするため時間がかかります。大量の画像を挿入する場合は、スクリプトのトリガーを設定してバックグラウンドで実行することも可能です。また、UrlFetchApp.fetchAll()を使うと並列ダウンロードができて高速になります。
ADVERTISEMENT
手動挿入とApps Scriptの違い
| 項目 | 手動挿入 | Apps Script |
|---|---|---|
| 操作時間 | 1枚ずつアップロード・配置 | 一括自動実行で数秒 |
| 画像の位置 | ドラッグで自由に調整 | コードで指定(カーソル位置などは不可) |
| URLの管理 | 手作業でコピー | 配列で一括管理 |
| エラー耐性 | 画像がないと気づきにくい | エラーログで確認可能 |
手動挿入は直感的ですが、大量の画像には向いていません。Apps Scriptは少し難易度が高いものの、一度設定すれば繰り返し使えて効率的です。特に定期的に画像を差し替える業務には最適です。
まとめ
この記事では、Apps Scriptを使ってGoogleドキュメントに画像を自動配置する方法を解説しました。UrlFetchAppとDocumentAppを組み合わせることで、URLリストから複数の画像を一括挿入できます。まずはサンプルスクリプトを試し、自分のURLリストに置き換えてみましょう。さらに、スクリプトにタイムトリガーを設定すれば、定期的な画像更新も自動化できます。応用として、GoogleスプレッドシートのセルからURLを読み込むように改造することも可能です。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleドキュメントの人気記事ランキング
- 【Googleドキュメント】上付き・下付き文字の入力方法!ショートカットと手動切替
- 【Googleドキュメント】ルビ(ふりがな)を振る方法!代替ツールとアドオンの活用
- 【Googleドキュメント】文字間隔(字間)を調整する方法!カーニングの代替手段
- 【Googleドキュメント】図表番号の自動採番!Figure 1, Table 2 の連番
- 【Googleドキュメント】Docs→Wordへエクスポート!docx出力での書式維持
- 【Googleドキュメント】縦書き表示を実現する方法!代替ツールと回避策
- 【Googleドキュメント】インデントを正確に調整する方法!ルーラーとタブストップの使い方
- 【Googleドキュメント】罫線を縦・横に挿入する方法!Wordの罫線機能との比較
- 【Googleドキュメント】共有後に閲覧履歴を確認!誰がいつ開いたかの追跡
- 【Googleドキュメント】共有先の名前が表示されない時の対処!匿名動物アイコンの正体
