Google Apps ScriptでGoogle Drive内のファイル情報をスプレッドシートに取得する方法

クラウドサービス

Google Apps Scriptを使って、Google Drive内の特定のフォルダからファイル情報を取得し、Google スプレッドシートに記録する方法について解説します。質問者が記載したコードを基に、どのようにして指定されたフォルダ内のファイル名やIDを取得するのか、そしてその情報をどのようにスプレッドシートに記録するかを見ていきましょう。

1. Google Apps Scriptとは?

Google Apps Scriptは、Googleが提供するクラウドベースのスクリプト環境で、Google Workspaceの各種サービス(Gmail、Google Drive、Google Sheetsなど)を自動化するために使用できます。これを使うことで、Google SheetsとGoogle Driveの連携を簡単に行うことができます。

質問者のコードは、Google Driveからファイル情報を取得し、それをGoogle Sheetsに反映させるスクリプトです。これにより、特定のフォルダ内のファイル情報を自動で整理することができます。

2. 質問にあるコードの目的と動作

質問者のコードは、Google Drive内で指定された名前のフォルダからすべてのファイル情報を取得し、Google スプレッドシートにそれらのデータを記録するものです。具体的には、フォルダ名、ファイル名、ファイルID、そして必要に応じてカナ名を取得しています。

コードは以下の主要な部分で構成されています。

  • フォルダの取得:DriveApp.getFoldersByName(folderName)を使って、指定されたフォルダ名のフォルダを検索します。
  • ファイル情報の取得:folder.getFiles()で、フォルダ内のすべてのファイルを取得し、それぞれのファイルの情報(ファイル名、ID)をリストに格納します。
  • スプレッドシートへの記録:取得したファイル情報を、Google Sheetsの指定された範囲に記入します。

3. Google DriveのAPIとの連携方法

Google Driveからファイル情報を取得するためには、Google Apps Script内でDriveAppを使用します。DriveAppはGoogle Drive APIをラップしたものです。以下のようにしてファイル情報を取得し、処理を行うことができます。

  • DriveApp.getFoldersByName(folderName):指定したフォルダ名に一致するフォルダを検索します。フォルダが複数存在する場合、すべてのフォルダが取得されます。
  • folder.getFiles():取得したフォルダ内のすべてのファイルを列挙し、それぞれのファイルの情報(ファイル名、ID、MIMEタイプ)を取得できます。
  • file.getId():各ファイルのユニークなIDを取得し、スプレッドシートに記録することができます。

4. スプレッドシートにデータを記録する方法

取得したファイル情報をGoogle スプレッドシートに記録するためには、SpreadsheetAppを使用します。スプレッドシートの対象セルに対して、getRange()メソッドを使ってデータを挿入します。質問者のコードでは、以下のようにしてデータを記録しています。

  • sheet.getRange():データを挿入したいセル範囲を指定します。例: sheet.getRange(firstRow, firstCol, lastRow – firstRow + 1, lastCol – firstCol + 1)
  • getValues():スプレッドシートから既存のデータを取得し、それをリストとして処理することができます。
  • setValues():取得したデータをスプレッドシートに反映させるために、setValues()を使用してデータを入力します。

5. まとめ:Google Apps ScriptでGoogle Driveのファイル情報をスプレッドシートに反映させる方法

Google Apps Scriptを使用することで、Google Drive内のファイル情報を簡単に取得し、Google スプレッドシートに自動で反映させることができます。質問者が示したコードを基に、指定したフォルダ内のファイル名やIDをスプレッドシートに記録する方法を学ぶことができました。

このスクリプトを応用することで、ファイル管理の効率化やデータ整理を大幅に改善することができるでしょう。

コメント

タイトルとURLをコピーしました