ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
【GAS】CSVファイルをローカル(パソコン)に出力する方法(Gスプレッドシート)
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- Googleドライブのフォルダ内のファイル名を取得する方法がわかります。
- CSVファイルを読み込む方法がわかります。
なので、サクッとマスターして
と答えてあげてください。
動画はこちら
準備中
シートはこちら
準備中
*クリックすることでシートが開きます。(コピーしてお使いください)
スクリプト
/**
* フォルダ内のすべてのCSVファイルをシートに出力する
* (ファオルダ内にCSVファイル以外の場合は未対応)
*/
function ReadCsvFromFolder() {
const FOLDER_ID = 'フォルダID' //★フォルダID
// 「csv」フォルダを取得
const folder = DriveApp.getFolderById(FOLDER_ID)
const files = folder.getFiles()
// アクティブなスプレッドシートを取得
const ss = SpreadsheetApp.getActiveSpreadsheet()
//フォルダのループ
while (files.hasNext()) {
const file = files.next()
const fileId = file.getId()
//ファイル名の取得
let fname = file.getName()
console.log(fname)
// CSVファイルを取得
const blob = DriveApp.getFileById(fileId).getBlob()
// CSVデータをUTF-8エンコーディングで読み込む
// const csv = blob.getDataAsString('SJIS')
const csv = blob.getDataAsString('utf-8')
// CSVデータが空でないか確認
if (csv.trim() === "") {
console.log("CSVデータが空です。")
continue
}
const values = Utilities.parseCsv(csv)
console.log(values)
if (values.length > 0) {
let newsh = ss.insertSheet(fname) //ファイル名をシート名にしてシートを作成
newsh.getRange(1, 1, values.length, values[0].length).setValues(values)
console.log(values.length) //行数
}
}
}
ポイント
最後までご覧いただきありがとうございます。
つぎはこちら
【GAS】締切日に応じてリマインダーを送る方法(サンプル付き)
参考
GASでGoogle Driveに取り込んだCSVファイルをスプレッドシートに自動転記する(文字化けの解消も含む)
コメント