Google Apps Scriptć‚’é«˜é€ŸåŒ–ć™ć‚‹ćƒ†ć‚Æ惋惃ć‚Æć¾ćØ悁怐GAS怑

Google Apps ScriptćÆ大変ä¾æ利ćŖć‚¹ć‚ÆćƒŖ惗惈ćŖć®ć§ć™ćŒć€é€£ē¶šēØ¼åƒę™‚é–“ć«ęœ€å¤§6分ćØć„ć†åˆ¶é™ćŒć‚ć‚Šć€ćć‚Œć‚’č¶…ćˆć‚‹ćØć€Œčµ·å‹•ę™‚é–“ć®ęœ€å¤§å€¤ć‚’č¶…ćˆć¾ć—ćŸć€ćØć®ćƒ”ćƒƒć‚»ćƒ¼ć‚ø恌å‡ŗć¦ć‚¹ć‚ÆćƒŖ惗惈ćÆå‹ę‰‹ć«ę­¢ć¾ć£ć¦ć—ć¾ć„ć¾ć™ć€‚ć“ć‚Œć‚’å›žéæ恙悋惆ć‚Æ惋惃ć‚ÆćØ恗恦ćÆć‚¹ć‚ÆćƒŖ惗惈惈ćƒŖć‚¬ćƒ¼ć‚’åˆ©ē”Ø恗恟ēŖē “ę–¹ę³•ćŒć‚ć‚‹ć®ć§ć™ćŒć€å®Ÿč£…ćÆēµę§‹å¤§å¤‰ć§ć™ć—ć€ä½•ć‚ˆć‚Šę—©ćēµ‚ć‚ć‚‹ć«č¶Šć—ćŸć“ćØćÆć‚ć‚Šć¾ć›ć‚“ć€‚ć—ć‹ć—ć€ć‚¹ć‚ÆćƒŖćƒ—ćƒˆć‚’é«˜é€ŸåŒ–ć™ć‚‹ē‚ŗ恫ćÆGoogle Apps Script굁恮ę›øćę–¹ćØć„ć†ć‚‚ć®ćŒć‚ć‚‹ć®ć§ć€ä»Šå›žćć‚Œć‚’ć¾ćØ悁恦ćæć¾ć—ćŸć€‚

ćŖć‚‹ć¹ćę™®ę®µć‹ć‚‰ę„č­˜ć—ć¦ę›øćć‚ˆć†ć«ć™ć‚‹ćØć€ę©Ÿčƒ½čæ½åŠ ę™‚恫ē—›ć„ē›®ć‚’ćæ恚恫ęøˆćæć¾ć™ļ¼ˆå®Ÿéš›ć€å˜ē“”ćŖć‚·ćƒ¼ćƒˆćƒ‡ćƒ¼ć‚æć‚’é›†ć‚ć‚‹ć‚¹ć‚ÆćƒŖćƒ—ćƒˆć§ć€é›†ć‚ć‚‹ć‚·ćƒ¼ćƒˆćŒå¢—ćˆć¦ć‚ć£ćØć„ć†é–“ć«ć‚¹ć‚ÆćƒŖ惗惈恌ē “ē¶»ć—ć¦å›°ć£ćŸę€ć„å‡ŗćŒć‚ć‚Šć¾ć™ļ¼‰ć€‚今回ä½æē”Øć™ć‚‹ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®ćƒ€ćƒŸćƒ¼ćƒ‡ćƒ¼ć‚æćÆMockarooć‚’åˆ©ē”Øć„ćŸć—ć¾ć—ćŸć€‚

ē›®ę¬”

今回ä½æē”Øć™ć‚‹ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆ

APIć®å‘¼ć³å‡ŗć—å›žę•°ć‚’ęø›ć‚‰ć™

恓恓恧恄恆APIćØćÆ态SpreadsheetAppć§ć‚ć£ćŸć‚Šć€DocumentAppć§ć‚ć£ćŸć‚Šć™ć‚‹ć‚¢ćƒ¬ć§ć™ć€‚ćć‚Œć«ć¶ć‚‰äø‹ćŒć‚‹getSheetByNameć§ć‚ć£ćŸć‚Šć€getRange态getValuesćŖć©ć‚‚åŒć˜ć§ć€ć“ć‚Œć‚‰Google Apps Scriptē‰¹ęœ‰ć®APIć®å‘¼ć³å‡ŗ恗ćÆåÆčƒ½ćŖé™ć‚Šå‰Šć‚‹äŗ‹ć€ćć‚ŒćŒé«˜é€ŸåŒ–恧ćÆēœŸć£å…ˆć«ć‚ć’ć‚‰ć‚Œć‚‹ć“ćØć§ć™ć€‚ć©ć†ć—ć¦ć‚‚ćƒ—ćƒ­ć‚°ćƒ©ćƒŸćƒ³ć‚°åˆåæƒč€…ę™‚ä»£ć«ćÆć€ć‚„ć£ć¦ć—ć¾ć„ćŒć”ćŖć®ć§ć™ćŒć€VBAćŖ恩恧ćÆćć‚Œć»ć©é€Ÿåŗ¦ä½Žäø‹ćÆ恗ćŖć„ć®ć§ć™ćŒć€Google Apps Script恧APIć®å‘¼ć³å‡ŗ恗悒頻ē¹ć«č”Œć†ćØē‰©å‡„ćé…ććŖć‚Šć¾ć™ć€‚

ä¾‹ćˆć°ć€SpreadsheetApp.getActiveSpreadsheet().getSheetByName().getRange().getValues()ćØ恄恆ļ¼‘ę–‡ćŒć‚ć£ćŸå “åˆć€ć“ć‚Œć ć‘ć§4回APIć‚’å‘¼ć³å‡ŗ恗恦悋äŗ‹ć«ćŖć‚Šć¾ć™ć€‚å‘¼ć³å‡ŗ恗恟悉态ćŖć‚‹ć¹ćå–å¾—ć—ćŸå€¤ć‚’ä½æć†ć‚ˆć†ć«ć™ć‚‹ć®ćŒä»Šå›žć®ć‚­ćƒ¢ć§ć™ć€‚ä»Šå›žćÆäŗ‹ä¾‹ćØ恗恦态ē‰¹å®šć®IDć«åˆč‡“ć™ć‚‹ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’ć‚·ćƒ¼ćƒˆć‹ć‚‰ęŽ¢ć—å‡ŗć—ć€ćć®IDć«å«ć¾ć‚Œć¦ć‚‹ä¼ę„­åć‚’čæ”ć™ć‚‚ć®ć‚’ä½œć£ć¦ćæć¾ć—ćŸć€‚ē‰¹å®šć®IDćÆäø€ē•Ŗęœ€å¾Œć®ID悒ä½æ恆äŗ‹ć«ć—ć¾ć—ćŸć€‚ļ¼ˆć‚·ćƒ¼ćƒˆć®ćƒ¬ć‚³ćƒ¼ćƒ‰ę•°ćÆ1500ć§ć™ćŒć€ęœ‰åŠ¹ćŖćƒ¬ć‚³ćƒ¼ćƒ‰ćÆ1000恧恙怂他ćÆē©ŗē™½č”Œć§ć‚ć‚‹ē‚ŗļ¼‰ć€‚

ā€»å®Ÿč”Œę™‚é–“ćÆęÆŽå›žå¤‰ć‚ć‚Šć¾ć™ć€‚ć¾ćŸć€åŒć˜å‡¦ē†ć®å®Ÿč”Œć§ć‚‚2åŗ¦ē›®ć®å€¤ćŒč‰Æ恏ćŖ悋恮ćÆć‚­ćƒ£ćƒƒć‚·ćƒ„ć•ć‚Œć¦ć‚‹ē‚ŗćØę€ć‚ć‚Œć¾ć™ć€‚

ā€»ćƒ†ć‚¹ćƒˆå®Ÿč”ŒćÆć€ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®ćƒ”ćƒ‹ćƒ„ćƒ¼ć‚ˆć‚Šć€Œćƒ†ć‚¹ćƒˆć€ā‡’ć€Œćƒ‡ćƒ¼ć‚æ惁悧惃ć‚Æ怍ā‡’ć€Œęœ€ę‚ŖćŖäŗ‹ä¾‹ć€ćŠć‚ˆć³ć€ŒAPIå‘¼ć³å‡ŗć—ć‚’ę”¹č‰Æć€ć‚’å®Ÿč”Œć—ć¾ć™ć€‚

é…ć„ć‚³ćƒ¼ćƒ‰ć®äŗ‹ä¾‹

悏恖ćØ悉恗恏꜀ę‚ŖćŖć‚³ćƒ¼ćƒ‰ć§ę›ø恄恦ćæć¾ć—ćŸć€‚ļ¼‘ć¤ćšć¤ć‚»ćƒ«ć®å€¤ć‚’å–å¾—ć—ć¦ćÆę¬”ć®ć‚»ćƒ«ćøćØć„ć£ćŸć‚ˆć†ćŖ効ēŽ‡ć®ę‚Ŗ恄ꤜē“¢ć‚’č”Œć£ć¦ć„ć¾ć™ć€‚

å®Ÿč”ŒēµęžœćÆ态160ē§’恻恩怂ęæ€é…恧恙怂

ę”¹č‰Æć—ćŸć‚³ćƒ¼ćƒ‰ć®äŗ‹ä¾‹

å°‘ć—ę•“ē†ć—恦态APIć®å‘¼ć³å‡ŗ恗悒ęø›ć‚‰ć—ć¾ć—ćŸć€‚ę”¹č‰Æē‚¹ćÆ仄äø‹ć®é€šć‚Šć§ć™ć€‚

  • getLastRow恧꜀ēµ‚č”Œć®å€¤ć‚’å–å¾—ć—ć¦å¤‰ę•°ć«å…„ć‚Œć¦ćƒ«ćƒ¼ćƒ—ć‚’å›žć—ć¦ć„ć¾ć™ć€‚å€¤ćÆlengthć«ę ¼ē“ć—ć¦ć„ć¾ć™ć€‚ć€19č”Œē›®ć€‘
  • ćƒ«ćƒ¼ćƒ—å†…ć§ć®å€¤ć®å–å¾—ć‚‚APIå‘¼ć³å‡ŗć—ć—ć¦ć„ć¾ć™ćŒć€å°‘ć—ę”¹č‰Æć‚’ć—ć¾ć—ćŸć€‚ć€24č”Œē›®ć€‘

å®Ÿč”ŒēµęžœćÆ态80ē§’ć»ć©ć€‚ćć‚Œć§ć‚‚ć¾ć ć¾ć é…ć„ć§ć™ć­ć€‚ę”¹č‰Æć®ä½™åœ°ćÆć¾ć ć¾ć ć‚ć‚Šć¾ć™ć€‚

ćƒ‡ćƒ¼ć‚æć®å–å¾—ćØę“ä½œ

ć•ć¦ć€ć¾ćšAPIć®å‘¼ć³å‡ŗ恗悒ęø›ć‚‰ć™ę–¹ę³•ć§č‹„å¹²ć‚¹ćƒ”ćƒ¼ćƒ‰ć‚¢ćƒƒćƒ—ć—ć¾ć—ćŸć€‚ć—ć‹ć—ć€ć¾ć å®Ÿē”Øćƒ¬ćƒ™ćƒ«ć«č‡³ć£ć¦ć„ć¾ć›ć‚“ć€‚ę”¹č‰Æ恗恟ćØčØ€ć£ć¦ć‚‚ć€ę”¹č‰Æć‚³ćƒ¼ćƒ‰ć®å†…å®¹ć«ćÆć¾ć ć¾ć čŖ²é”ŒćŒę®‹ć£ć¦ć„ć¾ć™ć€‚äø»ć«ćć®čŖ²é”Œē‚¹ć‚’äø€ę°—ć«åˆ—ęŒ™ć—ć¦ćæ恟恄ćØę€ć„ć¾ć™ć€‚

ā€»ćƒ†ć‚¹ćƒˆå®Ÿč”ŒćÆć€ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®ćƒ”ćƒ‹ćƒ„ćƒ¼ć‚ˆć‚Šć€Œćƒ†ć‚¹ćƒˆć€ā‡’ć€Œćƒ‡ćƒ¼ć‚æ惁悧惃ć‚Æ怍ā‡’ć€Œäø€ē•Ŗč‰Æ恄äŗ‹ä¾‹ć€ć‚’å®Ÿč”Œć—ć¾ć™ć€‚

ć‚»ćƒ«å˜ä½ć§å€¤ć‚’čŖ­ć‚€ć‚ˆć†ćŖę›øćę–¹ćÆč”Œć‚ćŖ恄

äø»ć«VBAćŖć©ć®ć‚³ćƒ¼ćƒ‰ć§ć‚ˆćč¦‹ć‹ć‘ć‚‹ć®ćŒć€ćƒ—ćƒ­ć‚°ćƒ©ćƒ ćØčØ€ć†ć‚ˆć‚Šć‚‚äŗŗé–“ć®č”Œå‹•ć‚’åæ å®Ÿć«ę›øć„ć¦ć‚‹ć‚ˆć†ćŖ惞ć‚Æ惭ēš„ćŖć‚½ćƒ¼ć‚¹ć‚³ćƒ¼ćƒ‰ć§ć™ć€‚ć¤ć¾ć‚Šć€1å€‹ć‚»ćƒ«ć®å€¤ć‚’čŖ­ć‚“ć§ćƒć‚§ćƒƒć‚Æć—ć€ę¬”ć®ć‚»ćƒ«ć«ē§»å‹•ć—ć¦ć¾ćŸå€¤ć‚’čŖ­ćæč¾¼ć‚“ć§ćƒć‚§ćƒƒć‚Æ恙悋怂恗恋恗态VBAć®ć‚ˆć†ć«ćƒ­ćƒ¼ć‚«ćƒ«ć§å‹•ććƒžć‚·ćƒ³ć§ć‚ć‚Œć°ćć‚Œć§ć‚‚č‰Æć„ć®ć§ć™ćŒć€Google Apps Script恧ćÆćć®åŗ¦ć«API悒ē™ŗč”Œć—ćŖ恑悌恰ćŖć‚Šć¾ć›ć‚“ć€‚ć‚ˆć£ć¦ć€ć“ć®éƒØ分ćÆćƒ‡ćƒ¼ć‚æćØć—ć¦ć‚¬ćƒ„ćƒƒćØå–å¾—ć—ć¦ć€é…åˆ—ćƒ‡ćƒ¼ć‚æ悒惁悧惃ć‚Æć™ć‚‹ę–¹å¼ć«å¤‰ćˆć¦ć‚ć’ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚ä¾‹ćˆć°ć€

