タスクは、メニュー オプション「ファイル | ダウンロード形式 | プレーン テキスト」によって実行される手動プロセスを自動化することです。
保存するファイル名をメニューから変更できないようにしたい。
これが呼び出された時点で、ユーザーはスプレッドシートのシートに座っています。最終的には、メニュー オプションにしますが、テストのために、手動で実行できる関数を作成しているだけです。
可能なテクニックについて他のいくつかのスレッドを読んだ後、これが私が思いついたものです。
ファイルのカスタム名を作成し、呼び出しを行い、応答コードは 200 です。
理想的には、開く/保存ダイアログを避けたいと思います。つまり、追加のユーザー介入なしでファイルを保存するだけです。特定のフォルダに保存したいのですが、完全なファイル仕様で試しましたが、結果は同じです。
ロガーに表示された URL をコピーしてブラウザーに貼り付けると、開く/保存するダイアログが開始され、その文字列が機能します。
これが関数としてのコードです。
function testExportSheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var oSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var sId = ss.getId();
var ssID=sId + "&gid=" + oSheet.getSheetId();
var url = "https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key="
+ ssID + "&exportFormat=tsv";
Logger.log(url);
var fn = ss.getName() + "-" + oSheet.getSheetName() + ".csv";
var sHeaders = {"Content-Disposition" : "attachment; filename=\"" + fn + "\""};
var sOptions = {"contentType" : "text/html", "headers" : sHeaders};
Logger.log(sOptions);
x = UrlFetchApp.fetch(url, sOptions)
Logger.log(x.getResponseCode());
}