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