Google Apps Script恧CSVćƒ•ć‚”ć‚¤ćƒ«ć‚’å–ć‚Šę‰±ć†

Googleć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć‚’ä½æē”Øć—ć¦ć„ć¦ć¶ć¤ć‹ć‚‹åŽ„ä»‹ćŖå•é”ŒćŒCSVćƒ•ć‚”ć‚¤ćƒ«ć®å–ć‚Šę‰±ć„ć«é–¢ć™ć‚‹å•é”Œć€‚äø»ć«ć€Googleć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć‹ć‚‰ć‚Øć‚Æć‚¹ćƒćƒ¼ćƒˆć—ćŸCSVćƒ•ć‚”ć‚¤ćƒ«ć‚’Excel恧čŖ­ćæč¾¼ć‚ćŖć„å•é”Œć‚„ć€é€†ć«å¤§é‡ć®CSVćƒ•ć‚”ć‚¤ćƒ«ć‚’ć‚¤ćƒ³ćƒćƒ¼ćƒˆć‚’čŖ­ćæč¾¼ćæ恟恄ļ¼ˆć—ć‹ć‚‚ćƒ­ćƒ¼ć‚«ćƒ«PC恋悉ļ¼‰ćØćŖ悋ćØ态非åøøć«čžé€šć®åŠ¹ć‹ćŖć„ć‚¢ćƒ—ćƒŖć‚±ćƒ¼ć‚·ćƒ§ćƒ³ć ćŖćØä»Šć§ć‚‚ę€ć„ć¾ć™ć€‚

ć“ć‚Œć‚‰ć®å•é”ŒćÆć€å‰č€…ćÆGoogleć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć‹ć‚‰ć‚Øć‚Æć‚¹ćƒćƒ¼ćƒˆć•ć‚Œć‚‹ćƒ†ć‚­ć‚¹ćƒˆćŒUTF-8恧ć‚Øćƒ³ć‚³ćƒ¼ćƒ‰ć•ć‚ŒćŸć‚‚ć®ć§ć€å–ć‚Šåˆ†ć‘ę—„ęœ¬ć‚„EXCEL恧ꙮ通恫ꉱ恆Shift-JIS恧ć‚Øćƒ³ć‚³ćƒ¼ćƒ‰ć•ć‚ŒćŸCSVćƒ•ć‚”ć‚¤ćƒ«ć§ćÆćŖć„ć‹ć‚‰čµ·ćć€å¾Œč€…ćÆ恝悂恝悂ęؙęŗ–ę©Ÿčƒ½ć ćØļ¼‘å€‹ćšć¤ć—ć‹čŖ­ćæč¾¼ć‚ćŖ恄ćŖć©ć®ä»•ę§˜ćŒć‚ć‚‹ć‹ć‚‰ć§ć™ć€‚å¾Œč€…ć®č¤‡ę•°ćƒ•ć‚”ć‚¤ćƒ«ć‚’čŖ­ćæč¾¼ć‚€ä»¶ć«é–¢ć—ć¦ćÆ态Google Picker API悒ä½æć£ćŸćƒ‰ćƒ©ć‚¤ćƒ–ć‹ć‚‰č¤‡ę•°ćƒ•ć‚”ć‚¤ćƒ«ć®čŖ­ćæč¾¼ćæ悄态HTML5ć‚’åˆ©ē”Øć—ćŸćƒ­ćƒ¼ć‚«ćƒ«PC恋悉複ꕰčŖ­ćæč¾¼ć‚€ę‰‹ę³•ć‚’ä½æćˆć°č”Œć‘ć¾ć™ć€‚

ā€»äø€éƒØć®ć‚³ćƒ¼ćƒ‰ć§äøå…·åˆćŒå‡ŗć¦ć„ćŸć®ć§ć€äæ®ę­£ć™ć‚‹ćØćØć‚‚ć«ć€č”Œåˆ—å…„ę›æćˆć‚¤ćƒ³ćƒćƒ¼ćƒˆć®ć‚³ćƒ¼ćƒ‰ć‚’čæ½åŠ ć—ć¾ć—ćŸć€‚

é›£ę˜“åŗ¦ļ¼š


