안녕하세요...
할줄아는 것이라곤, C/VB 에서도 기초밖에 없는 제가 그동안 excel VBA 로 잘 살아왔었는데,
최근에 부득이하게 구글 스프레드시트 를 써야하는 상황이 도래하였습니다.ㅡㅜ
그래서, 기존에 CSV file 을 자동으로 불러와서 저장하게 하던 부분을 스크립트로 작성해야 하는데,
저로써는 도저히 모르겠네요..
그나마 찾은 코드가 이거인데, 문제는
얘는 돌릴때마다, 계속해서 폴더에서 파일을 지정해서 가져와서 run 을 해야만 돌아갑니다.
아래와 같은 동작을 하는데,
이 파일(D:\workDB\raw.csv)을 자동으로 불러오도록 코드를 수정 할 수 있을까요?
그리고, 조금만 설명을 붙여주시면, 더욱 감사드리고요.
몇시간을 아래 코드를 보고 있어도... 저에겐, 그냥... ??왜?왜?왜?왜?왜?왜??? 만 계속 떠오르네요....(아래 코드가 돌아가는 이유도 모르는 바보..ㅡㅜ)
function doGet(e) {
var app = UiApp.createApplication().setTitle("Upload CSV to Sheet");
var formContent = app.createVerticalPanel();
formContent.add(app.createFileUpload().setName('thefile'));
formContent.add(app.createSubmitButton('Start Upload'));
var form = app.createFormPanel();
form.add(formContent);
app.add(form);
// return app;
SpreadsheetApp.getActiveSpreadsheet().show(app);// show app
}
function doPost(e) {
// data returned is a blob for FileUpload widget
var fileBlob = e.parameter.thefile;
// parse the data to fill values, a two dimensional array of rows
// Assuming newlines separate rows and commas separate columns, then:
var values = []
var rows = fileBlob.contents.split('\n');
for(var r=0, max_r=rows.length; r<max_r; ++r)
values.push( rows[r].split(',') ); // rows must have the same number of columns
// Using active sheet here, but you can pull up a sheet in several other ways as well
SpreadsheetApp.getActiveSheet()
.getRange( 1, 1, values.length, values[0].length )
.setValues(values);
}