17
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【GAS】GoogleスプレッドシートのデータをGoogleドキュメント化する

Posted at

やりたいこと

あるサービスで自動配信しているメールの

  • タイトル
  • 本文

をGoogleドキュメント化したい。
いちいちドライブ上でドキュメントを作成して、コピペして...ってのはだるいし、
今後もメールは増えていく予定なのでGASを使って楽に作れるようにしよう。

スプレッドシートを用意する

Screen Shot 2018-10-29 at 19.14.42.png

スクリプトエディタにコードを書く

スプレッドシートのツールから「スクリプトエディタ」を選択して、

Screen Shot 2018-10-29 at 19.23.35.png

以下のコードを書く。

function makeDocuments() {
  //スプレッドシート、シート、行数を取得
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadsheet.getActiveSheet();
  var count = sheet.getLastRow();

  //項目タイトルを覗く2行目~最終行について、ドキュメントを作成する
  for(i = 2; i <= count; i++){
    //タイトル、本文を取得
    var title = sheet.getRange("A"+i).getValue();
    var body   = sheet.getRange("B"+i).getValue();

    //ドキュメントを作成
    var document = DocumentApp.create(title);
    //本文を書き込む
    document.getBody().setText(body);

    //ドキュメントを格納するフォルダを取得(指定しない場合はマイドライブ直下に作成される)
    var targetFolder = DriveApp.getFolderById("[フォルダのid]");

    //指定したフォルダに所属(移動)させる
    var docFile = DriveApp.getFileById(document.getId());
    targetFolder.addFile(docFile);
  }
}

フォルダのid

URLの一番最後の部分です
https://drive.google.com/drive/folders/[フォルダのid]

スクリプトの実行

Screen Shot 2018-10-29 at 19.32.28.png

▶︎ を押して実行すると

Screen Shot 2018-10-29 at 19.38.41.png

Screen Shot 2018-10-29 at 19.39.36.png

できた。

その他もろもろ

トリガーの設定

編集 > 現在のプロジェクトのトリガー(すべてのトリガーでもよいらしい)

デバッグしたいときは...

▶︎ の右横の虫ボタンをクリック

ログ出力

こちらの記事をご参照ください
https://qiita.com/chihiro/items/09c996d41d80f0d30e17

参考記事

17
14
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?