恓悓ćŖå…·åˆć«ćŖć‚Šć¾ć™ć€‚getValuesć§ć‚·ćƒ¼ćƒˆćƒ‡ćƒ¼ć‚æć‚’é…åˆ—ć§å–å¾—å‡ŗę„ć¾ć™ć€‚ć¾ćŸć€A2:A恮ēÆ„å›²ć§å–å¾—ć—ć¦ć‚‹ć®ć§ć€getLastRowć®å€¤ć‹ć‚‰-1ć—ć¦ć„ć¾ć™ć€‚é…åˆ—ć‹ć‚‰å€¤ć‚’å–ć‚Šå‡ŗ恙ꙂćÆ态forꖇ恫恂悋i悒ä½æ恆恮恧态cntćØć—ć¦å®£čØ€ć—ć¦ć‚ć£ćŸć‚«ć‚¦ćƒ³ć‚æćÆäøč¦ć«ćŖć‚Šć¾ć™ć€‚

forćƒ«ćƒ¼ćƒ—å†…ć‚’ęœ€é©åŒ–

forćƒ«ćƒ¼ćƒ—å†…ć«ć‚‚čŖ²é”ŒćŒę®‹ć£ć¦ć„ć¾ć™ć€‚ä»Šå›žć®ć‚·ćƒ¼ćƒˆćÆćƒ‡ćƒ¼ć‚æč‡Ŗ体ćÆ999č”Œć§ę®‹ć‚ŠćÆćŸć ć®ē©ŗē™½č”Œć§ć™ć€‚ćć®ē‚ŗ态仄äø‹ć®å•é”Œē‚¹ćŒę®‹ć£ć¦ć‚‹äŗ‹ć«ćŖć‚Šć¾ć™ć€‚

  1. č©²å½“ć®ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’č¦‹ć¤ć‘ć¦ć‚‚ćƒ«ćƒ¼ćƒ—ćÆęœ€å¾Œć®č”Œć¾ć§č¦‹ć«ć„ćć‚ˆć†ć«ćŖć£ć¦ć‚‹ļ¼ˆgetLastRow恧ćÆćƒ‡ćƒ¼ć‚æć®ęœ‰åŠ¹ēÆ„å›²ć‚’č‡Ŗå‹•ć§åˆ¤ę–­ć—ć¦ćć‚Œć‚‹ć®ć§ć€999č”Œć§å–å¾—å‡ŗę„ć¾ć™ļ¼‰ć€‚
  2. ćŖć‚“ć‚‰ć‹ć®ę”ä»¶ć§ē©ŗē™½č”Œć¾ć§čŖ­ćæć«ć„ćć‚ˆć†ćŖå “åˆć€1500č”Œå…ØéƒØ悒čŖ­ćæć«č”Œć£ć¦ć—ć¾ć†ć€‚

ćć“ć§ć€ćć”ć‚“ćØćƒ‡ćƒ¼ć‚æć‚’č¦‹ć¤ć‘ćŸć‚‰ćć“ć§ćƒ«ćƒ¼ćƒ—ć‚’č„±å‡ŗć•ć›ć¦ć‚„ć‚Šć€ć¾ćŸć€ē©ŗē™½č”ŒćŒę„ćŸć‚‰ę­¢ć‚ć‚‹ć‚ˆć†ćŖ処ē½®ć‚’čæ½åŠ ć—恦恂恒悋ćØ余č؈ćŖ処ē†ć‚’恛恚恫ęøˆćæć¾ć™ć€‚ćƒ«ćƒ¼ćƒ—č„±å‡ŗćÆbreak;ę–‡ć‚’å…„ć‚Œć¦ć‚ć’ć‚‹ć ć‘ć€‚ē©ŗē™½ćƒć‚§ćƒƒć‚ÆćÆꙮ通恫tempid == ā€œā€ć§ćƒć‚§ćƒƒć‚Æå‡ŗę„ć¾ć™ć€‚

ć“ć“ć¾ć§ć®å†…å®¹ć‚’åę˜ ć—ćŸć‚³ćƒ¼ćƒ‰ć ćØć€å®Ÿč”ŒēµęžœćÆ0.35ē§’ć§ć—ćŸć€‚APIć®å‘¼ć³å‡ŗ恗悒ęø›ć‚‰ć—ć€é…åˆ—ć‹ć‚‰å€¤ć‚’ćƒć‚§ćƒƒć‚Æć™ć‚‹ę–¹å¼ć«å¤‰ćˆć‚‹ćØć“ć“ć¾ć§åŠ‡ēš„ć«é€Ÿåŗ¦ćŒå‘äøŠć—ć¾ć™ć€‚

ćć®ä»–

ćć®ä»–ć€ć‚ˆć‚Šé«˜é€Ÿć«ćŖć‚‹ć‚ˆć†ć«ę”¹å–„ć™ć‚‹äøŠć§ć®ćƒć‚¤ćƒ³ćƒˆćÆ

  1. getDataRange悄getRangeByName悒ä½æ恆ćØAPI恮ä½æē”Øć‚’ć‚ˆć‚Šå°‘ćŖ恏恙悋äŗ‹ćŒåÆčƒ½ć§ć™ć€‚
  2. ć‚·ćƒ¼ćƒˆć‚’å¹“åŗ¦ęÆŽć«åˆ†å‰²ć™ć‚‹ć‹ć€å¹“åŗ¦ćƒ‡ćƒ¼ć‚æ蓄ē©å°‚ē”Øć®åˆ„ć®ć‚·ćƒ¼ćƒˆć‚’ē”Øę„ć—ć¦ćŠć

getDataRangećÆćƒ‡ćƒ¼ć‚æćŒęœ‰åŠ¹ćŖč”Œć‚’č‡Ŗå‹•åˆ¤å®šć—ć¦ćƒ‡ćƒ¼ć‚æēÆ„å›²ć‚’ęŒ‡å®šć—ć¦ćć‚Œć‚‹ćƒ”ć‚½ćƒƒćƒ‰ć§ć™ć€‚åÆ¾ć—ć¦getRangeByNamećÆäŗˆć‚ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć«ć€Œåå‰ä»˜ćēÆ„å›²ć€ć‚’čØ­å®šć—ć¦ć‚‹ę™‚ć«ćć®čØ­å®šć®ēÆ„å›²ć‚’ę‹¾ć£ć¦ćć‚‹ćƒ”ć‚½ćƒƒćƒ‰ć§ć™ć€‚ę§‹ę–‡ćÆ态SpreadsheetApp.getActiveSpreadsheet().getRangeByName(ā€œåå‰ä»˜ćēƄ囲名ā€).getValues()ćØć„ć£ćŸę„Ÿć˜ć«ćŖć‚Šć¾ć™ć€‚åå‰ä»˜ćēƄ囲ćÆć€ćƒ‡ćƒ¼ć‚æć®å¢—ęø›ć®ćŖ恄态å›ŗ定ēš„ćŖć‚·ćƒ¼ćƒˆć«åÆ¾ć—ć¦čØ­å®šć‚’č”Œć„ć¾ć™ć€‚

ć¾ćŸć€ļ¼’ļ¼Žć«ć¤ć„ć¦ć§ć™ćŒć€1ęžšć®ć‚·ćƒ¼ćƒˆć«ä½•å¹“ć‚‚ćƒ‡ćƒ¼ć‚æ悒ęŗœć‚č¾¼ć‚“ć§ć‚‹å “åˆć€åæ…恚恗悂恙恧恫ēµ‚ć‚ć£ćŸå‰ć®å¹“ć®ćƒ‡ćƒ¼ć‚æćÆåæ…要ćŖć‹ć£ćŸć‚Šć—ć¾ć™ć€‚ć“ć‚Œć‚‰ćÆ幓åŗ¦ć®åˆ‡ę›æę™‚ć«ć§ć‚‚ć€åˆ„ć®ć‚·ćƒ¼ćƒˆć«é€€éæć•ć›ć‚Œć°ć€å‚ē…§ć™ć‚‹ćƒ¬ć‚³ćƒ¼ćƒ‰ę•°ć‚’ęø›ć‚‰ć›ć‚‹ć®ć§ć€ēµęžœēš„ć«é«˜é€ŸåŒ–ć«ē¹‹ćŒć‚Šć¾ć™ć€‚č‡Ŗåˆ†ć®å “åˆć€å¹“åŗ¦å˜ä½ć§éŽåŽ»ćƒ­ć‚°ć‚·ćƒ¼ćƒˆćøē§»å‹•ć‚„ć€ćƒ•ć‚©ćƒ¼ćƒ ē­‰ć§ę‰æčŖęøˆćæćƒ¬ć‚³ćƒ¼ćƒ‰ćÆéŽåŽ»ćƒ­ć‚°ć‚·ćƒ¼ćƒˆćø退éæć™ć‚‹ć‚ˆć†ć«ć‚¹ć‚ÆćƒŖ惗惈悒ę›øć„ć¦ć„ć¾ć™ć€‚

ćƒ‡ćƒ¼ć‚æ恮ę›øč¾¼ćØꤜē“¢

é…åˆ—ć®ćƒ‡ćƒ¼ć‚æć‚„å€¤é”žć‚’ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆćøę›øćč¾¼ć‚€ć‚·ćƒ¼ćƒ³ć‚‚å¤šćć‚ć‚‹ć‹ćØę€ć„ć¾ć™ć€‚ä¾‹ćˆć°ć€åŒć˜ć‚¹ć‚æć‚¤ćƒ«ć®ć‚·ćƒ¼ćƒˆć®ćƒ‡ćƒ¼ć‚æć‚’ć„ćć¤ć‚‚å›žåŽć—ć¦äø€ēŗć‚ć«ć—ć¦åŽé›†ć™ć‚‹ć ćØć‹ć€ć‚·ćƒ¼ćƒˆćƒ‡ćƒ¼ć‚æć‚’ć‚³ćƒ”ćƒ¼ć—ć¦ćć‚‹ćŖ恩ćŖć©ć€‚ć“ć“ć§ć‚¹ć‚ÆćƒŖćƒ—ćƒˆć®é€Ÿåŗ¦ć«å¤§ććŖå·®ćŒē”Ÿć¾ć‚Œć‚‹ē‚¹ćŒć‚ć‚Šć¾ć™ć€‚ä»Šå›žćÆ态ä½æē”Øć™ć‚‹ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®Dummyć‚·ćƒ¼ćƒˆć‹ć‚‰copymanć‚·ćƒ¼ćƒˆćøćƒ‡ćƒ¼ć‚æć‚’ć‚³ćƒ”ćƒ¼ć™ć‚‹äŗ‹ä¾‹ć§ć™ć€‚

ā€»ćƒ†ć‚¹ćƒˆå®Ÿč”ŒćÆć€ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®ćƒ”ćƒ‹ćƒ„ćƒ¼ć‚ˆć‚Šć€Œćƒ†ć‚¹ćƒˆć€ā‡’ć€Œę›øč¾¼ćƒ†ć‚¹ćƒˆć€ā‡’ć€Œļ¼‘č”Œćšć¤ęŒæå…„ć€ćŠć‚ˆć³ć€Œć¾ćØ悁恦ęŒæå…„ć€ć‚’å®Ÿč”Œć—ć¾ć™ć€‚

é…ć„ć‚³ćƒ¼ćƒ‰ć®äŗ‹ä¾‹

ć™ć§ć«ć‚»ćƒ«å˜ä½ć§ćƒ‡ćƒ¼ć‚æ悒ę›øćč¾¼ć‚€ēœŸä¼¼ćÆć—ć¾ć›ć‚“ć€‚APIć®å‘¼ć³å‡ŗć—å›žę•°ć‚’ęø›ć‚‰ć™ć®é …ē›®ć§ćć‚ŒćÆē«‹čØ¼ć•ć‚Œć¾ć—ćŸć€‚ćØ恄恆äŗ‹ć§ę›øč¾¼ć§ę¬”ć«ä½æē”Øć•ć‚Œć‚‹ć§ć‚ć‚ć†ćƒ”ć‚½ćƒƒćƒ‰ćŒć€ŒappendRow怍怂1ę¬”å…ƒé…åˆ—ć®ćƒ‡ćƒ¼ć‚æć‚’ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®ęœ€å¾Œć®č”Œć«č‡Ŗå‹•ć§čæ½åŠ ć—ć¦ćć‚Œć‚‹å„Ŗć‚Œć‚‚ć®ć§ć€ćƒ•ć‚©ćƒ¼ćƒ ćŖ恩1č”Œć®ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’ęŒæå…„ć™ć‚‹å “åˆć«åŠ¹ęžœēš„恧恙怂

å¤§é‡ć®ćƒ‡ćƒ¼ć‚æ悒ęŒæå…„ć™ć‚‹å “åˆć€appendRow恧ćÆ1č”Œćšć¤ęŒæå…„ć™ć‚‹äŗ‹ć«ćŖć‚‹ć®ć§ć€é…ć„ć§ć™ć€‚å®Ÿč”ŒēµęžœćÆ态88ē§’ć§ć—ćŸć€‚

ę”¹č‰Æć—ćŸć‚³ćƒ¼ćƒ‰ć®äŗ‹ä¾‹

ļ¼‘č”Œćšć¤ć§ćÆ恋ćŖ悊Ꙃ間恌ꎛ恋悋äøŠć«ć€ćƒ‡ćƒ¼ć‚æé‡ć«ęÆ”ä¾‹ć—ć¦å‡¦ē†ę™‚é–“ćŒä¼øć³ć¦ć—ć¾ć„ć¾ć™ć€‚ćć“ć§ć“ć®ę–¹ę³•ć‚’é…åˆ—ć¾ć‚‹ć”ćØäø€ē™ŗ恧ę›øćč¾¼ć‚€ę–¹ę³•ć‚’å–ć‚Šć¾ć™ć€‚č¤‡ę•°ć®ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’appendRowćØåŒć˜ćęœ€ēµ‚č”Œć«čæ½åŠ ć™ć‚‹ć‚¹ć‚æć‚¤ćƒ«ć§ć™ć€‚

