質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

3015閲覧

GASでCSV出力すると、同じファイルが増えてしまう

JipvOvxMCyFrRX2

総合スコア18

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

1クリップ

投稿2019/09/25 02:52

下記スクリプトを実行すると、
指定したフォルダ内に同じCSVファイルが増えていってしまいます。

指定したフォルダはPCと同期していて、
CSVファイルの内容をエクセルに反映させたい為
CSVファイルが増えてしまっては困るので
どなたかご教示の程お願いいたします。


//ダイアログ用のグローバル変数
var url = "";

//CSVエクスポートするルーチン
function exportcsv(){
//データを取得
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var ui = SpreadsheetApp.getUi();
var range = sheet.getSheetByName("シート名").getDataRange().getValues(); //シート名
var targetFolder = "保存先のフォルダーID"; //保存先のフォルダーID

if(range.length >= 1){
}else{
ui.alert("データがありません。");
return 0;
}

//csvデータをshif-jisに変換
var csvData = csvchange(range);
var filename = sheet.getSheetByName("シート名").getSheetName(); //シート名
var blob = Utilities.newBlob("", "text/comma-separated-values", filename + ".csv").setDataFromString(csvData, "Shift_JIS");

//blobデータをcsvファイルとしてドライブに保存
var fileid = DriveApp.getFolderById(targetFolder).createFile(blob).getId();

//ダウンロードリンクを生成
url = "https://drive.google.com/uc?export=download&id=" + fileid;

}

//CSVデータ形式に整える関数
function csvchange(data){

var folder = DriveApp.getFolderById("1k5LBZJZf6TJ9fc-hfO3atiloGUUN9stz");
var sheet = DriveApp.getFileById("1sVd88MCZZhYtTsQPvFNkEFHXkAXwVN1t1UhmAuiJqyc");
folder.removeFile(sheet);

var rowlength = data.length;
var columnlength = data[0].length;
var csvdata = "";
var csv = "";

for(var i = 0;i<rowlength;i++){
if (i < rowlength-1) {
csvdata += data[i].join(",") + "\r\n";
}else{
csvdata += data[i];
}
}

return csvdata;
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

papinianus

2019/09/25 10:19

前のファイルを消したいのか、前のファイルの内容を書き換えたいのか、どちらですか?
guest

回答1

0

自己解決

別の方法で出力できました。
https://qiita.com/erik_t/items/e634c9d549e93e5badd5

投稿2019/10/10 05:30

JipvOvxMCyFrRX2

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問