ęŗ–å‚™ć™ć‚‹ć‚‚ć®

  1. 今回ä½æē”Øć™ć‚‹ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆ
  2. 今回ä½æē”Ø恙悋csvćƒ•ć‚”ć‚¤ćƒ«
  3. DriveAppć‚Æćƒ©ć‚¹ć®getDataAsStringē­‰
  4. Utilitiesć‚Æćƒ©ć‚¹ć®newBlobćƒ”ć‚½ćƒƒćƒ‰ć‚„setDataFromStringćƒ”ć‚½ćƒƒćƒ‰
  5. Utilitiesć‚Æćƒ©ć‚¹ć®parseCsvćƒ”ć‚½ćƒƒćƒ‰

CSVć®ę–‡å­—ć‚³ćƒ¼ćƒ‰ć‚’ē¢ŗčŖć™ć‚‹

äø–恮äø­ć«ćÆå¤§ććć‚ć‘ć¦ć€2恤恮CSVćƒ•ć‚”ć‚¤ćƒ«ćŒå­˜åœØć—ć¾ć™ć€‚ćć‚ŒćÆę–‡å­—ć‚³ćƒ¼ćƒ‰ćŒUTF-8恮CSVćØ态Shift-JIS恮CSV怂äø”者ćÆč¦‹ćŸē›®ćÆåŒć˜ć§ć‚‚ć€ć‚³ćƒ³ćƒ”ćƒ„ćƒ¼ć‚æć§ę‰±ć†å “åˆć€ę–‡å­—åŒ–ć‘ćŖć©ćŒē™ŗē”Ÿć™ć‚‹åŽŸå› ćØćŖć‚‹ć®ć§ć€å–ć‚Šč¾¼ć‚€å “åˆć«ćÆäŗ‹å‰ć«ćć®CSVć®ę–‡å­—ć‚³ćƒ¼ćƒ‰ć‚’ć‚ˆćč€ƒę…®ć™ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚ļ¼ˆå¤ć„ć‚Ŗćƒ•ć‚³ćƒ³ć ćØEUCćŖć‚“ć¦ć‚‚ć®ć‚‚ć‚ć£ćŸć‚Šć—ć¾ć™ćŒļ¼‰

ę–‡å­—ć‚³ćƒ¼ćƒ‰ć®ē¢ŗčŖę–¹ę³•ć§ć™ćŒć€Windowsć®å “åˆćÆćƒ”ćƒ¢åø³ć§é–‹ćē¢ŗčŖć§ćć¾ć™ć€‚åå‰ć‚’ä»˜ć‘ć¦äæå­˜ć‚’恙悋ćØć€ę–‡å­—ć‚³ćƒ¼ćƒ‰ćŒäø‹ć«č”Øē¤ŗć•ć‚Œć¦ć„ć¾ć™ć€‚ć“ć‚ŒćŒANSIćŖ悉恰通åøøćÆShift-JIS恧恂悍恆ćØę€ć‚ć‚Œć¾ć™ć€‚EUCćŖć©ć®ä»–ć®ę–‡å­—ć‚³ćƒ¼ćƒ‰ć®å “åˆćÆę‰±ć„ć«ćć„ć®ć§ć€ć§ćć‚Œć°GASć§å–ć‚Šč¾¼ć‚€å‰ć«ć€UTF-8ć«å¤‰ę›ć—ć¦ćŠć„ćŸć»ć†ćŒćƒˆćƒ©ćƒ–ćƒ«ćÆ少ćŖ恄ćØę€ć„ć¾ć™ć—ć€å¾Œčæ°ć®getDataAsString悒ä½æć‚ćšć«ęøˆć‚€ć®ć§ć€ę„½ć§ć™ć€‚

図ļ¼šANSIćŖ悉恰Shift-JIS恧恂悍恆

CSVćƒ•ć‚”ć‚¤ćƒ«ć‚’ć‚¤ćƒ³ćƒćƒ¼ćƒˆć™ć‚‹ć‚³ćƒ¼ćƒ‰