č”Øē¤ŗćÆćƒ‡ćƒ¼ć‚æé‡ć«ć‚ˆć£ć¦ćƒ¢ć‚æćƒ„ć‚­ć¾ć™ćŒć€å®Ÿč”Œēµęžœč‡Ŗ体ćÆ0.80ē§’ć§ć—ćŸć€‚ęœ¬ę„ć€å–å¾—ć—ćŸć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆč‡Ŗä½“ćŒé…åˆ—ćŖć®ć§ć€ćć®ć¾ć¾ę›øč¾¼ćŒå‡ŗę„ć¾ć™ćŒę”ä»¶ć‚’äø€ē·’ć«ć™ć‚‹ćŸć‚ć«ć€ę›øćč¾¼ćæē”Øé…åˆ—ć«ć‚ć–ć‚ć–pushć•ć›ć¦ć„ć¾ć™ć€‚

UrlfetchAppć§ć¾ćØ悁恦ćƒŖć‚Æć‚Øć‚¹ćƒˆ

通åøøć€å¤–éƒØ恮HTTP恫ćƒŖć‚Æć‚Øć‚¹ćƒˆć‚’é€ć‚‹ē‚ŗ恮UrlfetchAppćÆ単äø€ć®URL恫åÆ¾ć—ć¦ćƒŖć‚Æć‚Øć‚¹ćƒˆć‚’é€äæ”ć—ć€å€¤ć‚’å—ć‘å–ć£ćŸć‚Šć™ć‚‹ē‚ŗć«åˆ©ē”Øć—ć¾ć™ć€‚ć—ć‹ć—ć“ć®ćƒ”ć‚½ćƒƒćƒ‰ćÆ态10ē§’é–“ć«ćŠć‚ˆć3回ē؋åŗ¦ć—恋ćƒŖć‚Æć‚Øć‚¹ćƒˆå‡ŗę„ćšć€Quota恫ćÆč”ØčØ˜ćŒē„”ć„ć®ć§ć™ćŒļ¼”回仄äøŠćƒŖć‚Æć‚Øć‚¹ćƒˆć‚’é€ć‚‹ćØ态429ć‚Øćƒ©ćƒ¼ļ¼ˆToo Many Requestļ¼‰ć§é€äæ”恌ćƒŖć‚ø悧ć‚Æćƒˆć•ć‚Œć¦ć—ć¾ć„ć¾ć™ć€‚

ꕅ恫10ē§’間恫3å›žćšć¤é€ć‚‹ć‚ˆć†ć«ć‚¦ć‚§ć‚¤ćƒˆļ¼ˆSleepļ¼‰ć™ć‚‹å‡¦ē†ć‚’å…„ć‚Œć¦ć€å‡¦ē†ć‚’é…ć‚‰ć›ć‚‹ćƒćƒƒćƒ‰ćƒŽć‚¦ćƒć‚¦ć‚’ä½æć†ć®ćŒé€šåøø恧恙怂恗恋恗态UrlfetchApp恫ćÆ悂恆äø€ć¤ć€ŒUrlfetchApp.fetchAll怍ćØå‘¼ć°ć‚Œć‚‹ćƒ”ć‚½ćƒƒćƒ‰ćŒē”Øę„ć•ć‚Œć¦ćŠć‚Šć€č¤‡ę•°ć®ćƒŖć‚Æć‚Øć‚¹ćƒˆć‚’ć¾ćØć‚ć¦é€ć£ć¦ć€ēµęžœć‚’ć¾ćØć‚ć¦å—ć‘å–ć‚‹äŗ‹ćŒåÆčƒ½ć§ć™ć€‚ćŠćŠć‚ˆć50%ē؋åŗ¦é€Ÿåŗ¦ćŒå‘äøŠć—ć¾ć™ć€‚ē‰¹ć«PDFē”ŸęˆćƒŖć‚Æć‚Øć‚¹ćƒˆē­‰ć§åŠ¹ęžœćŒå‡ŗ悋ćØę€ć„ć¾ć™ć€‚

ā€»ä½†ć—态äø€åŗ¦ć«ćŸćć•ć‚“恮ćƒŖć‚Æć‚Øć‚¹ćƒˆć‚’åŒę™‚ć«é€ć£ć¦ć‚‚ćŠćć‚‰ćNG恫ćŖć‚‹ć®ć§ć€ć›ć„ćœć„ę•°å€‹ē؋åŗ¦ć«ćƒˆćƒ‰ćƒ”ć¦ćŠćć¹ćć§ć—ć‚‡ć†ć€‚

ćƒŖć‚Æć‚Øć‚¹ćƒˆć™ć‚‹ę–¹ę³•ćÆ仄äø‹ć®é€šć‚Šć§ć™ć€‚

OAuth2.0čŖčؼē­‰ć®čŖčØ¼ćŒåæ…要ćŖ悂恮ćÆ1å€‹ćšć¤ćƒŖć‚Æć‚Øć‚¹ćƒˆćƒ‘ćƒ©ćƒ”ćƒ¼ć‚æ悒ē”Øę„ć—ć¦ć€ćƒŖć‚Æć‚Øć‚¹ćƒˆć®é…åˆ—ć«åŠ ćˆć‚Œć°č‰Æ恄怂Quota恫恂悋ē¾åœØć®åˆ¶é™ć‚’č¶…ćˆćŖ恄悵悤ć‚ŗ恧ćƒŖć‚Æć‚Øć‚¹ćƒˆćŒåæ…要ćŖ恮恧要ę³Øꄏ怂

ćØ恄恆恓ćØ恧态5ć¤ć®ć‚·ćƒ¼ćƒˆć‚’ęŒć¤ćƒ•ć‚”ć‚¤ćƒ«ć‹ć‚‰5恤恮PDF悒äø€ę‹¬ć§ē”Ÿęˆć™ć‚‹ć‚³ćƒ¼ćƒ‰ć‚’ä½œęˆć—ćƒ†ć‚¹ćƒˆć—ć¦ćæ恟ćØ恓悍态16ē§’ē؋åŗ¦ć§ē”Ÿęˆć™ć‚‹äŗ‹ćŒć§ćć¾ć—ćŸć€‚ć“ć”ć‚‰ć®ć‚³ćƒ¼ćƒ‰ćÆć“ć”ć‚‰ć®ćƒ•ć‚”ć‚¤ćƒ«ć®äø­ć«ć‚ć‚‹multimake.gs恮äø­ć«čؘčæ°ć—ć¦ć‚ć‚Šć¾ć™ć€‚

fetchAll恮ēµęžœć‚‚ć¾ćŸć€é…åˆ—ć§ć¾ćØ悁恦čæ”ć£ć¦ćć‚‹ć®ć§ć€ćć“ć‹ć‚‰getBlobć§å–å¾—ć—ćŸć‚‚ć®ć‚’ęŒ‡å®šć®ćƒ‰ćƒ©ć‚¤ćƒ–ć®ćƒ•ć‚©ćƒ«ćƒ€å†…ć«createFile恧ē”Ÿęˆć™ć‚‹ć ć‘ć§ć™ć€‚å˜ē™ŗćƒŖć‚Æć‚Øć‚¹ćƒˆć ćØ24ē§’ć‚’č¶…ćˆć¦ć—ć¾ć„ć¾ć™ć€‚

Sheets API v4ć‚’åˆ©ē”Ø恙悋

ć“ć”ć‚‰ć®ć‚µć‚¤ćƒˆć«ć¦ć€ŒSpreadsheetApp悈悊悂Sheets API悒ä½æć£ćŸć»ć†ćŒå…Øē„¶ę—©ć„ć€ćØć„ć†č€³åÆ„ć‚ŠćŖęƒ…å ±ćŒęµć‚Œć¦ćć¦ć€ę¤œčØ¼ć—ć¦ćæć¾ć—ćŸćŒć€č¤‡ę•°ć®ć‚·ćƒ¼ćƒˆćŠć‚ˆć³å¤§é‡ć®ćƒ‡ćƒ¼ć‚æ恮čŖ­ćæę›øćć«é–¢ć—ć¦ćÆ态Sheets APIć‚’åˆ©ē”Øć—ćŸć»ć†ćŒåœ§å€’ēš„恫ꗩ恄äŗ‹ćŒć‚ć‹ć‚Šć¾ć—ćŸļ¼ˆćŠć‚ˆć2.8å€ć»ć©ę—©ć„ļ¼‰ć€‚恓恮ć‚Øćƒ³ćƒˆćƒŖćƒ¼ć«é–¢ć—ć¦ćÆ仄äø‹ć®ćƒšćƒ¼ć‚øć«č©³ē“°ć«ę›øć„ć¦ć„ć¾ć™ć€‚

通åøø恮SpreadsheetAppć‚’åˆ©ē”Ø恙悋悈悊悂ꖭē„¶ćŠć™ć™ć‚ć§ć™ć€‚

Google Apps Script恧Sheets API悒ä½æć£ćŸć‚‰ēˆ†é€Ÿć ć£ćŸć€GAS怑

ē™ŗęƒ³ć®č»¢ę›

å·®č¾¼å°åˆ·ć®Google Apps Script悒開ē™ŗć—ć¦ć„ć¦ć„ćć¤ć‹ć®ę°—ä»˜ććŒć‚ć‚Šć¾ć—ćŸć€‚ćć‚ŒćŒć€Œę­£ę”»ę³•ć«ę€ćˆć‚‹ć‚„ć‚Šę–¹ć§ćÆćŖć„ć‚„ć‚Šę–¹ć®ć»ć†ćŒć‚¹ćƒžćƒ¼ćƒˆć§ę—©ć„ć“ćØ恌恂悋怍ćØ恄恆恓ćØ怂

ē‰¹ć«ć“恮äŗ‹ä¾‹ć§ćÆ

  • å·®č¾¼å‡¦ē†å¾Œć«å…ƒć®ēŠ¶ę…‹ć«ęˆ»ć™åæ…č¦ćŒć‚ć‚‹ćŒć€é››å½¢ć®ćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆćƒ‡ćƒ¼ć‚æć‚’ć‚³ćƒ”ćƒ¼ć—ć¦č²¼ć‚Šä»˜ć‘ćÆ遅恄
  • ćć‚‚ćć‚‚ćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆć‚’č¤‡č£½ć—ć¦å·®ć—č¾¼ć‚€ę‰‹ę³•ćÆć‚‚ć£ćØ遅恄

å¤šćć®čŖ²é”ŒćŒć‚悊态6åˆ†ć®å£ć‚’č¶…ćˆć‚‹ę‰‹ę³•ć‚‚ä½æć‚ć–ć‚‹ć‚’å¾—ćŖ恄ēŠ¶ę³ć§ć—ćŸļ¼ˆć—ć‹ć‚‚ćƒ¬ć‚¤ć‚¢ć‚¦ćƒˆå“©ć‚ŒćŖć©åˆ„ć®å•é”Œć‚‚ē™ŗē”Ÿć—ć¦ć„ćŸć‚Šļ¼‰ć€‚ćć“ćÆē™ŗęƒ³ć®č»¢ę›ć‚’ć—ć€č”Øå½¢å¼ć§ćƒ¬ć‚¤ć‚¢ć‚¦ćƒˆć‚’ēµ„ćæ态äø­čŗ«ć®ę–‡å­—ć‚’å…ƒé€šć‚Šå…„悌ę›æ恈悋ćØć„ć†ę‰‹ę³•ć€‚ć“ć®ēµęžœć€åŒć˜ćƒ¬ć‚³ćƒ¼ćƒ‰ę•°ć§ć‚‚6åˆ†ć‚’č¶…ćˆć¦ć„ćŸä½œę„­ćŒć€3分仄äø‹ć§å®Œäŗ†ć™ć‚‹ć‚ˆć†ć«ćŖć‚Šć€ćƒ¬ć‚¤ć‚¢ć‚¦ćƒˆć®å“©ć‚Œć‚‚ē„”恄怂

é«˜é€ŸåŒ–ć‚’ć™ć‚‹ć«ćÆꙂ恫ćÆ前čæ°ć®ćƒ†ć‚Æ惋惃ć‚Æä»„å¤–ć«ć‚‚ć€Œćć‚‚ćć‚‚ć®ć‚„ć‚Šę–¹ć‚’å¤‰ćˆć‚‹ć€ćØ恄恆恓ćØ恌åæ…要ćŖć‚±ćƒ¼ć‚¹ćŒć‚ć‚Šć¾ć™ć€‚ćØ悊悏恑GAS恧ćÆćć†ć„ć£ćŸē™ŗęƒ³åŠ›ćŒå•ć‚ć‚Œć‚‹ćØę€ć„ć¾ć™ć€‚

Google Apps Scriptć§å·®č¾¼ć§ē›“ꎄPDF悒ē”Ÿęˆć™ć‚‹

V8 Runtimeć‚’åˆ©ē”Ø恙悋

ꦂ要

2020幓2꜈6ę—„ć‚ˆć‚Šć€Google Apps Script恮åŸŗē›¤ćØćŖć£ć¦ć‚‹JavaScriptć‚Øćƒ³ć‚øćƒ³ćŒV8ć‚Øćƒ³ć‚øćƒ³ć‚‚ä½æćˆć‚‹ć‚ˆć†ć«ćŖć‚Šć¾ć—ćŸć€‚V8ć‚Øćƒ³ć‚øćƒ³ć«åˆ‡ć‚Šę›æćˆć¦ć‚¹ćƒ”ćƒ¼ćƒ‰ćƒ™ćƒ³ćƒćƒžćƒ¼ć‚Æć‚’å–ć£ć¦ćæ恟ꉀ态å…Ø体ēš„恫18%ē؋åŗ¦ć®ć‚¹ćƒ”ćƒ¼ćƒ‰ć‚¢ćƒƒćƒ—ć—ć¦ć‚‹ć‚“ć˜ć‚ƒćŖ恄恋ćŖ恁ćØ恄恆ēµęžœćŒå¾—ć‚‰ć‚Œć¾ć—ćŸć€‚

