アクティブなGoogleスプレッドシートを.xlsxファイルに変換する関数を以下に示します。スクリプトはファイルをGoogleドライブに保存します。スクロールシートをローカルコンピュータの.xlsxとしてイベント
function downloadAsXlsx() {
var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
var ssID = spreadSheet.getId();
Logger.log(ssID);
var url = "https://docs.google.com/spreadsheets/d/"+ssID+"/export?format=xlsx";
var params = {method:"GET", headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}};
var response = UrlFetchApp.fetch(url, params);
// save to drive
DriveApp.createFile(response);
}
あなたがアクティブなGoogleスプレッドシートの実際のファイルIDで上記URLにSSIDを交換し、ブラウザにURLをコピーして貼り付ける場合は、アクティブなスプレッドシートが「自動」にダウンロードされます。それはまさに私が上記のスクリプトに追加する必要があるものです。
私の質問は、ファイルを代わりにデフォルトのダウンロードフォルダのローカルマシンにダウンロードするように、上記の機能を変更および/または拡張する方法です。
注:お客様の質問にリンクされている回答は、クライアント側のJavaScriptです。ご質問はGoogle Apps Scriptに関するものです。 – Mogsdad
私を正しい方向に向けるThx。私はあなたが来る時に述べた質問の答えを試してみるでしょう。 – juseit
@Mogsdad注:自分の質問に重複しているとマークしました。実際、あなたが指している質問に対する答えは、上のスクリプトと同じことをしています:拡張子.xlsxの新しいファイルをGoogleドライブに作成する。それはOKですが、私が必要とするのは、このファイルをローカルマシン上のフォルダに自動的にダウンロードさせることです。実際には、上記のように、ssIDをURLのDrive内の既存のファイルの実際のファイルIDに置き換えて、ブラウザにURLをコピーして貼り付けると、正しいファイルがダウンロードされます。それが私の必要なものです。あなたもその部分で私を助けてくれることを願っています。 – juseit