ꙮ通恫CSVćƒ•ć‚”ć‚¤ćƒ«ć‚’ć‚¤ćƒ³ćƒćƒ¼ćƒˆć™ć‚‹

  • 仄前ćÆ态Google Developerć§å…¬é–‹ć—ć¦ć„ćŸć€ŒCSVToArrayé–¢ę•°ć€ć‚’å–ć‚Šč¾¼ć‚“ć§å¤‰ę›ć—ć¦ć„ć¾ć—ćŸćŒć€ē¾åœØćÆ态Utilities.parseCsvć§å‡¦ē†ćŒå‡ŗę„ć‚‹ć‚ˆć†ć«ćŖć£ć¦ć„ć¾ć™ć€‚
  • ä»Šå›žć®ć‚³ćƒ¼ćƒ‰ćÆęŒ‡å®šćƒ•ć‚©ćƒ«ćƒ€å†…ć®CSV悒DriveApp恧å…Øć¦ę‹¾ć£ć¦ć€å–ć‚Šč¾¼ć‚€ć‚³ćƒ¼ćƒ‰ć«ćŖć£ć¦ć„ć¾ć™ć€‚ć¾ćØ悁恦态CSVćƒ•ć‚”ć‚¤ćƒ«ć‚’å–ć‚Šč¾¼ć‚€äŗ‹ćŒåÆčƒ½ć§ć™ć€‚
  • Excelęؙęŗ–恮CSVćÆShift-JISćŖ恮恧态getDataAsString恫恦Shift_JISć‚’ęŒ‡å®šć—ć¦å–ć‚Šč¾¼ćæć¾ć™ć€‚ä»Šå›žć®ćƒ•ć‚”ć‚¤ćƒ«ćÆUTF-8ćŖ恮恧态UTF-8ć§ęŒ‡å®šć—ć¦ć„ć¾ć™ć€‚ćŸć ć—ć€Excel2016恏悉恄恋悉ęؙęŗ–ćŒUTF-8恫ćŖć£ć¦ćŸć‚Šć™ć‚‹ć®ć§ć€CSVć®ę–‡å­—ć‚³ćƒ¼ćƒ‰ć‚’ć‚ˆćē¢ŗčŖć—恦čØ­å®šć—ć¾ć—ć‚‡ć†ć€‚
  • ęŒ‡å®šćƒ•ć‚©ćƒ«ćƒ€å†…ćƒ•ć‚”ć‚¤ćƒ«ć ć‘ć‚’å–ć‚Šč¾¼ć‚€ē‚ŗ态DriveApp.searchFiles悒ä½æć£ć¦ćƒ•ć‚”ć‚¤ćƒ«ć‚’å–ć‚Šå‡ŗć™å “åˆć«ćÆ态DriveApp.searchFiles(“‘”+csvFolderkey+”‘ in parents”)悒ä½æć„ć¾ć™ć€‚ćŸć ć“ć®ć‚³ćƒ¼ćƒ‰ć ćØęŒ‡å®šćƒ•ć‚©ćƒ«ćƒ€ć«csvä»„å¤–ć®ćƒ•ć‚”ć‚¤ćƒ«ćŒć‚ć£ć¦ć‚‚å–ć‚Šč¾¼ć‚‚ć†ćØć—ć¦ć—ć¾ć†ć®ć§ę³Øꄏļ¼ļ¼
  • CSVć ć‘ć‚’ćć£ć”ć‚Šå–ć‚Šå‡ŗć™å “åˆć«ćÆ态MIMETYPEęŒ‡å®šć§DriveApp.getFolderById(ćƒ•ć‚©ćƒ«ćƒ€ID).getFilesByType(MimeType.CSV);悒ä½æ恆ćØćƒ•ć‚£ćƒ«ć‚æć—ć¦å–ć‚Šå‡ŗć—ć¦ćć‚Œć¾ć™ć€‚

V8ć®ćƒć‚°å›žéæ恮ē‚ŗć®ć‚³ćƒ¼ćƒ‰