V8ć‚Øćƒ³ć‚øćƒ³ć«ć¤ć„ć¦ć®č©³ē“°ć«ć¤ć„恦ćÆ恓恔悉恮ć‚Øćƒ³ćƒˆćƒŖćƒ¼ć‚’å‚ē…§ć—ć¦ćć ć•ć„ć€‚ä»„äø‹ć®ę‰‹é †ć§å¤‰ę›“ć§ćć¾ć™ć€‚

  1. ć‚¹ć‚ÆćƒŖ惗惈ć‚Øćƒ‡ć‚£ć‚æ悒開恏
  2. ćƒ”ćƒ‹ćƒ„ćƒ¼ć®ć€Œč”Øē¤ŗ怍ā‡’ć€Œćƒžćƒ‹ćƒ•ć‚§ć‚¹ćƒˆćƒ•ć‚”ć‚¤ćƒ«ć‚’č”Øē¤ŗ怍悒ć‚ÆćƒŖ惃ć‚Æ
  3. appsscript.json悒開恍态1č”Œä»„äø‹ć®ć‚ˆć†ćŖ悂恮悒悒čæ½åŠ ć™ć‚‹
  4. äæå­˜ć™ć‚Œć°ć€ć™ćć«ä½æćˆć‚‹ć‚ˆć†ć«ćŖć‚Šć¾ć™ć€‚
  5. 悂ćØć«ęˆ»ć™å “åˆć«ćÆć€ć“ć®č”Œć‚’å‰Šé™¤ć™ć‚Œć°ć‚Ŗćƒƒć‚±ćƒ¼ć§ć™ć€‚ļ¼ˆDEPRECATED_ES5ć‚’ęŒ‡å®šć—ć¦ć‚‚åÆļ¼‰

図ļ¼šē°”å˜ć«ä½æćˆć‚‹ć‚ˆć†ć«ćŖć‚Šć¾ć™

ꤜčؼēµęžœćØ恗恦ćÆć€ä»Šå›žć®ć‚µćƒ³ćƒ—ćƒ«ć§čØ€ćˆć°ćƒ»ćƒ»ćƒ»

꜀ę‚ŖćŖć‚³ćƒ¼ćƒ‰ć§ę›øć„ćŸå “åˆć®ę¤œčؼēµęžœćÆ态怌97.078ļ¼ˆē§’ļ¼‰ć€ć§ć—ćŸć€‚ļ¼ˆ18%ć»ć©ę—©ć‹ć£ćŸļ¼‰

äø€ē•Ŗč‰Æ恄äŗ‹ä¾‹ć§ę›øć„ćŸå “åˆć®ę¤œčؼēµęžœćÆ态怌0.424ļ¼ˆē§’ļ¼‰ć€ć§ć—ćŸć€‚ļ¼ˆ19%ć»ć©ę—©ć‹ć£ćŸļ¼‰

ćØć„ć£ćŸę„Ÿć˜ć§ć—ćŸć€‚20%čæ‘ćé€Ÿåŗ¦ć‚¢ćƒƒćƒ—ćŒč¦‹č¾¼ć‚ć‚‹ć®ć§ć€V8恫恗恦悂č‰Æć„ć§ć™ćŒć€ć¾ć ćƒŖćƒŖćƒ¼ć‚¹ć—ćŸć°ć‹ć‚ŠćŖ恮ćØ态ę³Øꄏē‚¹ć‚‚ć‚ć‚‹ć®ć§ć€ćć“ć‚’č€ƒę…®ć—ć¦å¤‰ę›“ć—ć¾ć—ć‚‡ć†ć€‚

Proxyć‚’åˆ©ē”Ø恙悋

V8 Runtimeć‚’ęœ‰åŠ¹åŒ–ć—ć¦ć‚‹å “åˆę§˜ć€…ćŖES6ä»•ę§˜ć®JSć‚’åˆ©ē”ØåÆčƒ½ć§ć™ćŒć€ćć®äø­ć«ć‚ć‚‹Proxy恫恤恄恦ćÆé«˜é€ŸåŒ–ć«č‹„å¹²č²¢ēŒ®ć§ćć‚‹ć‚±ćƒ¼ć‚¹ćŒć‚ć‚Šć¾ć™ć€‚ćć®ć‚±ćƒ¼ć‚¹ćØćÆ

  1. å…ØćåŒć˜ę§˜å¼ć®ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆćŒč¤‡ę•°ćƒ•ć‚”ć‚¤ćƒ«ć‚ć‚‹ļ¼ˆć¾ćŸåŒę§˜ć«č¤‡ę•°ć‚·ćƒ¼ćƒˆć‚ć‚‹ļ¼‰
  2. ć“ć‚Œć‚‰ć®ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®IDćØć‚·ćƒ¼ćƒˆåć‚’ćƒŖć‚¹ćƒˆåŒ–ć‚·ćƒ¼ćƒˆćŒē”Øę„ć•ć‚Œć¦ć„ć‚‹
  3. 2.恮ćƒŖć‚¹ćƒˆć‚’äø‹ć«ć‚·ćƒ¼ćƒˆćƒ‡ćƒ¼ć‚æć‚’å–å¾—ć—ć¦ć¾ćØ悁恦1ē®‡ę‰€ć«ę›ø恍å‡ŗ恙

ä¾‹ćˆć°ę”Æåŗ—恔ćØć®å£²äøŠć§ć‚ć£ćŸć‚Šę–½čØ­ć”ćØć®åˆ©ē”ØēŠ¶ę³ćƒ‡ćƒ¼ć‚æćŖć©ć‚’ć‚¹ćƒ—ć‚·ęÆŽć«ē”Øę„ć—ć¦ć€ć“ć‚Œć‚‰ć®ćƒ•ć‚”ć‚¤ćƒ«ć®IDćØć‚·ćƒ¼ćƒˆåć‚’ćƒŖć‚¹ćƒˆåŒ–ć—ć¦ć‚‹ć‚ˆć†ćŖć‚±ćƒ¼ć‚¹ć§ć™ć€‚ēµę§‹ć“ć®ćƒ‘ć‚æćƒ¼ćƒ³ć‚’åˆ©ē”Øć—ć¦ć‚‹ę„­å‹™ćÆå¤šć„ć§ć™ć€‚ć—ć‹ć—ć€ć“ć®ćƒŖć‚¹ćƒˆć‚’å…ƒć«å…Øćƒ‡ćƒ¼ć‚æć‚’å–å¾—ć™ć‚‹å “åˆć€ä»„äø‹ć®å•é”ŒćŒē™ŗē”Ÿć—ć¾ć™ć€‚

  • ćƒŖć‚¹ćƒˆå†…ć®ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®ID恌åæ…ćšć—ć‚‚ć‚½ćƒ¼ćƒˆć•ć‚Œć¦ć‚‹ćØćÆ限悉ćŖ恄怂
  • ä»®ć«ć‚½ćƒ¼ćƒˆć•ć‚Œć¦ć„ćŸćØ恗恦悂态GASć§å›žć™å “åˆć€ę¬”ć®ćƒ¬ć‚³ćƒ¼ćƒ‰ć®ć‚¹ćƒ—ć‚·ć®IDćŒå‰ć®ć‚¹ćƒ—ć‚·ć®IDćØ同äø€ć‹ć©ć†ć‹ļ¼Ÿć®åˆ¤å®šćŒåæ…要恫ćŖ悋怂

恝恆ćŖ悋ćØć€ęœ€åˆć®openByIdć§ć‚¹ćƒ—ć‚·ć‚’å–å¾—ć™ć‚‹ćØć„ć†å‹•ä½œć«ę–¼ć„ć¦ć€č¤‡é›‘ćŖ惭ć‚ø惃ć‚Æ恌åæ…要恫ćŖć‚Šć€ć¾ćŸćć‚Œć‚’å«Œć£ć¦ćƒŖć‚¹ćƒˆć‚’ćć®ć¾ć¾å›žć™ćØć€åŒć˜ć‚·ćƒ¼ćƒˆIDć®ć‚¹ćƒ—ć‚·ć‚’openByIdć§å–å¾—ć™ć‚‹ćØ恄恆ē„”駄恌ē™ŗē”Ÿć—ć¾ć™ć€‚ć“ć‚Œć‚’Proxyć‚’åˆ©ē”Øć—ćŸę‰‹ę³•ć‚’ē”Ø恄悋ćØć™ć§ć«å–å¾—ęøˆćæć®å “åˆćÆć€å–å¾—ęøˆćæć®ć‚¹ćƒ—ć‚·ćØ恗恦čæ”恙仕ēµ„ćæ恌꧋ēƉåÆčƒ½ć§ć™ć€‚

恓恮仕ēµ„ćæ恧꧋ēÆ‰ć—ćŸå “åˆć€4ć¤ć®ć‚¹ćƒ—ć‚·ć€7ęžšć®ć‚·ćƒ¼ćƒˆļ¼ˆćƒ‡ćƒ¼ć‚æ件ꕰćÆ恝悌恞悌10000ćƒ¬ć‚³ćƒ¼ćƒ‰ļ¼‰ć®å “合ćÆ

  • ę”¹č‰Æ恛恚å…ØéƒØå–å¾—ć§ę›øć„ćŸå “åˆć®ę¤œčؼēµęžœćÆ态怌6.05ļ¼ˆē§’ļ¼‰ć€ć§ć—ćŸć€‚
  • Proxy恧ę›øć„ćŸå “åˆć®ę¤œčؼēµęžœćÆ态怌3.44ļ¼ˆē§’ļ¼‰ć€ć§ć—ćŸć€‚ļ¼ˆ56%ć»ć©ę—©ć‹ć£ćŸļ¼‰

ćØćŖć‚Šć¾ć—ćŸć€‚ćƒćƒƒćƒˆćƒÆćƒ¼ć‚Æ恮ēŠ¶ę³ć«ć‚ˆć£ć¦äøŠčØ˜ć®ę•°å€¤ćÆć ć„ć¶å¤‰ć‚ć‚Šć¾ć™ćŒć€ę¦‚ć­Proxyć®ć»ć†ćŒę—©ć„ēµęžœćŒå‡ŗć¦ć„ć¾ć™ć€‚ä»„äø‹ćÆ通åøøć®å–å¾—ć®å “åˆćØProxy恧ę›øć„ćŸå “åˆć®ć‚³ćƒ¼ćƒ‰ć«ćŖć‚Šć¾ć™ć€‚

図ļ¼šåŒć˜SSID恌å‡ŗē¾ć™ć‚‹ćŒć‚½ćƒ¼ćƒˆć•ć‚Œć¦ć„ćŖ恄

filterć‚’åˆ©ē”Ø恙悋

ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®ćƒ‡ćƒ¼ć‚æć‚’å–å¾—ć—ć¦ć€äø­čŗ«ć‚’åˆ¤å®šć—å€‹ę•°ć‚’ę•°ćˆć‚‹ć€‚éžåøøć«å˜ē“”ćŖä½œę„­ćŖć®ć§ć™ćŒć€ć“ć®éƒØåˆ†ć§ć‚‚ES6ć®ćƒ”ć‚½ćƒƒćƒ‰ć§ć‚ć‚‹filterćƒ”ć‚½ćƒƒćƒ‰ć‚’ä½æ恆恓ćØć§č‹„å¹²é«˜é€ŸåŒ–åÆčƒ½ć«ć§ćć‚‹ć‹ć‚‚ć—ć‚Œć¾ć›ć‚“ć€‚ć“ć”ć‚‰ć§ē“¹ä»‹ć•ć‚Œć¦ć„ćŸå†…å®¹ć«ćŖć‚Šć¾ć™ć€‚

å®Ÿéš›ć«ćƒ€ćƒŸćƒ¼ćƒ‡ćƒ¼ć‚æ悒ē”Øę„ć—ć¦ć€D列ļ¼ˆćƒć‚§ćƒƒć‚Æļ¼‰ćŒTrueć®ć‚‚ć®ć ć‘ć‚’ć‚«ć‚¦ćƒ³ćƒˆć—ć¦čæ”恙ćØć„ć†ä½œę„­ć«ę–¼ć„ć¦é€šåøø恮Forćƒ«ćƒ¼ćƒ—ć§åˆ¤å®šć•ć›ć‚‹ę–¹ę³•ćØ态filterć§ćƒ•ć‚£ćƒ«ć‚æćƒŖćƒ³ć‚°ć—ć¦ć‚«ć‚¦ćƒ³ćƒˆć™ć‚‹ę–¹ę³•ć‚’ęÆ”č¼ƒć—ć¦ćæć¾ć—ćŸć€‚ćƒ‡ćƒ¼ć‚æćÆćƒ©ćƒ³ćƒ€ćƒ ē”Ÿęˆć®é–¢ę•°ć‚’ä½æć£ć¦ć‚‹ć®ć§é–‹ćåŗ¦ć«å¤‰ć‚ć‚Šć¾ć™ćŒć€4970個/10000件äø­ćŒćƒć‚§ćƒƒć‚Æå…„ćØć„ć†ć‚±ćƒ¼ć‚¹ć«ę–¼ć„ć¦

  • 通åøø恮forćƒ«ćƒ¼ćƒ—ć®å “åˆļ¼š0.005ē§’
  • filterć§ćƒ•ć‚£ćƒ«ć‚æć—ćŸå “åˆļ¼š0.001ē§’

ćØ恄恆ēµęžœć«ćŖć‚Šć¾ć—ćŸć€‚ćŠć‚ˆć5å€ć»ć©ę—©ć„ć€‚filterćƒ”ć‚½ćƒƒćƒ‰ćÆē©ę„µēš„恫ä½æć£ćŸć»ć†ćŒč‰Æć•ćć†ć§ć™ć€‚ä»„äø‹ćÆꤜčؼē”Øć®ć‚³ćƒ¼ćƒ‰ć§ć™ć€‚

HTML Serviceć‚’ę“»ē”Ø恙悋

恓恮悻ć‚Æć‚·ćƒ§ćƒ³ć§ē“¹ä»‹ć™ć‚‹ę–¹ę³•ćÆć€é«˜é€ŸåŒ–ć™ć‚‹ćØčØ€ć†ć‚ˆć‚ŠćÆ态6åˆ†ć®å®Ÿč”ŒćƒŖćƒŸćƒƒćƒˆć‚’å›žéæć—ć¦ä½œę„­ć‚’č”Œć‚ć›ć‚‹äŗ‹ć®ć§ćć‚‹ćƒ†ć‚Æ惋惃ć‚Æ恧恙怂HTML Service恧ē”Ÿęˆć—ćŸHTMLćÆć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć®ćƒžć‚·ćƒ³äøŠć§å‹•ä½œć—恦悋恮恧态JavaScriptć®å®Ÿč”Œę™‚é–“ć«åˆ¶é™ćÆć‚ć‚Šć¾ć›ć‚“ć€‚ćŸć ć—ć€ć“ć®å‡¦ē†ć‚’äø€ē™ŗć§č”Œć‚ć›ć‚‹ć«ćÆć€åŒęœŸå‡¦ē†ćŒåæ…要恫ćŖ悋恮恧态äøŠę‰‹ćå‰ć®å‡¦ē†ćŒēµ‚ć‚ć£ćŸć‚‰ę›øč¾¼ćƒ«ćƒ¼ćƒćƒ³ć‚’å®Ÿč”Œć™ć‚‹ć‚ˆć†ć«ć—ćŖ恄ćØć€ćƒ‡ćƒ¼ć‚æć®å›žåŽćŒēµ‚ć‚ć£ć¦ć„ćŖ恄恮恫态GAS偓ćøęŠ•ć’ć‚‰ć‚Œć¦ć—ć¾ć†ć®ć§ę³Øꄏ恌åæ…要恧恙怂

