4

タスクは、メニュー オプション「ファイル | ダウンロード形式 | プレーン テキスト」によって実行される手動プロセスを自動化することです。

保存するファイル名をメニューから変更できないようにしたい。

これが呼び出された時点で、ユーザーはスプレッドシートのシートに座っています。最終的には、メニュー オプションにしますが、テストのために、手動で実行できる関数を作成しているだけです。

可能なテクニックについて他のいくつかのスレッドを読んだ後、これが私が思いついたものです。

ファイルのカスタム名を作成し、呼び出しを行い、応答コードは 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());
}
4

4 に答える 4

4

次のように、ローカル ハード ドライブにスプレッドシートを CSV として直接エクスポートしました。

  1. このページのチュートリアルの関数 convertRangeToCsvFile_() のバリエーションを使用して、現在のシートから CSV コンテンツを取得しますhttps://developers.google.com/apps-script/articles/docslist_tutorial#section3

    var csvFile = convertRangeToCsvFile_(...);
    
  2. 次に、ドライブを使用してローカル コンピューターに同期しているドライブ フォルダーを選択します。

    var localFolder = DocsList.getFolderById("055G...GM");
    
  3. 最後に、CSV ファイルを「ローカル」フォルダーに保存します。

    localFolder.createFile("sample.csv", csvFile);
    

それでおしまい。

于 2013-07-15T13:01:27.693 に答える
2

手動で 1 つずつ行うことなく、スプレッドシートのすべてのシートを csv にエクスポートする場合は、別のスレッドを参照してください。

Google ドライブ API を使用してスプレッドシートを csv 形式でダウンロードする

于 2014-04-05T19:29:34.553 に答える
0

ダウンロードはできます。しかし、コンピュータの「ハードドライブへの書き込み」ではありません。

書き込みの問題: Google Apps Script を使用して、コンピューターのハード ドライブにファイルを書き込むということですか? 申し訳ありませんが、これを行うには GAS 以外のものが必要です。セキュリティ上の理由から、これが GAS だけで可能であるとは思えません。GAS でこのようなことは見たことがありません。

Google Drive API を使用すると、ダウンロードを実行できます。必要なのは、OAuth と指定した URL だけです。

于 2013-07-15T03:31:17.030 に答える