今ē¾åœØ悂V8ē§»č”Œć§å‹•ć‹ćŖ恄态Googleå“ćŒäæ®ę­£ć—恦恄ćŖ恄ē‚ŗćƒć‚°ć®ć¾ć¾å–ć‚Šę®‹ć•ć‚Œć¦ć‚‹ć‚±ćƒ¼ć‚¹ćŒę•£č¦‹ć•ć‚Œć¾ć™ć€‚ćć®ć†ć”ć®ļ¼‘恤恫态CSV恮åŒŗåˆ‡ć‚Šę–‡å­—ć®ćƒˆćƒ©ćƒ–ćƒ«ćŒć‚ć‚Šć¾ć™ć€‚ć“ć®å “åˆparseCsv悒ä½æ恆恫ćÆ仄äø‹ć®ć‚ˆć†ć«ć‚³ćƒ¼ćƒ‰ć‚’å¤‰ę›“恙悋åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚

  • delimiter恌åŒŗåˆ‡ć‚Šę–‡å­—ć€‚é€šåøøćÆć‚«ćƒ³ćƒžćŖć®ć§ć€ęŒ‡å®šć—ćŖćć¦ć‚‚č‰Æć„ć®ć§ć™ćŒ
  • 恓恮åŒŗåˆ‡ć‚Šę–‡å­—ćŒć‚»ćƒŸć‚³ćƒ­ćƒ³ćŖ恩ē‰¹ę®ŠćŖć‚±ćƒ¼ć‚¹ć§ćÆä»Šå›žć®ć‚ˆć†ćŖå·„å¤«ćŒåæ…要恫ćŖć‚Šć¾ć™ć€‚

CSVToArrayé–¢ę•°ć«ć¤ć„ć¦

ć‹ć¤ć¦åˆ©ē”Øć—ć¦ć„ćŸCSVToArrayé–¢ę•°ćÆ仄äø‹ć®ć‚ˆć†ćŖć‚³ćƒ¼ćƒ‰ć€‚ćƒ†ć‚­ć‚¹ćƒˆćƒ‡ćƒ¼ć‚æćŒé…åˆ—ć«ćŖć£ć¦čæ”ć£ć¦ćć‚‹éžåøø恫ä¾æ利ćŖć‚³ćƒ¼ćƒ‰ć§ć—ćŸć€‚V8恧parseCsv悒ä½æć£ćŸå “åˆć€åŒŗåˆ‡ć‚Šę–‡å­—ęŒ‡å®šć§å–ć‚Šč¾¼ć‚ćŖ恄惐悰恌å‡ŗć¦ć„ć‚‹ć‚±ćƒ¼ć‚¹ć§ćÆć€ć“ć®é–¢ę•°ć«ē½®ćę›ćˆć‚‹ćØå–ć‚Šč¾¼ć‚ć‚‹ć®ć§ć€ē¾åœØć‚‚ćƒć‚°å›žéæ恮ꉋꮵćØć—ć¦ć‚‚åˆ©ē”Øå‡ŗę„ć¾ć™ć€‚

ćƒ‡ćƒ¼ć‚æć®č”Œåˆ—ć‚’å…„ę›æćˆć¦ć‚¤ćƒ³ćƒćƒ¼ćƒˆć™ć‚‹

ć‚Øć‚Æć‚»ćƒ«ć§ć‚‚ć‚ˆćć€ćƒ‡ćƒ¼ć‚æć®č”Œåˆ—ć‚’å…„ę›æćˆć¦č²¼ć‚Šä»˜ć‘ć‚’č”Œć„ć¾ć™ć€‚ē°”å˜ć«č”Œć†é–¢ę•°ćØ恗恦态Transposeé–¢ę•°ćŖć©ćŒć‚ć‚Šć¾ć™ć­ć€‚ć—ć‹ć—ć€å¤§é‡ć«ć‚¤ćƒ³ćƒćƒ¼ćƒˆć™ć‚‹å “åˆć€ę™®é€šć«ć‚¤ćƒ³ćƒćƒ¼ćƒˆć‚’ēµ‚ćˆć¦ć‹ć‚‰ę‰‹å‹•ć§ć“ć‚Œć‚‰ć®ä½œę„­ć‚’č”Œć†ć®ćÆäøä¾æć§ć™ć€‚ćć“ć§ć€ć‚¤ćƒ³ćƒćƒ¼ćƒˆę™‚ć«ćć‚‚ćć‚‚č”Œåˆ—å…„ę›æćˆć¦č²¼ć‚Šä»˜ć‘ć‚‰ć‚ŒćŸć‚‰ć€ę‰‹é–“ćŒćŖ恏ćŖć‚Šć¾ć™ć€‚

ä»Šå›žć®ć‚³ćƒ¼ćƒ‰ćÆćć‚Œć‚’å®Ÿē¾ć™ć‚‹ć‚³ćƒ¼ćƒ‰ć§ć™ć€‚

  • 途äø­ć¾ć§ćÆ通åøøć‚¤ćƒ³ćƒćƒ¼ćƒˆćØåŒć˜ć‚³ćƒ¼ćƒ‰ć§ć™ćŒć€ęœ€å¾Œć®ę›øćč¾¼ćæꙂ恮éƒØåˆ†ć§ć€é…åˆ—ć®č”Œåˆ—ć‚’å…„ę›æćˆć¦č²¼ć‚Šä»˜ć‘ć¦ć„ć¾ć™ć€‚

ē‰¹å®šć®ę”ä»¶ć«åˆč‡“ć™ć‚‹ćƒ¬ć‚³ćƒ¼ćƒ‰ć ć‘å–ć‚Šč¾¼ćæ恟恄

CSVćƒ‡ćƒ¼ć‚æ恮ē‰¹å®šć®åˆ—ć«ć‚ć‚‹å€¤ćŒć‚ć‚‹å “åˆć«ćÆå–ć‚Šč¾¼ćæåÆ¾č±”ć‹ć‚‰é™¤å¤–ć—ćŸć„ćØć„ć£ćŸć‚ˆć†ćŖć€ę”ä»¶ć‚’ć¤ć‘ć¦CSVć‚’ć‚¤ćƒ³ćƒćƒ¼ćƒˆć—ćŸć„ć‚±ćƒ¼ć‚¹ćÆćƒ«ćƒ¼ćƒ—ć®äø­ć§ę¤œčØ¼ć—ć¦åˆ„ć«ē”Øę„ć—ćŸé…åˆ—ć«ćƒ¬ć‚³ćƒ¼ćƒ‰å˜ä½ć§pushć—ć€ćć®é…åˆ—ć‚’ę›øćč¾¼ćæåÆ¾č±”ć«ć™ć‚Œć°OK恧恙怂

ä»Šå›žć€22-xćØć„ć†ę–‡å­—åˆ—ćŒå…„ć£ć¦ć‚‹ćƒ¬ć‚³ćƒ¼ćƒ‰ćÆ除外ćØć„ć†ę”ä»¶ć§ć‚³ćƒ¼ćƒ‰ć‚’ä½œć‚Šć¾ć—ćŸć€‚ä½æē”Øć—ćŸćƒ•ć‚”ć‚¤ćƒ«ćÆ恓恔悉恧恙怂

  • å–ć‚Šč¾¼ćæ恟恄CSVćƒ•ć‚”ć‚¤ćƒ«ć®IDć‚’ęŒ‡å®šć—ć¾ć™ć€‚
  • ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’1č”Œćšć¤å–ć‚Šå‡ŗ恗态indexOfć§å…„ć£ć¦ć‚‹ć‹ć©ć†ć‹ć‚’ćƒć‚§ćƒƒć‚Æć€‚å…„ć£ć¦ć„ćŖć„å “åˆćÆå–ć‚Šč¾¼ćæåÆ¾č±”ćØćŖ悋ļ¼ˆ-1恌čæ”ć£ć¦ćć‚‹ļ¼‰
  • å–ć‚Šå‡ŗć—ćŸćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’åˆ„ć«ē”Øꄏ恗恟态array恫push恙悋
  • ęœ€å¾Œć«arrayć‚’ć‚·ćƒ¼ćƒˆć«ę›øćč¾¼ć‚€

åæ…要ćŖåˆ—ć ć‘ć‚’ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć«ę›øćč¾¼ćæ恟恄

