Googleフォルダに12枚のシートがあります。以下のスクリプトを使用して、各ファイルの最初のタブを新しいスプレッドシートにコピーすることができます。 しかし、すべてのデータを1つのタブにコピーし、csvファイルとして共有ドライブ(Google Appsではなく)にダウンロードしてもらいたい。データの形式は常に同じです。たまに行数がシートごとに異なる場合があります。複数のタブをマージし、CSV形式でダウンロード
また、将来のエラーを避けるために、数字の代わりに名前に基づいてタブを選択したいと考えています。どのようにこの問題に取り組むべきですか?
function mergeSheets() {
/* Retrieve the desired folder */
var myFolder = DriveApp.getFoldersByName('name of folder').next();
/* Get all spreadsheets that resided on that folder */
var spreadSheets = myFolder.getFilesByType("application/vnd.google- apps.spreadsheet");
/* Create the new spreadsheet that you store other sheets */
var newSpreadSheet = SpreadsheetApp.create("Merged Sheets");
/* Iterate over the spreadsheets over the folder */
while(spreadSheets.hasNext()) {
var sheet = spreadSheets.next();
/* Open the spreadsheet */
var spreadSheet = SpreadsheetApp.openById(sheet.getId());
/* Get all its sheets */
// for(var y in spreadSheet.getSheets()) {
/* Copy the sheet to the new merged Spread Sheet */
spreadSheet.getSheets()[0].copyTo(newSpreadSheet);
// }
}
}
ありがとう、これは魅力のように動作します!少し質問がありますが、マージされたシートの日付形式の日付を持つ列を取得するにはどうすればよいですか? – mrtn
getRange( 'A2:A')で範囲を定義するなど、[setNumberFormat](https://developers.google.com/apps-script/reference/spreadsheet/range#setnumberformatnumberformat) )をcol 'A'に設定し、その範囲の形式を「mm/dd/yyyy」に設定して、列Aに日付をmm/dd/yyyyとして表示します。 –