10列のデータを含むGoogleスプレッドシートがあります。列A、C、E、Fをcsvとしてエクスポートしたいと思います。スプレッドシート全体をエクスポートする必要はありません。これはできますか? Googleスクリプトを使用しても構いません。
スクリプトでファイルを渡すことはできません(まあ、メールで送ることもできますが、これは行き過ぎだと思います)。 「csvとして保存」メニューコマンドを使用する必要があります。現在のシートのみが保存されるため、これらの列のみを含むシートを作成する必要があります。
簡単な方法は、新しいシートを作成し、セルA1に入力するだけです。
={'My Sheet'!A:A, 'My Sheet'!C:C, 'My Sheet'!E:F}
これを頻繁に行う必要がある場合、すべての場所でシート名を使用してこのすべてを再入力すると、古くなってしまいます。これは、スクリプトが役立つ場所です。以下は、単純に入力することを想定した関数です
My Sheet,A,C,E,F
セルA1に入力し、この入力を数式に変換します。
function csv() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getRange(1, 1).getValue().split(',');
var formula = [];
for (i = 1; i < data.length; i++) {
formula.Push("'" + data[0] + "'!" + data[i] + ':' + data[i]);
}
sheet.getRange(1, 1).setFormula('={' + formula.join(',') + '}');
}