ā€»ćƒ†ć‚¹ćƒˆå®Ÿč”ŒćÆć€ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®ćƒ”ćƒ‹ćƒ„ćƒ¼ć‚ˆć‚Šć€Œćƒ†ć‚¹ćƒˆć€ā‡’ć€Œćƒ‡ćƒ¼ć‚æ惁悧惃ć‚Æ怍ā‡’ć€ŒHTML Serviceć§å–å¾—ć™ć‚‹ć€ćŠć‚ˆć³ć€ŒVisualization APIć§å–å¾—ć€ć‚’å®Ÿč”Œć—ć¾ć™ć€‚

単ē“”ćŖä½æē”Ø例

  1. GASå“ć‹ć‚‰ć‚·ćƒ¼ćƒˆć®ćƒŖć‚¹ćƒˆć‚’å–å¾—ć™ć‚‹ć€‚
  2. Google Apps Scriptå“ć§å‡¦ē†ć‚’ę‹…å½“ć™ć‚‹é–¢ę•°ćÆ連ē¶šå‡¦ē†ć§ćÆćŖćå˜äø€ć®å‡¦ē†ć‚’č”Œć†ć ć‘ć§ć‚ć‚‹ļ¼ˆć‚ć‚‹ć‚·ćƒ¼ćƒˆć®ćƒ‡ćƒ¼ć‚æć®å”Šć‚’å–å¾—ć—ć¦HTML偓ćøčæ”恙恠恑ćØ恋怂
  3. ꕅ恫态HTMLå“ć«ć‚·ćƒ¼ćƒˆć®ID悒ꉀꌁ恗态ćƒŖć‚¹ćƒˆć«ć—ćŸćŒć£ć¦2.ćøID悒ꊕ恒态čæ”ć£ć¦ććŸå€¤ć‚’é…åˆ—ć«pushļ¼ˆć‚‚ć—ććÆ态Array.prototype.push.applyļ¼‰ć™ć‚‹ć‚³ćƒ¼ćƒ‰ć‚’čؘčæ°ć™ć‚‹ć€‚
  4. ꜀ēµ‚ēš„恫äø€å”Šć«ćŖć£ćŸé…åˆ—ćƒ‡ćƒ¼ć‚æ悒GASå“ć«é€ć‚Ščæ”ć—ć¦ć‚·ćƒ¼ćƒˆć«ę›øćč¾¼ć¾ć›ć‚‹

恓悓ćŖå…·åˆć§ć™ć€‚åøø恫GAS偓ćØć‚„ć‚Šå–ć‚Šć‚’ć—ć¦ć„ć¾ć™ćŒć€GASå“ć§ć®å®Ÿéš›ć®å‡¦ē†ćÆć€å˜äø€ć‚·ćƒ¼ćƒˆćƒ‡ćƒ¼ć‚æć®å–å¾—ćØå”Šć®ę›øč¾¼ć§ć™ć®ć§ć€ļ¼‘恤ļ¼‘ć¤ćŒ6åˆ†ć«åˆ°é”ć™ć‚‹äŗ‹ćŒćŖć‘ć‚Œć°å•é”ŒćŖćé€£ē¶šå‡¦ē†ć‚’ꊕ恒悋äŗ‹ćŒåÆčƒ½ć§ć™ć€‚ä»Šå›žć®ć‚µćƒ³ćƒ—ćƒ«ć§ćÆć€ćƒ€ćƒŸćƒ¼ć®ć‚·ćƒ¼ćƒˆļ¼ˆ10ć‚«ćƒ©ćƒ 1000ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’10Ꞛļ¼‰ć‚’ćŠć‚ˆć32ē§’ć§å–å¾—å‡ŗę„ć¦ć„ć¾ć™ć€‚

ā€»ćƒ‡ćƒ¼ć‚æć®å‡¦ē†ć‚’GASå“ć§ć‚„ć‚‰ć›ćšć€HTML Service恧ē”Ÿęˆć—ćŸHTMLäøŠć«ć¦ć€JavaScriptć«ć‚„ć‚‰ć›ć‚‹ć®ćŒćƒć‚¤ćƒ³ćƒˆć§ć™ć€‚

ā€»google.script.run.withSuccessHandler悒ä½æē”Øć—ć¦ć„ć¾ć™ć€‚ć“ć®é–¢ę•°ć®å®Ÿč”ŒćÆéžåŒęœŸć§å®Ÿč”Œć•ć‚Œć‚‹ć®ć§ć€äø¦åˆ—処ē†ć£ć½ć„ä½œę„­ć‚‚č”Œćˆć¾ć™ć€‚

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

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

PromisećØć‚æć‚¤ćƒžćƒ¼ć§åŒęœŸå‡¦ē†

å‰é …ć®å˜ē“”ćŖäŗ‹ä¾‹ćÆGAS偓ćÆćƒ‡ćƒ¼ć‚æć®å–å¾—ć‚’č”Œć£ć¦HTMLå“ć§å‡¦ē†ć‚’恙悋恓ćØ悒ē›®ēš„ćØć—ćŸć‚‚ć®ć§ć™ćŒć€é€†ć«HTML偓ćÆć‚æć‚¤ćƒžćƒ¼ē®”ē†ć‚’č”Œć†ć“ćØć«å¾¹ć—ć¦ć€å‡¦ē†ćÆGASå“ć§č”Œć‚ć›ć‚‹å “åˆć«ćÆPromiseć«ć‚ˆć‚‹åŒęœŸå‡¦ē†ć‚’実ē¾ć™ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚ć—ć‹ć—ć€google.script.runćÆéžåŒęœŸć«ćƒćƒ³ćƒćƒ³å®Ÿč”Œć•ć‚Œć¦ć—ć¾ć†ć®ćØć€ćƒ«ćƒ¼ćƒ—å‡¦ē†ć‚‚ć¾ćŸåŒć˜ćŖ恮恧äøŠę‰‹ć«ćƒ«ćƒ¼ćƒ—ć‚’å›žć—ć¤ć¤ć€ę›øćč¾¼ćæć‚’č€ƒę…®ć—ć¦ć‚æć‚¤ćƒžćƒ¼ć‚’ęŽ›ć‘ć€é †ē¹°ć‚Šć«google.script.runć‚’å®Ÿč”Œć™ć‚‹ć‚ˆć†ć«ć™ć‚‹ćØ态GASå“ć§é€£ē¶šå‡¦ē†ć‚’恛恚ćØć‚‚å›žć™äŗ‹ćŒåÆčƒ½ć§ć™ć€‚

  1. HTML偓ćÆPromisećØTimer恫恦google.script.runć®å®Ÿč”ŒćØ3ē§’é–“ć®ć‚¦ć‚§ć‚¤ćƒˆć‚’å®Ÿē¾ć™ć‚‹
  2. GASå“ć‹ć‚‰1000ćƒ¬ć‚³ćƒ¼ćƒ‰ćšć¤å–å¾—ć™ć‚‹
  3. åˆ„ć®ć‚·ćƒ¼ćƒˆć«čæ½čØ˜ć§ć‚³ćƒ”ćƒ¼ć™ć‚‹
  4. ćƒ«ćƒ¼ćƒ—ć®å›žę•°åˆ†ć ć‘2.怜3.ć‚’å®Ÿč”Œć™ć‚‹
  5. 完äŗ†ć—ćŸć‚‰ćƒ€ć‚¤ć‚¢ćƒ­ć‚°ć‚’é–‰ć˜ć‚‹
  6. ć“ć‚Œć‚’ęœ¬ę„éžåŒęœŸć§å®Ÿč”Œć•ć‚Œć¦ć—ć¾ć†google.script.runć®å®Ÿč”Œć‚’åŒęœŸēš„ć«å®Ÿč”Œć§ćć‚‹ć‚ˆć†ć«ćŖć‚Šć¾ć™ć€‚

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

  • 1000ä»¶å–ć£ć¦ć‚³ćƒ”ćƒ¼ć‚’ć—ćŸć‚‰å®Œäŗ†ć™ć‚‹ćƒ«ćƒ¼ćƒćƒ³ć§ć™ć€‚
  • åˆęœŸå€¤ć®cntćÆHTMLå“ć‹ć‚‰å—ć‘å–ć‚Šć¾ć™ć€‚ć“ć‚ŒćŒćƒ¬ć‚³ćƒ¼ćƒ‰å–å¾—é–‹å§‹ä½ē½®ć«ć‚‚ćŖć‚Šć¾ć™ć€‚
  • ļ¼‘回ē›®ćÆć‚æć‚¤ćƒˆćƒ«č”ŒćŒć‚ć‚‹ć®ć‚’č€ƒę…®ć—ć¦ć€rangeć®å–å¾—ę–¹ę³•ć‚’å¤‰ćˆć¦ć„ć¾ć™ć€‚
  • ćƒ‡ćƒ¼ć‚æ恮čŖ­ćæę›ø恍ćÆäø€ē™ŗć§č”Œć£ć¦ć„ć¾ć™ć€‚

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

  • ä»Šå›žć€PromisećØćƒ«ćƒ¼ćƒ—ć€ćć—ć¦3ē§’恮ć‚æć‚¤ćƒžćƒ¼ć‚’å®Ÿē¾ć™ć‚‹ć‚³ćƒ¼ćƒ‰ćÆć“ć”ć‚‰ć®ć‚µć‚¤ćƒˆć‹ć‚‰ćŠå€Ÿć‚Šć—ć¾ć—ćŸć€‚
  • 惜ć‚æćƒ³ć‚ÆćƒŖ惃ć‚Æ恧dispćŒå®Ÿč”Œć•ć‚Œć€ä»Šå›ž2000ćƒ¬ć‚³ćƒ¼ćƒ‰ćŖć®ć§ćƒ«ćƒ¼ćƒ—å›žę•°ć‚’1ćØć—ć¦ęŒ‡å®šļ¼ˆć¤ć¾ć‚Š2å›žå®Ÿč”Œļ¼‰ć€‚
  • loopé–¢ę•°ćÆå¼•ę•°ć®å®Ÿč”Œé–¢ę•°åć€åˆęœŸć‚«ć‚¦ćƒ³ć‚æć€ćƒ«ćƒ¼ćƒ—å›žę•°ć‚’å—ć‘å–ć‚Šć€ifę–‡ć§åˆ¤å®šć—ć¦å†åø°ēš„恫č‡Ŗ分č‡Ŗčŗ«ć‚’å®Ÿč”Œć—ć¦ć„ć¾ć™ć€‚
  • ćƒ«ćƒ¼ćƒ—å›žę•°ć«é”ć™ć‚‹ćØgoogle.script.host.closeć§ćƒ€ć‚¤ć‚¢ćƒ­ć‚°ć‚’é–‰ć˜ć¦ć„ć¾ć™ć€‚
  • å®Ÿéš›ć«å‡¦ē†ć‚’č”Œć†actioné–¢ę•°ć«ć¦ć€setTimeoutć§ć‚¹ćƒŖćƒ¼ćƒ—ć‚’ļ¼ˆmsć§ęŒ‡å®šļ¼‰ć€ćƒ¬ć‚³ćƒ¼ćƒ‰č»¢čØ˜ćƒ—ćƒ­ć‚»ć‚¹ć«google.script.run.withSuccessHandler悒callbackć™ć‚‹å½¢ć§ēµ„ćæč¾¼ć‚“ć§ć„ć¾ć™ć€‚
  • GASå“ć§å‡¦ē†ć‚’完äŗ†ć—callbackć—ćŸć‚‰ć€ć‚°ćƒ­ćƒ¼ćƒćƒ«å¤‰ę•°ć®ć‚«ć‚¦ćƒ³ć‚æ恫1000ć‚’åŠ ćˆć¦ć„ć‚‹ć€‚
  • GASå“é–¢ę•°å®Ÿč”Œę™‚ć«å¼•ę•°ćØć—ć¦ć‚°ćƒ­ćƒ¼ćƒćƒ«å¤‰ę•°ć®ć‚«ć‚¦ćƒ³ć‚æ悒ęø”ć—ć¦ć„ć¾ć™ć€‚
  • forꖇćŖć©ć®ćƒ«ćƒ¼ćƒ—ć‚’ä½æ恆ćØéžåŒęœŸć«ę¬”ć€…ć«å®Ÿč”Œć•ć‚Œć¦ć—ć¾ć†ć®ć§ć€ä»Šå›žć®ć‚ˆć†ć«ć‚«ć‚¦ćƒ³ć‚æ悒ä½æć£ćŸå€¤ć®ęÆ”č¼ƒć§å‡¦ē†ć‚’å®Ÿč”Œć•ć›ć¾ć™ć€‚

ć“ć‚Œć‚‰ć®åæœē”Ø例ćØ恗恦仄äø‹ć®ć‚ˆć†ćŖć‚Øćƒ³ćƒˆćƒŖćƒ¼ć‚‚ä½œęˆć—ć¦ćæć¾ć—ćŸć€‚

Google Apps Scriptć§ćƒ‰ć‚­ćƒ„ćƒ”ćƒ³ćƒˆć‚’äø€ę‹¬ć§PDF恫恙悋怐GAS怑

Visualization API悒ä½æē”Ø恙悋

