Google関連

[Google Apps Script]スプレッドシートをExcelファイル(xlsx)に変換する

スプレッドシートのファイルメニュー → 形式を指定してダウンロード → Microsoft Excel(.xlsx) から、スプレッドシートをExcelファイルに変換できますが、下記URLにIDを渡すことで同じ処理ができることを、今さらながらに知りました。

https://docs.google.com/spreadsheets/d/(スプレッドシートのID)/export?format=xlsx

折角なので、スプレッドシートをExcelファイル(xlsx)に変換し、ドライブ上に保存する簡単なスクリプトを書いてみました。

スプレッドシートのIDの取得方法は下記サイトをご参照ください。

function myFunction() {
  var id = "(スプレッドシートのID)";
  var excel_file = ss2xlsx(id);
  if (excel_file !== undefined) {
    Logger.log("Name:" + excel_file.getName());
  }
}

//SpreadsheetをExcelファイルに変換してドライブに保存、Fileを返す
function ss2xlsx(spreadsheet_id) {
  var new_file;
  var url = "https://docs.google.com/spreadsheets/d/" + spreadsheet_id + "/export?format=xlsx";
  var options = {
    method: "get",
    headers: {"Authorization": "Bearer " + ScriptApp.getOAuthToken()},
    muteHttpExceptions: true
  };
  var res = UrlFetchApp.fetch(url, options);
  if (res.getResponseCode() == 200) {
    var ss = SpreadsheetApp.openById(spreadsheet_id);
    new_file = DriveApp.createFile(res.getBlob()).setName(ss.getName() + ".xlsx");
  }
  return new_file;
}

上記コードを実行すると、問題が無ければ同名のExcelファイルがドライブ上に作成されます。

下記サイトを参考にした処理ですが、こちらは変換したファイルを直接メール送信しています。

関連記事

日本標準時(JST)を取得するVBAマクロ前のページ

2019年7月の人気記事次のページ

関連記事

  1. Google関連

    Google Apps ScriptでVoiceText Web APIを呼び出す。

    ・モヤさまのショウ君にいろいろ喋らせるVBAマクロ(1)//www…

  2. Google関連

    Google Docs API v1を試してみました。

    下記TechCrunchの記事によると、Google ドキュメントの新…

  3. Office関連

    Google TTSで文字列を読み上げるExcelアドイン

    前回の記事で書いたGoogle TTSで文字列を読み上げるマクロ(言語…

  4. Office関連

    Google Docs APIを使ってGoogle ドキュメントを操作するVBAマクロ

    前回の記事で新しく追加されたGoogle Docs APIを紹介しまし…

  5. Google関連

    [Google Apps Script]Googleスライドのプレゼンテーションを他形式に変換する

    久しぶりにGASネタです。ドライブにある複数のプレゼンテーションを…

  6. Google関連

    [Google Apps Script]スプレッドシート上にウィンドウを表示する(2)

    Google Apps Scriptでスプレッドシート上にウィンド…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP