スプレッドシートのファイルメニュー → 形式を指定してダウンロード → 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ファイルがドライブ上に作成されます。
下記サイトを参考にした処理ですが、こちらは変換したファイルを直接メール送信しています。





![[Google Apps Script]Googleスライドのプレゼンテーションを他形式に変換する](https://www.ka-net.org/blog/wp-content/uploads/eyecatch-Google-120x120.png)















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