ćƒ‡ćƒ¼ć‚æć®å”Šć‚’å›žåŽć™ć‚‹ć‚ˆć†ćŖä½œę„­ć«ę–¼ć„ć¦ć€GAS恧悄悉恛悋ćØć‚æ悤惠ć‚Ŗćƒ¼ćƒćƒ¼ć—ć¦ć—ć¾ć†ć‚ˆć†ćŖć‚±ćƒ¼ć‚¹ć§ć‚‚ć€HTML ServiceäøŠć§Visualization API悒ä½æē”Ø恙悋äŗ‹ć§ć‚æ悤惠ć‚Ŗćƒ¼ćƒćƒ¼ćØ関äæ‚ćŖćå‡¦ē†ć‚’č”Œć‚ć›ć‚‹äŗ‹ćŒåÆčƒ½ć§ć™ć€‚

  1. GASå“ć‹ć‚‰ć‚·ćƒ¼ćƒˆć®ćƒŖć‚¹ćƒˆć‚’å–å¾—ć™ć‚‹ć€‚
  2. Visualization APIć‚’åˆ©ē”Øć—ć¦ćƒ‡ćƒ¼ć‚æć®å”Šć‚’å–å¾—ć™ć‚‹å‡¦ē†ć‚’連ē¶šå‡¦ē†ć•ć›ć‚‹ć€‚å–å¾—ćƒ‡ćƒ¼ć‚æćÆé…åˆ—ć«ę ¼ē“ć™ć‚‹
  3. ꜀ēµ‚ēš„恫äø€å”Šć«ćŖć£ćŸé…åˆ—ćƒ‡ćƒ¼ć‚æ悒GASå“ć«é€ć‚Ščæ”ć—ć¦ć‚·ćƒ¼ćƒˆć«ę›øćč¾¼ć¾ć›ć‚‹ć€‚

恓悓ćŖå…·åˆć§ć™ć€‚GASå“ć§ć‚„ć£ć¦ć‚‹äŗ‹ćÆę›øč¾¼å‡¦ē†ć ć‘ć§ć™ć®ć§ć€ć‚ˆć»ć©å¤§é‡éŽćŽć‚‹ćƒ‡ćƒ¼ć‚æ恧ćŖ恑悌恰ć‚æć‚¤ćƒ ć‚¢ć‚¦ćƒˆć—ćŖ恄ćÆ恚恧恙怂Visualization APIćÆHTMLå“ć§å‹•ä½œć—ć¦ć„ć¾ć™ć®ć§ć€ćƒ‡ćƒ¼ć‚æć®å–å¾—ć§ć‚æć‚¤ćƒ ć‚¢ć‚¦ćƒˆćÆē™ŗē”Ÿć—ć¾ć›ć‚“ć€‚å®Ÿč”Œć—ć¦ćæ恟ēµęžœćÆ态26ē§’ć§ć—ćŸć€‚

ā€»ä½•ę•…ć‹ć“ć”ć‚‰ć®ć‚„ć‚Šę–¹ć®å “åˆć€HTMLå“ć‹ć‚‰GAS偓ćøé…åˆ—ćƒ‡ćƒ¼ć‚æ悒ęø”ć™ę™‚ć«ć€ŒFailed due to illegal value in property怍ćØ恄恆ć‚Øćƒ©ćƒ¼ćŒå‡ŗ悋恮恧态HTMLå“ć§JSON.stringify(masterdata)ćØ恗恦ęø”恗恦äøŠć’恦态GASå“ć§JSON.parse(array)ćØć—ć¦å—ć‘å–ć‚‰ć›ć¦ć¾ć™ć€‚ä»–ćÆå…ØćåŒć˜ć‚³ćƒ¼ćƒ‰ć§ć™ć€‚

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

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

ć‚·ćƒ¼ćƒˆé–¢ę•°ē­‰ć§å‡ŗę„ć‚‹äŗ‹ćÆćŖć‚‹ć¹ćć‚„ć‚‰ć›ć‚‹

恓恮項ē›®ćÆ态Google Apps Scriptć®é«˜é€ŸåŒ–ćØ恄恆悈悊ćÆ态恄恋恫Google Apps Script悒ä½æć‚ćšć«ęøˆć¾ć›ć‚‹ć‹ļ¼ŸćØ恄恆äŗ‹ć‚’ć¾ćØ悁恟項ē›®ć§ć™ć€‚ćŖ悓恧悂恋悓恧悂Google Apps Scriptć§å‡¦ē†ć‚’恙悋ćØ恄恆恮ćÆę­£ć—ć„äŗ‹ć§ćÆć‚ć‚Šć¾ć›ć‚“ć€‚ć¾ćŸć€ćƒ‡ćƒ¼ć‚æć®å”Šå–å¾—ć®ć‚ˆć†ćŖå¤§ććŖä½œę„­ć®å “åˆć€ęØŖē€ć—恦ꗄčØˆćƒ‡ćƒ¼ć‚æć‚’ć‚¬ćƒƒćƒ„ćƒŖå–ć£ć¦ćć‚‹ć‚ˆć†ćŖäŗ‹ć‚’恙悋ćØ态ē›“恐恫ć‚æ悤惠ć‚Ŗćƒ¼ćƒćƒ¼ć«ćŖć£ć¦ć—ć¾ć„ć¾ć™ć€‚ćć“ć§ć€ć“ć‚Œć‚‰Google Apps Scriptć§å‡¦ē†ć‚’ć™ć‚‹å‰ę®µéšŽć§ä½œę„­ć‚’č”Œć‚ć›ć¦ć€Scriptć®å‡¦ē†é€Ÿåŗ¦ć‚’ēµęžœēš„ć«å‘äøŠć•ć›ć‚ˆć†ćØ恄恆äŗ‹ć‚’ē ”ē©¶ć—čؘčæ°ć—ć¦ć„ć¾ć™ć€‚

ćƒ‡ćƒ¼ć‚æćÆé–¢ę•°ć§é›†čØˆć—ć¦ćŠć

各ēØ®ćƒ‡ćƒ¼ć‚æ恮集č؈ćØåŽé›†ć‚’č”Œć†ć‚ˆć†ćŖć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®å “åˆć€å–å¾—ć™ć‚‹ćƒ‡ćƒ¼ć‚æé‡ćŒå¤šć™ćŽć‚‹å “åˆć€ę§˜ć€…ćŖé«˜é€ŸåŒ–ć®åŠŖåŠ›ć‚’ć—ć¦ć„ć¦ć‚‚ć€ć‚æć‚¤ćƒ ć‚¢ć‚¦ćƒˆć™ć‚‹äŗ‹ćŒć¾ć¾ć‚ć‚Šć¾ć™ć€‚č‡Ŗåˆ†ć®å®ŸéØ“ć§ćÆ态10ć‚«ćƒ©ćƒ 30,000ä»¶ć®ćƒ‡ćƒ¼ć‚æåŽé›†ć—ć¦ć€č‡Ŗåˆ†ć®ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć«ę›øćč¾¼ć‚€ćƒ«ćƒ¼ćƒćƒ³ć‚’ä½œć£ćŸę‰€ć€ć‚æć‚¤ćƒ ć‚¢ć‚¦ćƒˆć—ć¦ć—ć¾ć„ć¾ć—ćŸć€‚ćƒ‡ćƒ¼ć‚æćÆę—„č؈č”Ø恧集č؈č‡Ŗ体ćÆęœˆę¬”é›†č؈ćØć—ć¦č”Œć£ć¦ć„ć¾ć™ć€‚ć“ć®ć‚ˆć†ćŖć‚±ćƒ¼ć‚¹ć®å “åˆć€ä»„äø‹ć®ę”¹å–„ē‚¹ćŒč¦‹č¾¼ć‚ć¾ć™ć€‚

  • åæ…要ćŖ꜀ēµ‚ćƒ‡ćƒ¼ć‚æćÆęœˆę¬”é›†čØˆćƒ‡ćƒ¼ć‚æ恧恂悋恮恧态äŗˆć‚å„ć‚·ćƒ¼ćƒˆć§é›†čØˆć•ć‚Œć¦ć‚‹ēµęžœć‚’ć€ć‚¹ć‚ÆćƒŖ惗惈ćÆåŽé›†ć™ć‚‹ć‚ˆć†ć«å¤‰ę›“ć™ć‚‹ć€‚
  • å„ć‚·ćƒ¼ćƒˆć®ćƒ‡ćƒ¼ć‚æ集č؈ćÆē‹¬č‡Ŗć®é–¢ę•°ć§ćÆćŖćć€ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆęؙęŗ–č£…å‚™ć®é–¢ę•°ć‚’ä½æē”Øć—ć¦č”Œć†ć€‚ē‹¬č‡Ŗć®é–¢ę•°ć‚’ä½æē”Øć—ćŸå “åˆć€å‡¦ē†ćŒé–“ć«åˆć‚ćšćƒ‡ćƒ¼ć‚æć‚’å–ć‚Šęć­ć‚‹ć€‚ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆęؙęŗ–ć®é–¢ę•°ć®å “åˆćć®ęć‚ŒćŒćŖ恄怂
  • 複雑ćŖ集čØˆć«ć¤ć„ć¦ćÆ态QUERYé–¢ę•°ć‚’ä½æē”Øć—ć€å “åˆć«ć‚ˆć£ć¦ćÆPivotęŒ‡å®šć‚’ć—ć¦ć‚Æćƒ­ć‚¹é›†čØˆć‚’č”Œć‚ć›ć‚‹ć€‚

ć“ć®ę”¹å–„ć‚’č”Œć£ćŸēµęžœć€ć‚æć‚¤ćƒ ć‚¢ć‚¦ćƒˆć—ć¦ć„ćŸå‡¦ē†ćÆ态20ē§’ć§å®Œäŗ†ć—态ē›®ēš„ć®ęœˆę¬”集č؈č”ØćŒä½œć‚Œć‚‹ć‚ˆć†ć«ćŖć‚Šć¾ć—ćŸć€‚ćƒ‡ćƒ¼ć‚æć‚’å‡¦ē†ć™ć‚‹ćØčØ€ć£ć¦ć‚‚ć€ćƒ‡ćƒ¼ć‚æć®ćƒ‡ć‚«ć‚¤å”Šć§ć‚ć‚‹åæ…č¦ę€§ćŒćŖ恄恮ćŖć‚‰ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®é–¢ę•°ć«ć‚„ć‚‰ć›ć‚‹ć‚ˆć†ć«ć—ć¾ć—ć‚‡ć†ć€‚

č¤‡ę•°ć®ć‚·ćƒ¼ćƒˆć«ć—ćŖ恄

ꦂ要

ļ¼‘ć¤ć®ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć«ćƒ‡ćƒ¼ć‚æ悒蓄ē©ć™ć‚‹ć‚·ćƒ¼ćƒˆć‚’č¤‡ę•°ć«ć—ć¦ć‚‹ć‚±ćƒ¼ć‚¹ćŒć‚ć‚Šć¾ć™ć€‚ē†ē”±ćÆåŒć˜ę—„č؈č”Øć§ć‚ć£ć¦ć‚‚å…„åŠ›ć™ć‚‹å€¤ćŒē•°ćŖ悋ćØ恄恆ē†ē”±ć§ć‚«ćƒ©ćƒ ć®ę•°ćŒé•ć£ćŸć‚Šć—恦悋ē‚ŗć§ć™ć€‚ę•…ć«ć‚·ćƒ¼ćƒˆåć«ä¾‹ćˆć°ć‚³ćƒ¼ćƒ‰ć‚’ęŒÆć£ć¦ć€101 = ć‚¹ćƒ¼ćƒ‘ćƒ¼ć®å£²äøŠć€102 = 惬ć‚øćƒ£ćƒ¼ę–½čØ­ć®å£²äøŠćØć„ć£ćŸć‚ˆć†ćŖåˆ†é›¢ć‚’ć—ć¦ć‚‹äŗŗć‚‚å¤šć„ć§ć—ć‚‡ć†ć€‚ē¢ŗć‹ć«ę‰‹å…„åŠ›ć‚’ć™ć‚‹ć®ć§ć‚ć‚Œć°ć€ć“ć‚Œć§ć‚‚č‰Æ恄ćØę€ć„ć¾ć™ć€‚ć—ć‹ć—ć€ć‚·ćƒ¼ćƒˆćŒå¢—ćˆć¦ć€äø”ć¤ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆćŒå¢—ćˆć‚‹ćØ态恝悌悒äø€ēŗć‚ć«ć™ć‚‹ē‚ŗć«å›žåŽć™ć‚‹ć‚¹ć‚ÆćƒŖ惗惈ćÆć€ä½•åŗ¦ć‚‚APIć‚’å©ć‹ćŖć‘ć‚Œć°ć„ć‘ć¾ć›ć‚“ć€‚

ć“ć®ć‚±ćƒ¼ć‚¹ć®å “åˆć€ä»„äø‹ć®ę”¹å–„ćŒč¦‹č¾¼ć‚ć¾ć™ć€‚

  1. ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆę‰‹å…„åŠ›ć‚’ć‚„ć‚ć¦ć€HTML Service恧UIć‚’ä½œć£ć¦ć‚ć’ć‚‹ļ¼ˆćƒŖ惃惁ćŖGUIć‚¢ćƒ—ćƒŖć‚’ä½œć‚‹ć‚’å‚ē…§ļ¼‰
  2. ć‚·ćƒ¼ćƒˆć‚’åˆ†é›¢ć•ć›ćšć«ļ¼‘ęžšć®ć‚·ćƒ¼ćƒˆć«ć‚«ćƒ©ćƒ åć‚’ćƒ„ć‚±ćšć«ć‚³ćƒ¼ćƒ‰ć‚’å…„ć‚Œć‚‹åˆ—ć‚’čØ­ć‘ć¦ć€åŒå±…ć•ć›ć¦ć—ć¾ć†ļ¼ˆć‚³ćƒ¼ćƒ‰ć§ćć®ćƒ¬ć‚³ćƒ¼ćƒ‰ćŒä½•ć®é …ē›®ćŖ恮恋ćÆåˆ†ć‹ć‚‹ļ¼‰
  3. 集čØˆć‚’č”Œć†å “åˆć«ćÆQueryé–¢ę•°ć‚’ä½æē”Ø恗态Pivotć«ć—ć¦ć‹ć‚‰å–å¾—ć™ć‚‹ć‚ˆć†ć«ć™ć‚‹ć€‚