CSVćƒ‡ćƒ¼ć‚æå–ć‚Šč¾¼ćæ恫恤恄恦态åæ…恚恗悂CSV恮å…Øćƒ‡ćƒ¼ć‚æ悒åæ…要ćØć—ć¦ć‚‹ć‚±ćƒ¼ć‚¹ćÆ少ćŖ恄ćØę€ć„ć¾ć™ć€‚ę—¢å­˜ć®ć‚·ćƒ¼ćƒˆć«ē”Øę„ć•ć‚ŒćŸåˆ—ć«åæ…要ćŖåˆ—ć®ćƒ‡ćƒ¼ć‚æ恠恑悒ę›øćč¾¼ćæ恟恄恓ćØćÆć¾ć¾ć‚ć‚Šć¾ć™ć€‚ćć†ć„ć£ćŸå “åˆć€CSVå–ć‚Šč¾¼ćæć§å–å¾—ć—ćŸćƒ‡ćƒ¼ć‚æć‚’ćć®ć¾ć¾ę›øćč¾¼ć‚€ć‚ć‘ć«ćÆ恄恋ćŖć„ć®ć§ć€é…åˆ—ę“ä½œć§åæ…要ćŖåˆ—ć ć‘ć§ę–°ćŸćŖé…åˆ—ć‚’ē”Øꄏ恗态恝悌悒ę›øćč¾¼ć‚€ć‚ˆć†ć«ć—ć¾ć™ć€‚

  • ę›øćč¾¼ćæē”Ø恫arrayćØć„ć†é…åˆ—ć‚’ē”Øꄏ恙悋
  • ć¾ćŸć€äø€ę™‚処ē†ē”Ø恮tempArrayćØć„ć†é…åˆ—ć‚‚ē”Øꄏ恙悋怂ē”Øę„ć™ć‚‹ä½ē½®ć«ę³Øꄏ怂
  • 配列ćÆ1列ē›®ćÆ0ć‹ć‚‰å§‹ć¾ć‚‹ć®ć§č¦ę³Øꄏ怂3ćŖ悉恰4列ē›®ćØćŖć‚Šć¾ć™ć€‚
  • csvData恧ćÆćŖ恏array悒ę›øćč¾¼ć‚€ć‚ˆć†ć«ć™ć‚‹

CSVćƒ•ć‚”ć‚¤ćƒ«ć‚’ć‚Øć‚Æć‚¹ćƒćƒ¼ćƒˆć™ć‚‹ć‚³ćƒ¼ćƒ‰

GASå“ć‚³ćƒ¼ćƒ‰ļ¼ˆé€šåøøē‰ˆļ¼‰

  • csvchangeé–¢ę•°ćÆCSVToArrayä»˜å±žć®é–¢ę•°ć‚’ä½æć„ć¾ć—ćŸć€‚
  • Excelęؙęŗ–ćÆShift-JIS恧恙恮恧态ć‚Øć‚Æć‚¹ćƒćƒ¼ćƒˆć™ć‚‹ę™‚ć‚‚ę–‡å­—ć‚³ćƒ¼ćƒ‰ćØ恗恦setDataFromString恫恦Shift_JISć‚’ęŒ‡å®šć—ć¾ć™ć€‚
  • Utilities.newBlob恫恦å‡ŗåŠ›ć™ć‚‹ćƒ‡ćƒ¼ć‚æ恮MIMETYPEćØ恗恦text/comma-separated-valuesć‚’ęŒ‡å®šć—ć¾ć™ć€‚
  • Google Driveć‹ć‚‰ć®ćƒ•ć‚”ć‚¤ćƒ«ē›“ćƒ€ć‚¦ćƒ³ćƒ­ćƒ¼ćƒ‰ćÆ态https://drive.google.com/uc?export=download&id=恫ē¶šć‘ć¦ćƒ•ć‚”ć‚¤ćƒ«ID悒恤ćŖ恒悌恰ē°”å˜ć«ä½œć‚Œć¾ć™ć€‚

GASå“ć‚³ćƒ¼ćƒ‰ļ¼ˆå¤‰ę›ē‰ˆļ¼‰

  • ć“ć”ć‚‰ć®ć‚³ćƒ¼ćƒ‰ćÆ态PDFå¤‰ę›ćŖ恩恧ä½æ恆Googleć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆęؙęŗ–ę©Ÿčƒ½ć‚’åˆ©ē”Øć—ć¦å¤‰ę›ć™ć‚‹ć‚³ćƒ¼ćƒ‰ć§ć™ć€‚
  • ćć®ć¾ć¾ć ćØUTF-8å½¢å¼ć®CSV恌å‡ŗåŠ›ć•ć‚Œć¾ć™ć€‚
  • Access Token恌åæ…要ćŖ恮恧态getOAuthTokené–¢ę•°ć‚’åˆ©ē”Øć—ć¦ć„ć¾ć™ć€‚

HTMLå“ć‚³ćƒ¼ćƒ‰

