[GAS]Document APIを使ってスプレッドシート連携しよう【中編】

GAS

どうも。つじけ(tsujikenzo)です。このシリーズは「Google documentとスプレッドシートを連携しよう」ついてですが、今日はその【中編】をお届けします。

前回までのおさらい

前回は「document API」なるものがあってGASでducumentの操作ができますよということをお伝えしました。

[GAS]Document APIを使ってスプレッドシート連携しよう【前編】
どうも。つじけ(tsujikenzo)です。このシリーズでは「Google documentとスプレッドシートを連携しよう」ついて【前編・中編・後編】でお伝えしようと思います。今日は【前編】です。Spreadsheet APIってなに...

今日は中編として「スプレッドシートにdocumentの一覧を出力しよう」をお送りします。

スプレッドシートにdocumentの一覧を取得する準備

最終的にはスプレッドシートのリストからdocumentを大量に作成したいですが、「既に作成したdocumentをリストにしたいんだけど・・・」という声も聞こえます。私も既にブログのdocumentが溜まっていて整理したかったです。TRYしてみましょう。

スプレッドシートのコンテナバインドを開く

適当なスプレッドシートを準備して、コンテナバインドスクリプトにコードを書いていきます。私はスプレッドシート[My Blog Reports]にコンテナバインドを作成しました。

folderオブジェクトを変数に格納する

DriveApp.getFolderById(id)メソッドを使って、フォルダオブジェクトを変数に格納します。iddocumentが保存されているフォルダのidということですね。(後でidという変数名は使いそうなので、let宣言にしておきます。)

let id = 'documentが保存されているフォルダのid';
const folder = DriveApp.getFolderById(id);

file iteratorを回す

フォルダオブジェクト[const folder]には、たくさんのファイルが[ファイルオブジェクト]として格納されています。目には見えないので、これを1つずつ取り出して、ファイルのタイトル(名前)を確認したいと思います。while文を使います。

const files = folder.getFiles();

  while (files.hasNext()) {
    let file = files.next();
    console.log(file.getName());
  }

取れているみたいですね👏

2次元配列に格納する

それでは先ほどのコードを手直しして、タイトルを2次元配列に格納するようなコードにしましょう。配列を準備してpush()ですね。最終的に2次元配列にしたいので、push()する時に[]で囲んでいることに気をつけてくださいね。

  const files = folder.getFiles();
  const titles = [];

  while (files.hasNext()) {
    let file = files.next();
    titles.push([file.getName()]); //[[],[]]
  } 
 console.log(titles);

ログを見て見ましょう。2次元配列[[タイトル1],[タイトル2],[],[]]の形式になっているようですね👏👏👏

スプレッドシートにsetValues()

ここまで来たら皆さんはスプレッドシートに出力できますよね。貼り付けてみましょう。

const sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1,1,titles.length, titles[0].length).setValues(titles);

おぉぉ、貼り付けできたみたいですね👏👏👏👏👏

まとめ

以上で、「スプレッドシートにdocumentの一覧を出力しよう」をお送りしましたが、いかがでしたでしょうか。これができるということは、各documentの文字数もスプレッドシートで管理できそうですね。今回はその方法については割愛しますが、可能性は無限大ですね💦

それでは次回は最終回として、スプレッドシートからdocumentを生成してみたいと思います。

[GAS]Document APIを使ってスプレッドシート連携しよう【後編】
どうも。つじけ(tsujikenzo)です。このシリーズは「Google documentとスプレッドシートを連携しよう」ついてですが、今日は最終回【後編】をお届けします。前回までのおさらい前回は「スプレッドシートにdocumentの一覧を

このシリーズの目次

  1. [GAS]Document APIを使ってスプレッドシート連携しよう【前編】
  2. [GAS]Document APIを使ってスプレッドシート連携しよう【中編】
  3. [GAS]Document APIを使ってスプレッドシート連携しよう【後編】
タイトルとURLをコピーしました