ć“ć®ę”¹å–„ć‚’č”Œć†äŗ‹ć«ć‚ˆć£ć¦ć€ć‚·ćƒ¼ćƒˆćƒ‡ćƒ¼ć‚æć®å–å¾—ć«ęŽ›ć‹ć‚‹APIć®å‘¼ć³å‡ŗ恗ćÆļ¼‘å›žć§ęøˆćæć¾ć™ć€‚ć‚ˆć£ć¦ć€ć‚·ćƒ¼ćƒˆę•°ćŒ4ć§ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®ę•°ćŒ10ć‚ć‚‹å “åˆć€åˆčØˆć§40å›žć‚‚ęŽ›ć‹ć‚‹ä½œę„­ćŒ10å›žć§ęøˆć‚€äŗ‹ć«ćŖć‚Šć¾ć™ć€‚č‡Ŗåˆ†ć®å “åˆć€ć‚·ćƒ¼ćƒˆę•°ćŒ10ć§ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®ę•°ćŒ30悂恂悋ē‚ŗ态å…ØéƒØ恧300å›žć‚‚å‘¼ć³å‡ŗć—ć‚’ć—ć¦ć„ćŸć®ćŒ30å›žć§ęøˆć‚“ć ć®ć§å¤§å¹…ć«ę™‚é–“ć®å‰Šęø›ćŒå‡ŗę„ć€ć‚æć‚¤ćƒ ć‚¢ć‚¦ćƒˆć—ćŖ恏ćŖć‚Šć¾ć—ćŸć€‚

ć‚·ćƒ¼ćƒˆć‚’é€£ēµć—ć¦ćŠć

前čæ°ć«ć‚‚ć‚ć‚Šć¾ć™ćŒć€ćƒ‡ćƒ¼ć‚æćƒ™ćƒ¼ć‚¹ć®ć‚ˆć†ć«ę­£č¦åŒ–ć—ć¦ćŠćč¤‡ę•°ć®ć‚·ćƒ¼ćƒˆć«ć‚ć‘ć¦čØ˜éŒ²ć™ć‚‹ć“ćØćÆå¤šć€…ć‚ć‚Šć¾ć™ć€‚ć—ć‹ć—ć€GASć‹ć‚‰ćƒ‡ćƒ¼ć‚æćØć—ć¦å–å¾—ć™ć‚‹ć‚ˆć†ćŖå “åˆć«ę–¼ć„ć¦ćÆ恂悉恋恘悁态arrayformulaé–¢ę•°ć‚„Queryé–¢ę•°ć‚’åˆ©ē”Øć—ć¦č¤‡ę•°ć‚·ćƒ¼ćƒˆć‚’é€£ēµć—ć¦ćŠćć€ćƒ‡ćƒ¼ć‚æ取得ē”Øć®ć‚·ćƒ¼ćƒˆć‚’ē”Øę„ć—ć¦ćŠćć“ćØ恧态ćƒŖć‚Æć‚Øć‚¹ćƒˆć™ć‚‹APIć®å›žę•°ć‚’ęø›ć‚‰ć™ć“ćØ恌åÆčƒ½ć«ćŖć‚Šć¾ć™ć€‚

ć“ć®ć‚ˆć†ć«é€šåøø恮DBćØćÆē•°ćŖć‚Šć€ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®é–¢ę•°ć‚’åˆ©ē”Øć—ć¦ć‚ć‚‰ć‹ć˜ć‚ęŗ–å‚™ć—ć¦ćŠććØć„ć†ä½œę„­ćŒé«˜é€ŸåŒ–ć«ę–¼ć„ć¦éžåøøć«č²¢ēŒ®ć™ć‚‹ć“ćØćŒå¤šć„ć®ć§ć€GAS恮ćæ恘悃ćŖćé–¢ę•°ć‚‚å­¦ēæ’ć—ć¦ćŠćć¾ć—ć‚‡ć†ć€‚

Arrayformulaé–¢ę•°ć§é…åˆ—ę•°å¼ć®ä¾æåˆ©ć•ć‚’ēŸ„悍恆

Queryé–¢ę•°ć‚’ä½æć£ć¦ćƒ‡ćƒ¼ć‚æ悒集čØˆć—ć‚ˆć† - å…¶ć®å¼

ę”ä»¶ä»˜ćę›ø式čØ­å®šć‚’ę“»ē”Ø恙悋

ć‚¦ć‚§ćƒ–äøŠć®Google Apps Scriptć®é«˜é€ŸåŒ–ć«é–¢ć™ć‚‹ć‚µćƒ³ćƒ—ćƒ«ć‚³ćƒ¼ćƒ‰ć«ę–¼ć„ć¦ć€ć‚»ćƒ«ć®č‰²ć‚’č‰²ć€…å¼„ć‚‹ä¾‹ćŒå‡ŗć¦ć„ć¾ć™ćŒć€ć“ć®ć‚³ćƒ¼ćƒ‰ćÆć¾ć Google Spreadsheetć«ć¾ćØ悂ćŖę”ä»¶ä»˜ćę›ø式čØ­å®šćŒćŖć„ę™‚ä»£ć®ć‚‚ć®ć§ć™ć€‚ē¾åœØćÆć€ę”ä»¶ä»˜ćę›ø式čØ­å®šć«ę–¼ć„ć¦ę•°å¼ćŒćƒćƒƒćƒćƒŖä½æē”Ø恙悋äŗ‹ćŒć§ćć‚‹ć®ć§ć€ć‚¹ć‚ÆćƒŖćƒ—ćƒˆć§ć“ć†ć„ć£ćŸä½œę„­ć‚’č”Œć†ć‚·ćƒ¼ćƒ³ćÆ悰惃ćØęø›ć£ć¦ć„ć¾ć™ć€‚ć‚ˆć£ć¦ć€ćƒ“ć‚øćƒ„ć‚¢ćƒ«é¢ć§ć‚‚ć—ć“ć†ć„ć£ćŸć‚³ćƒ¼ćƒ‰ć‚’åˆ©ē”Øć—ć¦ć‚‹å “åˆć€ć‚¹ć‚ÆćƒŖ惗惈ćÆč¾žć‚ć¦ć€ę”ä»¶ä»˜ćę›ø式čØ­å®šć‚’ä½æć†ć‚ˆć†ć«ć—ć¾ć—ć‚‡ć†ć€‚

ćć®åˆ†ć€é›†čØˆå¾Œć«ä½™č؈ćŖä½œę„­ć‚’ć‚¹ć‚ÆćƒŖ惗惈恧悄悋åæ…č¦ę€§ćŒćŖ恏ćŖć‚Šć¾ć™ć€‚

setFormulać‚’ę“»ē”Ø恗悈恆

ćƒ‡ćƒ¼ć‚æć®å–å¾—å…ƒć®ę•°ć€…ć®ć‚·ćƒ¼ćƒˆć«ćÆä¾‹ćˆć°å•†å“ć‚³ćƒ¼ćƒ‰ćØćć‚Œć«ēŗć‚ć‚‹ć‚«ćƒ©ćƒ ćŒćƒžć‚¹ć‚æćØć„ć†å½¢ć§ę ¼ē“ć•ć‚Œć¦ć‚‹ćØę€ć‚ć‚Œć¾ć™ć€‚ć—ć‹ć—ć€ć“ć‚Œć‚‰ćÆę±ŗć—ć¦åŠ¹ēŽ‡ć®č‰Æć„ć‚„ć‚Šę–¹ć§ćÆć‚ć‚Šć¾ć›ć‚“ć€‚ć‚ćć¾ć§ć‚‚ćć†ć—ć¦ć‚‹ć®ćÆäŗŗé–“ćŒč¦‹ćŸę™‚ć«ć‚ć‹ć‚Šć‚„ć™ćć™ć‚‹ē‚ŗć«ćć†ć—ć¦ć‚‹ć®ć§ć‚ć£ć¦ć€ćƒ‡ćƒ¼ć‚æ取得äøŠćÆć‚³ćƒ¼ćƒ‰ćØę•°é‡ć®ć‚ˆć†ćŖćƒ‡ćƒ¼ć‚æ恮ćæ恧č‰Æ恄ćÆ恚恧恙怂恗恋恗态恝悌恠恑恠ćØ集č؈č”Øć‚’ä½œć£ćŸę™‚ć«č¦‹ćŸē›®ćŒę•°å­—恮ē¾…åˆ—ć§åˆ†ć‹ć‚Šć«ćć„ć€‚

ćØ恄恆äŗ‹ć§ę“»ē”Øć™ć‚‹ć®ćŒsetFormulas恧恙怂恓恮項ē›®ćÆć™ć§ć«ć€Œčµ·å‹•ę™‚ć«é–¢ę•°ć‚’č‡Ŗå‹•č£œå®Œć™ć‚‹ć€ć«ć¦ē“¹ä»‹ć—ć¦ć‚‹ć‚‚ć®ć§ć™ć€‚ć“ć‚Œć‚’åˆ©ē”Ø恙悋恓ćØ恧仄äø‹ć®ę”¹å–„ćŒč¦‹č¾¼ć‚ć¾ć™ć€‚

  1. ćƒ‡ćƒ¼ć‚æå–å¾—å…ƒć‹ć‚‰ćÆęœ€ä½Žé™ć®ć‚«ćƒ©ćƒ ć®ćæ恫ēµžć£ć¦ćƒ‡ćƒ¼ć‚æć®å”Šć‚’å–å¾—ć™ć‚‹ć ć‘ć§ęøˆć‚€ć€‚
  2. å–å¾—ć—ćŸćƒ‡ćƒ¼ć‚æé…åˆ—ć«åˆ—ć‚’åŠ ćˆć‚‹å½¢ć§ć€setFormulasć«ć¦ę•°å¼ć‚’ęŒæå…„ć—ć¦ćŠć„ć¦ć‚ć’ć‚‹ć€‚
  3. ćƒ‡ćƒ¼ć‚æ集čØˆć‚·ćƒ¼ćƒˆć«ćƒžć‚¹ć‚æćƒ¼ć‚’čØ­ć‘ć¦ćŠćć€setFormulas恫恦态vlookupć•ć›ć‚‹ć‚ˆć†ć«ć—ć¦ćŠćć€‚
  4. setFormulasć‚’åŠ ćˆćŸé…åˆ—ćƒ‡ćƒ¼ć‚æć‚’ć‚·ćƒ¼ćƒˆć«ę›øćč¾¼ć‚€äŗ‹ć§ć‚¹ćƒ”ćƒ¼ćƒ‰ć‚¢ćƒƒćƒ—ć«ē¹‹ćŒć‚‹

集č؈後ćÆ态vlookupå¼ć«ć‚ˆć£ć¦č‡Ŗ動ēš„恫č‡Ŗåˆ†ćŒęŒć£ć¦ć‚‹ćƒžć‚¹ć‚æć®å€¤ć‚’ć²ć£ć±ć£ć¦ćć¦ćć‚Œć‚‹ć®ć§ć€ć“ć‚Œć«ć‚ˆć£ć¦å…ØéƒØć®ć‚«ćƒ©ćƒ ć‚’å–å¾—ć—ćŸć‚‚ć®ć‚’å†ē¾ć™ć‚‹äŗ‹ćŒć§ćć¾ć™ć€‚å–å¾—ć‚«ćƒ©ćƒ ę•°ćŒå°‘ćŖ恑悌恰ę›øćč¾¼ć‚€ć‚¹ćƒ”ćƒ¼ćƒ‰ć®å‘äøŠć«ć‚‚ē¹‹ćŒć‚‹ć®ć§ć€é›†čØˆć‚·ćƒ¼ćƒˆć«ć‚‚ćƒžć‚¹ć‚æć‚·ćƒ¼ćƒˆć‚’ęŒćŸć›ć‚‹ć‚ˆć†ć«ć—ć¾ć—ć‚‡ć†ć€‚

åø³ē„Ø锞悒ē”Ÿęˆć™ć‚‹ę™‚恮ę³Øꄏē‚¹

ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®ćƒ¬ć‚³ćƒ¼ćƒ‰ćƒ‡ćƒ¼ć‚æć‚’å…ƒć«ć€ä¾‹ćˆć°ē“å“ę›øć§ć‚ć£ćŸć‚Šē”³č¾¼ę›ø态ē”³č«‹ę›øé”žć‚’ćƒ†ćƒ³ćƒ—ćƒ¬ćƒ¼ćƒˆć®ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆć®č©²å½“ć®ē®‡ę‰€ć«setValue恗恦PDF化ćØć„ć£ćŸć‚ˆć†ćŖä½œę„­ć‚’ć—ć¦ć‚‹äŗŗćÆēµę§‹ć„ć‚‹ćØę€ć„ć¾ć™ć€‚č‡Ŗåˆ†ć‚‚ć“ć®ę‰‹ćÆå®Ÿć«ć‚ˆćåˆ©ē”Øć—ć¾ć™ć€‚ć—ć‹ć—ć€ć“ć“ć«ć‚‚ę”¹å–„ē‚¹ćŒć‚ć‚Šć¾ć™ć€‚

  1. å„ć‚»ćƒ«ć«åÆ¾ć—ć¦setValueć‚’ć™ć‚‹å “åˆć€å…„åŠ›ć™ć‚‹é …ē›®ć®ę•°ć«ęÆ”ä¾‹ć—ć¦APIć®å‘¼ć³å‡ŗć—å›žę•°ćŒå¢—ćˆć‚‹äŗ‹ć«ćŖ悋怂

ćƒ•ć‚©ćƒ¼ćƒ ć®é …ē›®ćŒ10ć‚ć‚‹å “åˆć€setValueć§ćƒ†ćƒ³ćƒ—ćƒ¬ćƒ¼ćƒˆć‚·ćƒ¼ćƒˆć«ę›øćč¾¼ć‚€å›žę•°ćÆ态10ćØćŖć‚‹ć‚ć‘ć§ć™ć€‚ć“ć“ć§ä»„äø‹ć®ä»•ę§˜ć«å¤‰ę›“恙悋äŗ‹ć§ć©ć‚“ćŖć«ćƒ•ć‚©ćƒ¼ćƒ é …ē›®ćŒå¢—ćˆć‚ˆć†ćØ悂态ę›øč¾¼å›žę•°ć‚’1恫恙悋äŗ‹ćŒåÆčƒ½ć§ć™ć€‚

  • å€¤ć‚’ćƒ”ćƒ³ćƒć‚¤ćƒ³ćƒˆć«ć‚»ćƒ«ć«å…„ć‚Œć‚‹ć‚ˆć‚Šļ¼‘ćƒ¬ć‚³ćƒ¼ćƒ‰å…„ć‚Œć¦ć€å‚ē…§ć•ć›ć‚‹ć‚ˆć†ć«ć™ć‚‹