ćƒ€ć‚¤ćƒ¬ć‚Æ惈恫ē”Ÿęˆć—ćŸCSVć‚’ćƒ€ć‚¦ćƒ³ćƒ­ćƒ¼ćƒ‰ćŒå‡ŗę„ćŖ恄恮恧态HTML Serviceć§ćƒ€ć‚¤ć‚¢ćƒ­ć‚°ć‚’ä½œć‚Šć€ćƒ€ć‚¦ćƒ³ćƒ­ćƒ¼ćƒ‰ć•ć›ć‚‹ć‚ˆć†ć«ć—ć¦ć„ć¾ć™ć€‚å–å¾—ćƒ‡ćƒ¼ć‚æćÆćƒ‰ćƒ©ć‚¤ćƒ–ć«ę ¼ē“ć•ć‚Œć¦ćŠć‚Šć€ē”Ÿęˆć•ć‚ŒćŸćƒŖćƒ³ć‚Æ悒ć‚ÆćƒŖ惃ć‚Æ恙悋ćØćƒ€ć‚¦ćƒ³ćƒ­ćƒ¼ćƒ‰ćŒå§‹ć¾ć‚Šć¾ć™ć€‚

図ļ¼šćƒ€ć‚¦ćƒ³ćƒ­ćƒ¼ćƒ‰ć‚’ć‚ÆćƒŖ惃ć‚Æ恙悋ćØCSVćƒ•ć‚”ć‚¤ćƒ«ćŒå…„ę‰‹å‡ŗę„ć‚‹

å®Ÿč”ŒćØēµęžœ

ä»Šå›žć®ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć«ćÆ4ć¤ć®ć‚³ćƒ¼ćƒ‰ćŒå…„ć£ć¦ć„ć¾ć™ć€‚ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®ćƒ”ćƒ‹ćƒ„ćƒ¼ć‚ˆć‚Šć€ć€ŒCSVćƒ”ćƒ‹ćƒ„ćƒ¼ć€ć‚ˆć‚Šå®Ÿč”Œć—ć¾ć™ć€‚GASå†…ć§ęŒ‡å®šć—ć¦ć‚‹ćƒ•ć‚©ćƒ«ćƒ€ć®IDć‚’å…ƒć«äø€ę‹¬å–ć‚Šč¾¼ćæćØć‚Øć‚Æć‚¹ćƒćƒ¼ćƒˆć‚’å®Ÿč£…ć—ć¦ć„ć¾ć™ć€‚

  1. ć‚Øć‚Æć‚¹ćƒćƒ¼ćƒˆ – 通åøø恮CSVćƒ•ć‚”ć‚¤ćƒ«ē”Ÿęˆć‚’恗恦ć‚Øć‚Æć‚¹ćƒćƒ¼ćƒˆć—ć¦ć„ć¾ć™ļ¼ˆShif-JIS形式ļ¼‰
  2. ć‚Øć‚Æć‚¹ćƒćƒ¼ćƒˆćć®2 – PDFē”Ÿęˆć®ćØćć«ć‚‚åˆ©ē”Ø恗恦悋UrlfetchAppć‚’åˆ©ē”Ø恗恦å‡ŗ力ļ¼ˆUTF-8形式ļ¼‰
  3. ć‚¤ćƒ³ćƒćƒ¼ćƒˆ – 通åøø恮CSVćƒ•ć‚”ć‚¤ćƒ«ć‚’Utilities.parseCSV悒ä½æć£ć¦äø€ę‹¬å–ć‚Šč¾¼ćæ
  4. č”Œåˆ—å…„ę›æć‚¤ćƒ³ćƒćƒ¼ćƒˆ – ć‚¤ćƒ³ćƒćƒ¼ćƒˆę™‚ć«č”Œåˆ—ć‚’å…„ę›æ恈恦äø€ę‹¬ć‚¤ćƒ³ćƒćƒ¼ćƒˆć—ć¾ć™ć€‚