ćØ恄恆äŗ‹ć§ć™ć€‚åø³ē„Øć®ćƒ”ć‚¤ćƒ³ē”»é¢ćØćÆåˆ„ć®ć‚·ćƒ¼ćƒˆć‚’ē”Øę„ć—ć€ćć“ć«1ćƒ¬ć‚³ćƒ¼ćƒ‰å…„ć‚Œć¦ć‚ć’ć‚‹ć ć‘ć€‚ćƒ”ć‚¤ćƒ³ē”»é¢ćÆćć®ćƒ¬ć‚³ćƒ¼ćƒ‰ć‹ć‚‰ę•°å¼ć§å‘¼ć³å‡ŗ恛恰恄恄恠恑恧恙怂恧恙恮恧态1ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’ćƒćƒ³ćØå…„ć‚ŒćŸć ć‘ć§åø³ē„Øå®Œęˆć«ćŖć‚Šć‚¹ćƒ”ćƒ¼ćƒ‰ć‚¢ćƒƒćƒ—ć«ē¹‹ćŒć‚Šć¾ć™ć€‚悂恔悍悓态PDF恫恙悋ꙂćÆćƒ‘ćƒ©ćƒ”ćƒ¼ć‚æćØć—ć¦ćƒ”ć‚¤ćƒ³ē”»é¢ć®ć‚·ćƒ¼ćƒˆć®ćæć‚’ęŒ‡å®šć—ć¦äøŠć’ć‚Œć°å•é”Œć‚ć‚Šć¾ć›ć‚“ć€‚åø³ē„Ø印刷ē³»ć§ćÆåæ…é ˆć®ćƒ†ć‚Æ惋惃ć‚Æ恧恙恭怂

ā€»ē“å“ę›øć®ć‚ˆć†ćŖč¤‡ę•°ćƒ¬ć‚³ćƒ¼ćƒ‰ć®å “åˆćÆ悂恆ļ¼‘ć‚·ćƒ¼ćƒˆē”Øę„ć—ć¦ćć“ć«ćƒ‡ćƒ¼ć‚æ悒ę›øćåŠ ćˆć€ćƒ”ć‚¤ćƒ³ē”»é¢ć§ćÆFilteré–¢ę•°ć§ćƒ‡ćƒ¼ć‚æå‘¼ć³å‡ŗć™ć‚ˆć†ć«ć™ć‚‹ćØč‰Æ恄恧恗悇恆怂

ć‚¹ć‚ÆćƒŖ惗惈惈ćƒŖć‚¬ćƒ¼ć§äŗˆć‚č‡Ŗ動処ē†ć‚’ć•ć›ć¦ćŠć

ć‚·ćƒ¼ćƒˆćƒ‡ćƒ¼ć‚æć®å›žåŽć‚’ļ¼‘ļ½ž10ć¾ć§ć‚„ć‚‹ć®ć§ćÆćŖ恏态äŗˆć‚ć‚¹ć‚ÆćƒŖ惗惈惈ćƒŖć‚¬ćƒ¼ć§ę·±å¤œć«ć§ć‚‚č‡Ŗå‹•ć§ćƒ—ćƒ¬å‡¦ē†ć‚’ć‚„ć‚‰ć›ć¦ć—ć¾ć†ćØć„ć†ę–¹ę³•ć‚‚ć‚¢ćƒŖć§ć—ć‚‡ć†ć€‚ćƒ‡ćƒ¼ć‚æåŽé›†ć‚·ćƒ¼ćƒˆå“ćÆćć®ēµęžœć‚’ę‹¾ćˆć°č‰Æ恄恮恧态ēµęžœēš„ć«ć‚¹ćƒ”ćƒ¼ćƒ‰ć®å‘äøŠć«ē¹‹ćŒć‚Šć¾ć™ļ¼ˆćƒˆćƒ¼ć‚æćƒ«ć®ä½œę„­ę™‚é–“ćÆå¤‰ć‚ć‚‰ćŖ恄悏恑恧恙恌态ć‚æć‚¤ćƒ ć‚¢ć‚¦ćƒˆć›ćšć«ęøˆć‚€ć®ćØć€å®Ÿéš›ć«ä½œę„­ć—ć¦ć‚‹ę™‚é–“ćÆć‚¹ć‚ÆćƒŖ惗惈惈ćƒŖć‚¬ćƒ¼ć«ć‚ˆć‚‹č‡Ŗå‹•å®Ÿč”Œć‚’é™¤ć„ćŸę™‚é–“ć«ćŖ悋悏恑恧恙恋悉ļ¼‰ć€‚

å½“ćŸć‚Šå‰ć§ć™ćŒć€ć‚¹ć‚ÆćƒŖ惗惈惈ćƒŖć‚¬ćƒ¼ć§ć‚„ć‚‰ć›ć‚‹å‡¦ē†ćŒć‚æć‚¤ćƒ ć‚¢ć‚¦ćƒˆć«ćŖć‚‹ć®ć§ć‚ć‚Œć°ē„”ę„å‘³ć§ć™ć€‚ć‚¹ć‚ÆćƒŖ惗惈惈ćƒŖć‚¬ćƒ¼ć§ć‚„ć‚‰ć›ć‚‹å‡¦ē†ćÆęÆ”č¼ƒēš„å°č¦ęØ”ćŖćƒ¢ćƒŽć«ē•™ć‚ć¦ćŠćć¾ć—ć‚‡ć†ć€‚ć¾ćŸć€ć‚¹ć‚ÆćƒŖ惗惈惈ćƒŖć‚¬ćƒ¼ćÆć‚¦ć‚§ćƒ–ć‚¢ćƒ—ćƒŖć‚±ćƒ¼ć‚·ćƒ§ćƒ³ć®ę™‚ćØåŒć˜ć§ć€getActivveSpreadsheet()恧ćÆć‚·ćƒ¼ćƒˆć‚’å‚ē…§ć§ććŖ恄恮恧态č‡Ŗ分č‡Ŗčŗ«ć®ć‚·ćƒ¼ćƒˆID悒äŗˆć‚ć‚¹ć‚ÆćƒŖćƒ—ćƒˆćƒ—ćƒ­ćƒ‘ćƒ†ć‚£ć‚„ć‚°ćƒ­ćƒ¼ćƒćƒ«å¤‰ę•°ć«é…ē½®ć—ć¦ćŠćåæ…č¦ę€§ćŒć‚ć‚Šć¾ć™ć€‚

onEditć§ć”ć‚‡ć£ćØć—ćŸå‡¦ē†ćÆéšę™‚å®Ÿč”Œć•ć›ć¦ć—ć¾ć†

Google Apps Script恫ćÆ态onOpen悄doGet恮他恫悂态onEditćØ恄恆ē‰¹åˆ„ćŖć‚¤ćƒ™ćƒ³ćƒˆćŒē”Øę„ć•ć‚Œć¦ć„ć¾ć™ć€‚ć“ć‚ŒćÆVBA恧čØ€ć†ę‰€ć®AfterUpdate恫ē›øå½“ć™ć‚‹ć‚‚ć®ć§ć™ć€‚ć—ć‹ć—ć€ē·Ø集Ꙃ恫åæ…ćšå®Ÿč”Œć•ć‚Œć¦ć—ć¾ć†é …ē›®ćŖ恮恧态ē‰¹å®šć®ć‚»ćƒ«ć‚„åˆ—ć§ć ć‘ä½œå‹•ć•ć›ć‚‹ćØ恄恆äŗ‹ćŒå‡ŗę„ć¾ć›ć‚“ć€‚ć‚·ćƒ¼ćƒˆå…Øä½“ć§ć©ć“ć‹ć§ē·Ø集恌恂悋ćØē™ŗå‹•ć—ć¦ć—ć¾ć„ć¾ć™ć€‚ę•…ć«ć€onEditć‚’ę“»ē”Øć™ć‚‹å “åˆć«ćÆć”ć‚‡ć£ćØ恗恟ę³Øꄏ恌åæ…要恧恙怂

ć‚ˆć£ć¦ć€onEdit恧ē™ŗå‹•ć•ć›ć‚‹å†…å®¹ć«ćÆåæ…ćšć€Œå‚ē…§ć—ć¦ć‚‹ć‚»ćƒ«ć®å†…å®¹ć€ć‚’å…ƒć«ć€Œę”ä»¶åˆ†å²ć§å‡¦ē†ć€ć‚’čؘčæ°ć—ćŖ恑悌恰ćŖć‚Šć¾ć›ć‚“ć€‚ć¾ćŸć€č² č·ć®é«˜ć„å‡¦ē†ć‚’悄悉恛悋äŗ‹ć‚‚å‡ŗę„ć¾ć›ć‚“ć€‚ć©ć“ć‹å¼„ć‚‹åŗ¦ć«å¤§ććŖ処ē†ćŒē™ŗå‹•ć—ć¦ć„ć¦ćÆä½œę„­ć®é‚Ŗ魔恫ćŖć£ć¦ć—ć¾ć„ć¾ć™ć€‚ć“ć®é«˜é€ŸåŒ–ćÆåœ°å‘³ć§å°č¦ęØ”ćŖ悂恮ćŖ恮恧态ē©ę„µēš„ć«é«˜é€ŸåŒ–ć®ē‚ŗ恫ä½æ恆ćØ恄恆äŗ‹ćÆ恛恚态ä½æć†ć‚·ćƒ¼ćƒ³ć‚’éøć³ć¾ć—ć‚‡ć†ć€‚ć‚³ćƒ¼ćƒ‰ćØ恗恦ćÆ仄äø‹ć®ę§˜ćŖę„Ÿć˜ć«ćŖć‚Šć¾ć™ć€‚

onEditć®å¼•ę•°e恫ćÆč‰²ć€…ćŖć‚»ćƒ«ć«é–¢ć™ć‚‹ęƒ…å ±ćŒč©°ć¾ć£ć¦ć‚‹ć®ć§ć€ćć‚Œć‚’åˆ†č§£ć—ć¦åˆ¤å®šć‚’ć•ć›ć€å‡¦ē†ć‚’å®Ÿč”Œć™ć‚‹ć‚ć‘ć§ć™ć€‚getColumnć§åˆ—ē•Ŗå·ć€getRowć§č”Œē•Ŗå·ćŒå–å¾—ć§ćć‚‹ć®ć§ć€ē‰¹å®šć®ć‚»ćƒ«ć§ć®ćæē™ŗ動ćØć„ć£ćŸäŗ‹ć‚‚åÆčƒ½ć§ć—ć‚‡ć†ć€‚

ć“ć†ć„ć£ćŸå‡¦ē†ć‚’č”Œć£ć¦ćŠćäŗ‹ć§ć€Google Apps Scriptå†…ć§ćć®å‡¦ē†ć«č©²å½“恙悋éƒØ分ćÆå‰Šé™¤ćŒå‡ŗę„ć€ēµęžœēš„ć«ć‚¹ćƒ”ćƒ¼ćƒ‰ć‚¢ćƒƒćƒ—ć«ē¹‹ćŒć‚Šć¾ć™ć€‚

ćć®ä»–ć®ćƒć‚¤ćƒ³ćƒˆ

ćć®ä»–ć®é«˜é€ŸåŒ–ćƒć‚¤ćƒ³ćƒˆćØ恗恦态仄äø‹ć®ć‚ˆć†ćŖć‚‚ć®ćŒć‚ć‚Šć¾ć™ć€‚

  • ć‚°ćƒ­ćƒ¼ćƒćƒ«é…åˆ—ć«ćƒ‡ćƒ¼ć‚æć‚’ę ¼ē“ć™ć‚‹ę–¹ę³•ćÆć€ć‚¹ćƒ”ćƒ¼ćƒ‰ć®å‘äøŠć«ćÆćŖć‚Šć¾ć™ć€‚ć—ć‹ć—å‰Æ作ē”ØćØ恗恦态ē¾ę™‚ē‚¹ć§ć®ćƒ‡ćƒ¼ć‚æćØå–å¾—ę™‚ć®ćƒ‡ćƒ¼ć‚æć®é–“ć«ä¹–é›¢ćŒē”Ÿć˜ć‚‹åÆčƒ½ę€§ćŒć‚ć‚‹ć®ć§ć€ä½æ恄ꉀćÆćć‚Œć»ć©å¤šććÆć‚ć‚Šć¾ć›ć‚“ć€‚
  • JavaScript恧恧恍悋äŗ‹ćÆćć”ć‚‰ć§ć‚„ć‚‰ć›ć‚‹ć‚ˆć†ć«ć™ć‚‹ć€‚
  • é…åˆ—å€¤ć®ćƒć‚§ćƒƒć‚Æ恫恤恄恦态array.indexOf悈悊forćƒ«ćƒ¼ćƒ—ć§čŖæć¹ćŸć»ć†ćŒę—©ć„
  • ē‰¹å®šć®é …ē›®ć«ć¤ć„ć¦ćƒć‚§ćƒƒć‚Æć‚’č”Œć†ć‚ˆć†ćŖćƒ«ćƒ¼ćƒćƒ³ć®å “åˆć€ćƒ©ćƒ³ćƒ€ćƒ ćŖćƒ‡ćƒ¼ć‚æć®ć¾ć¾ę‰±ć‚ćšć€äŗˆć‚ć‚¹ćƒ—ćƒ¬ćƒƒćƒ‰ć‚·ćƒ¼ćƒˆćƒ‡ćƒ¼ć‚æć‚’ć‚½ćƒ¼ćƒˆć—ć¦ćŠć„ć¦ć‹ć‚‰ä½œę„­ć‚’č”Œć‚ć›ć‚‹ćØ态速åŗ¦ć‚¢ćƒƒćƒ—恫ē¹‹ćŒć‚Šć¾ć™ć€‚
  • ćƒ‡ćƒ¼ć‚æć®å›žåŽē³»ćƒ—ćƒ­ć‚°ćƒ©ćƒ ć§ćÆ态č‡Ŗ分č‡Ŗčŗ«ć®ć‚·ćƒ¼ćƒˆć«importRangeé–¢ę•°ć«ć¦äŗˆć‚ä»–ć®ć‚·ćƒ¼ćƒˆć‚’ćƒŖćƒ³ć‚Æć•ć›ć¦ćŠććØ恄恆惆ć‚Æ惋惃ć‚Æć‚‚é«˜é€ŸåŒ–ć«ćƒ—ćƒ©ć‚¹ć«ćŖć‚Šć¾ć™ć€‚

関連ćƒŖćƒ³ć‚Æ

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

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

ę—„ęœ¬čŖžćŒå«ć¾ć‚ŒćŖ恄ꊕēØæćÆē„”č¦–ć•ć‚Œć¾ć™ć®ć§ć”ę³Øꄏ恏恠恕恄怂ļ¼ˆć‚¹ćƒ‘ćƒ åƾē­–ļ¼‰