ćƒć‚¤ćƒ³ćƒˆ

  1. getContentAsString()ćÆä½æē”Ø恗ćŖ恄怂UTF-8恧恂悋ćØ恄恆ćŖć‚‰ć°ćć®ć¾ć¾ä½æ恈恰ēµę§‹ć§ć™ćŒć€‚encode_utf8()恫恦ć‚Øćƒ³ć‚³ćƒ¼ćƒ‰ć—ć¦ć„ć‚‹ć‚ˆć†ćŖä¾‹ć‚‚ć‚ć‚Šć¾ć™ćŒć€ä»Šå›žćÆä½æć„ć¾ć›ć‚“ć€‚
  2. Shift_JISćŖCSVć®å¤šć„ę—„ęœ¬ć§ćÆć€ć‚¤ćƒ³ćƒćƒ¼ćƒˆę™‚ćÆgetDataAsString(ā€œShift_JISā€)悒ä½æē”Øć™ć‚‹ć®ćŒč‰Æ恄恧恗悇恆怂
  3. 逆恫ć‚Øć‚Æć‚¹ćƒćƒ¼ćƒˆć™ć‚‹ę™‚ćÆ态.setDataFromString恫恦csvćƒ‡ćƒ¼ć‚æ悒shift_jis悒ä½æē”Øć™ć‚‹ć®ćŒč‰Æ恄恧恗悇恆怂
  4. DriveAppć‚’ä»Šå›žćÆä½æē”Ø恗恦恄悋恮恧态åø°ć£ć¦ććŸå€¤ćÆå¤‰ę•°filesć§å—ć‘ć¦ć€files.next().getBlob()ć«ć¦å–å¾—ć™ć‚‹ć“ćØ怂
  5. 80å€‹ć®å¹³å‡5KB恮CSVļ¼ˆåˆč؈2,800ćƒ¬ć‚³ćƒ¼ćƒ‰/31列ļ¼‰čŖ­ćæč¾¼ćæ完äŗ†ć¾ć§ć€50ē§’ē؋åŗ¦ć§ć—ćŸć€‚ēµę§‹ę—©ć„恧恙恭怂
  6. ę›øćč¾¼ćæč‡Ŗ体ćÆ1ćƒ•ć‚”ć‚¤ćƒ«ćšć¤ę›øč¾¼ć‚’ć—ć¦ć„ć¾ć™ć€‚
  7. ć‚Øć‚Æć‚¹ćƒćƒ¼ćƒˆć™ć‚‹å “åˆćŖć®ć§ć™ćŒć€ę—„ä»˜ć®ćƒ‡ćƒ¼ć‚æćÆę—„ä»˜åž‹ć§å‡ŗåŠ›ć—ć¦ć—ć¾ć†ćØ态ē›øę‰‹å“ć§å–ć‚Šč¾¼ć‚€ć®ćŒć‚„ć£ć‹ć„ć§ć™ć€‚äŗˆć‚ć€ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆäøŠć§ę›ø式ćŖć—ćƒ†ć‚­ć‚¹ćƒˆć«ć—ć¦ćŠćć¾ć—ć‚‡ć†ć€‚ExcelćŖ悉č‡Ŗå‹•ć§ę—„ä»˜åž‹ćØčŖč­˜ć—ć¦ćć‚Œć‚‹ć‚ˆć†ć«ćŖć‚Šć¾ć™ć€‚

関連ćƒŖćƒ³ć‚Æ

å…±ęœ‰ć—ć¦ćæ悋ļ¼š

ć‚³ćƒ”ćƒ³ćƒˆć‚’ę®‹ć™

ćƒ”ćƒ¼ćƒ«ć‚¢ćƒ‰ćƒ¬ć‚¹ćŒå…¬é–‹ć•ć‚Œć‚‹ć“ćØćÆć‚ć‚Šć¾ć›ć‚“ć€‚ * ćŒä»˜ć„ć¦ć„ć‚‹ę¬„ćÆåæ…須項ē›®ć§ć™

ć“ć®ć‚µć‚¤ćƒˆćÆć‚¹ćƒ‘ćƒ ć‚’ä½Žęø›ć™ć‚‹ćŸć‚ć« Akismet 悒ä½æć£ć¦ć„ć¾ć™ć€‚ć‚³ćƒ”ćƒ³ćƒˆćƒ‡ćƒ¼ć‚æć®å‡¦ē†ę–¹ę³•ć®č©³ē“°ćÆć“ć”ć‚‰ć‚’ć”č¦§ćć ć•ć„ć€‚