VBAć§åˆ©ē”Ø恧恍悋꧘怅ćŖ配列処ē†

ćƒ—ćƒ­ć‚°ćƒ©ćƒŸćƒ³ć‚°ć‚’ć™ć‚‹äøŠć§ę¬ ć‹ć›ćŖć„ć®ćŒć€Œé…åˆ—å‡¦ē†ć€ć€‚Google Apps Script恧悂Excel VBAć§ć‚‚ć€ć“ć®é…åˆ—å‡¦ē†ćÆåæ…é ˆć®å‡¦ē†ć§ć™ć€‚é…åˆ—ć‚’ä½æć‚ćšć«ä¾‹ćˆć°ć€Excelć®ćƒžć‚Æ惭ēš„恫ļ¼‘ć¤ćšć¤ć‚»ćƒ«ć‚’å–å¾—ć—ć¦ćÆ処ē†ć—恦ē§»å‹•ćæ恟恄ćŖ動作ćÆć€ćƒ—ćƒ­ć‚°ćƒ©ćƒ ć®å‹•ä½œé€Ÿåŗ¦äøŠéžåøø恫遅恄恠恑恧ćŖćć€ćƒ—ćƒ­ć‚°ćƒ©ćƒ ćŒå†—é•·ć«ćŖć‚Šćƒ”ćƒ³ćƒ†ćƒŠćƒ³ć‚¹ę€§ćŒęćŖć‚ć‚Œć¾ć™ć€‚

ć§ć‹ć„ć‚·ćƒ¼ćƒˆćƒ‡ćƒ¼ć‚æć‚’é…åˆ—ć§å–å¾—ć—ć¦ć€ę§˜ć€…ćŖ加巄処ē†ć‚’ćƒ”ćƒ¢ćƒŖäøŠć§č”Œć„ć€ęœ€å¾Œć«äø€ę°—恫ę›øćč¾¼ćæē­‰ć‚’恙悋ćØć„ć£ćŸä½œę„­ćŒé…åˆ—ć®äø»ćŖå½¹å‰²ć§ć™ćŒć€VBAć®å “åˆćŠć‚ˆć3ēØ®é”žć»ć©ć“ć®é…åˆ—ēš„ćŖę“ä½œę–¹ę³•ćŒć‚ć‚Šć¾ć™ć€‚ä»Šå›žćÆć“ć®å‡¦ē†ć«ć¤ć„ć¦ć¾ćØ悁恦ćæć¾ć—ćŸć€‚

ā€»é…åˆ—恮åŸŗē¤Žēš„ćŖå†…å®¹ć§ćÆćŖ恏态åæœē”Øē·Ø恫ćŖć‚Šć¾ć™ć€‚

今回ä½æē”Øć™ć‚‹ć‚µćƒ³ćƒ—ćƒ«ćƒ•ć‚”ć‚¤ćƒ«

ā€»VBA-JSONćÆęœ¬é …ē›®ć®äø­ć§ćÆē•°č‰²ć§ć™ćŒć€éžåøøć«ęœ‰åŠ¹ćŖꉋꮵ恧恙恮恧čŗ«ć«ć¤ć‘ć¦ćŠć„ć¦ęćÆć‚ć‚Šć¾ć›ć‚“ć€‚

ā€»ć‚µćƒ³ćƒ—ćƒ«ćƒ•ć‚”ć‚¤ćƒ«ć®ćƒ‡ćƒ¼ć‚æćÆć€ćƒ†ć‚¹ćƒˆćƒ‡ćƒ¼ć‚æ惻ć‚øć‚§ćƒćƒ¬ćƒ¼ć‚æę§˜ć®ć‚µć‚¤ćƒˆć‚’åˆ©ē”Øć•ć›ć¦ć„ćŸć ćć¾ć—ćŸć€‚

ć‚½ćƒ¼ć‚¹

通åøøć®é…åˆ—ę“ä½œ

ęŒ‡å®šēÆ„å›²ć‚’é…åˆ—ćƒ‡ćƒ¼ć‚æćØć—ć¦å–å¾—ć™ć‚‹

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

  • dummyarrćŒé…åˆ—ć®å…„ć‚Œē‰©ć«ćŖć‚Šć¾ć™
  • åÆ¾č±”ćØćŖ悋恮ćÆć‚µćƒ³ćƒ—ćƒ«ćƒ•ć‚”ć‚¤ćƒ«ć®dummyćØć„ć†åć®ć‚·ćƒ¼ćƒˆć§ć™ć€‚WorksheetsćØć—ć¦ęŒ‡å®šć—ć¾ć™ć€‚
  • å…Øćƒ‡ćƒ¼ć‚æć‚’ä»Šå›žå–å¾—ć™ć‚‹ć®ć§ć™ćŒć€ćƒ‡ćƒ¼ć‚æć®ęœ€ēµ‚č”Œć‚’ēŸ„悋åæ…č¦ćŒć‚ć‚‹ć®ć§ć€UsedRange.Rows.Countć«ć¦ćƒ‡ćƒ¼ć‚æćØć—ć¦ęœ‰åŠ¹ćŖ꜀ēµ‚č”Œć®č”Œē•Ŗå·ć‚’å–å¾—ć—ć¦ć„ć¾ć™ć€‚
  • RangeęŒ‡å®šć«ć¦ć€ēÆ„å›²ęŒ‡å®šćØ恗恦A2:Lć®ęœ€ēµ‚č”Œć‚’ęŒ‡å®šć—ć€dummyarrć«ę ¼ē“ć—ć¦ć„ć¾ć™ć€‚
  • ę ¼ē“ć•ć‚ŒćŸćƒ‡ćƒ¼ć‚æćÆäŗŒę¬”元配列ćØć—ć¦ę ¼ē“ć•ć‚Œć¦ć„ć¾ć™ć€‚
  • with悒ä½æ恆ćØć‚¹ćƒƒć‚­ćƒŖć—ćŸć‚³ćƒ¼ćƒ‰ćØ恗恦ę›øć‘ć¾ć™ć€‚

動ēš„ć«é…åˆ—ć«å€¤ć‚’čæ½åŠ ć™ć‚‹

JavaScriptćŖ恩ćÆé…åˆ—ć‚’ē”Øę„ć—ć¦ćć®é…åˆ—ć«ćƒ‡ćƒ¼ć‚æ悒čæ½åŠ ć—ćŸć„ę™‚ć€push恗恟悊恙悌恰恙悓ćŖ悊ē°”å˜ć«é…åˆ—ć‚’čæ½åŠ ć™ć‚‹äŗ‹ćŒåÆčƒ½ć§ć™ć€‚ć¾ćŸć€é…åˆ—ć®äø­ć®é †ē•Ŗć‚’å…„ć‚Œę›æ恈恦ćæ恟悊态äø­čŗ«ć‚’ę“ä½œć—ć¦ćæćŸć‚Šć‚‚ćƒ”ć‚½ćƒƒćƒ‰ćŒē”Øę„ć•ć‚Œć¦ć‚‹ć®ć§éžåøøć«ę„½ć«é…åˆ—ę“ä½œćŒåÆčƒ½ć«ćŖć£ć¦ć„ć¾ć™ć€‚

恗恋恗态VBAć®å “åˆč؀čŖžč‡Ŗä½“ćŒå¤ć„ę™‚ä»£ć®ć‚‚ć®ć§ć€å‹•ēš„ć«ćƒ›ć‚¤ćƒ›ć‚¤ćć®ć¾ć¾ćƒ¬ć‚³ćƒ¼ćƒ‰ć®čæ½åŠ ćæ恟恄ćŖäŗ‹ćŒć§ćć¾ć›ć‚“怂ReDimćØć„ć†ćƒ”ć‚½ćƒƒćƒ‰ćŒē”Øę„ć•ć‚Œć¦ć„ć‚‹ć®ć§ć™ćŒć€ä»Šå›žć®ć‚ˆć†ćŖć‚·ćƒ¼ćƒˆć®ćƒ‡ćƒ¼ć‚æć®å “åˆć€é…åˆ—ć®å†å®šē¾©ćŒć§ćć‚‹ć®ćÆäŗŒę¬”元ē›®ć ć‘ļ¼ˆć¤ć¾ć‚Šåˆ—ę•°ļ¼‰ć—ć‹å†å®šē¾©ćŒå‡ŗę„ć¾ć›ć‚“ć€‚

恓悌恧ćÆč”Œę•°ć‚’å¢—ć‚„ć›ćŖć„ć®ć§å›°ć‚Šć¾ć™ć€‚ćć“ć§Excel恮Transposeé–¢ę•°ć‚’ēµ„ćæåˆć‚ć›ć¦ć€ę‹”å¼µå¾Œć«ć‚‚å†åŗ¦Transposeé–¢ę•°ć§č”Œåˆ—å…„ć‚Œę›æćˆć‚’ć—ć¦ęˆ»ć™ćØ恄恆惆ć‚Æ惋惃ć‚Æć§ęŒ‡å®šć®č”Œę•°åˆ†ć ć‘é…åˆ—ć‚’ę‹”å¼µć™ć‚‹äŗ‹ćŒåÆčƒ½ć§ć™ć€‚ć¾ćŸć€ć“ć®ę–¹ę³•ć®å “åˆć€å†å®šē¾©å¾Œć«é…åˆ—ć®ćƒ‡ćƒ¼ć‚æćŒę¶ˆćˆć‚‹ćØć„ć£ćŸäŗ‹ć‚‚ćŖć„ć®ć§ć€å‹•ēš„ć«é…åˆ—ć‚’ę‹”å¼µć—ć€ćƒ‡ćƒ¼ć‚æ恮čæ½åŠ ćŒåÆčƒ½ć§ć™ć€‚

  • 1回ē›®ć®Transposeé–¢ę•°ć§é…åˆ—ćƒ‡ćƒ¼ć‚æ恮ēø¦ęØŖć‚’å…„ć‚Œę›æćˆć¦ć„ć¾ć™ć€‚
  • ReDim Preserve恫恦要ē“ ę•°ćØć—ć¦ęŒ‡å®šć®dlengthåˆ†ć ć‘č”Œć‚’ę‹”å¼µć—ć¦ć„ć¾ć™ć€‚
  • ęœ€å¾Œå€¤ć‚’čæ”ć™å‰ć«ć€å†åŗ¦Transposeé–¢ę•°ć«ć¦č”Œåˆ—ć‚’å…„ć‚Œć¦å…ƒé€šć‚Šć«ć—ć¦ć€čæ”ć—ć¦ć„ć¾ć™ć€‚

äøŠčØ˜ć®chgReclengthé–¢ę•°ć‚’åˆ©ē”Ø恗恦1č”Œčæ½åŠ ć—ć€ćć®č”Œć«å€¤ć‚’čæ½åŠ ć™ć‚‹å “合ćÆ仄äø‹ć®ć‚ˆć†ćŖć‚³ćƒ¼ćƒ‰ć«ćŖć‚Šć¾ć™ć€‚

  • å…ƒć®ćƒ‡ćƒ¼ć‚æćÆ4999ä»¶ć§ć—ćŸćŒć€chgReclengthé–¢ę•°ć«ć¦1ä»¶ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’čæ½åŠ ć—恦5000件恫ćŖć£ć¦ć„ć¾ć™ć€‚
  • ćć®å¾Œęœ€ēµ‚č”Œć®č¦ē“ ć«1ć¤ćšć¤å€¤ć‚’ę ¼ē“ć—态debug.print恧電話ē•Ŗå·ć‚’å‚ē…§ć—ć¦ćƒć‚§ćƒƒć‚Æć—ć¦ć„ć¾ć™ļ¼ˆä»Šå›žć®ć‚±ćƒ¼ć‚¹ć§čØ€ćˆć°ć€03-1259-9644恌čæ”ć£ć¦ćć‚‹ćÆ恚恧恙ļ¼‰

é…åˆ—ćƒ‡ćƒ¼ć‚æć®ć‚·ćƒ¼ćƒˆäø€ę‹¬ę›øćč¾¼ćæ

VBAć®å “åˆé…åˆ—ćƒ‡ćƒ¼ć‚æćÆ态ēÆ„å›²ęŒ‡å®šć‚’ć—ć¦ćć“ć«é…åˆ—ć‚’ēŖć£č¾¼ć‚ć°ćć®ć¾ć¾ę›øćč¾¼ćæćŒć§ćć‚‹åˆ©ä¾æę€§ćŒć‚ć‚Šć¾ć™ć€‚ć¾ćŸć€ć“ć†ć™ć‚‹ć“ćØ恧1ć‚»ćƒ«ćšć¤ę›øćč¾¼ćæćØć„ć£ćŸć‚ˆć†ćŖę™‚é–“ć®ęŽ›ć‹ć‚‹å‡¦ē†ć‚’恙悋åæ…č¦ćŒćŖ恏ćŖ悊态ēŸ­ę™‚é–“ć§å‡¦ē†ćŒåÆčƒ½ć§ć™ć€‚ä½†ć—ę›øćč¾¼ćæ悒恙悋Ꙃ恫态要ē“ ę•°ć‚’č¶³ć—ć¦ć„ćŸå “åˆć«ćÆć€ęŒ‡å®šć®ēƄ囲ćØé…åˆ—ć®ēÆ„å›²ćŒćć”ć‚“ćØäø€č‡“恗恦恄悋恋ļ¼Ÿę³Øꄏ恌åæ…要恧恙怂

  • ę›øćč¾¼ćæå…ˆć®ēÆ„å›²ęŒ‡å®šć‚‚å–å¾—ę™‚ćØåŒę§˜ć«ēÆ„å›²ęŒ‡å®šć‚’č”Œć†ć€‚
  • Rangeć®ęŒ‡å®šēÆ„å›²ć«åÆ¾ć—ć¦ć€é…åˆ—ć‚’ęø”ć—ć¦ć‚ć’ć¦ć„ć¾ć™ć€‚ä½†ć—ć“ć®ę™‚ć®ćƒ¬ć‚³ćƒ¼ćƒ‰ę•°ćÆlastrow恌5000ćŖ恮恧1åŠ ćˆćŸ5001ćØć—ć¦ć„ć¾ć™ļ¼ˆć§ćŖ恄ćØčæ½åŠ ć—ćŸ1č”ŒćŒę¬ ęć™ć‚‹ļ¼‰
  • ē„”äŗ‹ć«ę›øćč¾¼ćæ恌恧恍悌恰态5000件ē›®ćØ恗恦čæ½åŠ ć—ćŸćƒ‡ćƒ¼ć‚æ恌5001č”Œē›®ć«å‡ŗć¦ćć¾ć™ć€‚

JSONå½¢å¼ć®å‡¦ē†ć‚’利ē”Øć—ćŸę–¹ę³•

ē“ ć®VBAćÆå¤ć„č؀čŖžć§ć‚ć‚‹ćŸć‚ć€JSON悒ꉱ恆äŗ‹ćŒå‡ŗę„ć¾ć›ć‚“ć€‚ć—ć‹ć—ć€VBA-JSON悒ä½æ恆äŗ‹ć§JSON悒ꉱ恆恓ćØ恌å‡ŗę„ć¾ć™ć€‚JSONå½¢å¼ć‚’ē”Øć„ćŸé…åˆ—ć®å‡¦ē†ćÆ态äø€č¦‹ć™ć‚‹ćØé¢å€’ć«č¦‹ćˆć¾ć™ćŒå˜ē“”ćŖļ¼’ꬔ元配列ćØć—ć¦åˆ©ē”Øć™ć‚‹å “åˆć€ā—‹åˆ—ē›®ćØć„ć£ćŸć‚ˆć†ćŖ処ē†ć§ćÆćŖćć€Œåˆ—åć€ć‚’ē”Øć„ć¦å€¤ć®ä»£å…„ć‚„å‚ē…§ćŒć§ćć‚‹ćŸć‚ć€å®Ÿå‹™äøŠéžåøø恫ä¾æ利ćŖć‚·ćƒ­ćƒ¢ćƒŽć§ć™ć€‚

今回ćÆVBA-JSONē­‰ć‚’ē”Ø恄恦态JSONå½¢å¼ć®é…åˆ—ć®ä½œęˆćŠć‚ˆć³ćć®å€¤ć®å‚ē…§ć‚’č”Œć£ć¦ćæ恟恄ćØę€ć„ć¾ć™ć€‚äŗ‹å‰ć«ęؙęŗ–ćƒ¢ć‚øćƒ„ćƒ¼ćƒ«ćØ恗恦JsonConverter.bas悒čæ½åŠ ć—ć¦ćŠćåæ…č¦ćŒć‚ć‚Šć€ć¾ćŸå‚ē…§čح定ćØ恗恦Microsoft Scripting Runtime恌åæ…要恧恙怂

ā€»ęœ€čæ‘ćÆOffice悂64bit恌ęؙęŗ–恫ćŖć‚Šć¤ć¤ć‚ć‚Šć€å¾“ę„ć®ScriptControl悒ä½æć£ćŸę‰‹ę³•ćÆä½æ恈ćŖ恏ćŖć‚Šć¾ć—ćŸć€‚

JSONé€£ęƒ³é…åˆ—ć‚’ćƒ‡ćƒ¼ć‚æć®ä½œęˆ

VBA-JSONćÆę–‡å­—åˆ—ć‚’JSON恫恙悋äŗ‹ćÆć§ćć¾ć™ćŒć€JSONę–‡å­—åˆ—č‡Ŗä½“ć‚’ä½œć‚‹ć‚ˆć†ćŖćƒ”ć‚½ćƒƒćƒ‰ćÆć‚ć‚Šć¾ć›ć‚“ć€‚VBA恧ćÆJSONćƒ‡ćƒ¼ć‚æćÆę™®é€šć«ćƒ«ćƒ¼ćƒ—ć‚’ē”Ø恄恦悓ćƒŖć‚“ćƒŖä½œęˆć—ć¾ć™ć€‚

  • ć‚æć‚¤ćƒˆćƒ«č”Œć®ćƒ‡ćƒ¼ć‚æć ć‘åˆ„ć®é…åˆ—ćØć—ć¦å–å¾—ć—ć¦ćŠćć¾ć™ć€‚
  • ćƒ¬ć‚³ćƒ¼ćƒ‰åˆ†ć ć‘ćƒ«ćƒ¼ćƒ—ć§å›žć—ćŖćŒć‚‰ć€ć•ć‚‰ć«ćƒ«ćƒ¼ćƒ—ć§ć‚æć‚¤ćƒˆćƒ«č”Œć®é…åˆ—ć®å€¤ć‚’ęŒć£ć¦ć€JSON悒ēµ„ćæē«‹ć¦ć¦å€¤ć‚’ę ¼ē“ć—ć¦ć‚†ćć¾ć™ć€‚
  • ęœ€å¾Œć«VBA-JSON恮JsonConverter.ParseJson恫恦JSONćØć—ć¦å–å¾—ć•ć›ć¾ć™ć€‚
  • 5000č”Œć®ćƒ‡ćƒ¼ć‚æć‚’å…ƒć«ę§‹ēÆ‰ć•ć›ćŸć‚‰ēµę§‹ćŖę™‚é–“ćŒęŽ›ć‹ć‚Šć¾ć—ćŸćƒ»ćƒ»ćƒ»ćƒ»ć‚ć¾ć‚Šå¤§č¦ęØ”ćŖćƒ‡ćƒ¼ć‚æ処ē†ć«ćÆå‘ć‹ćŖ恄ćØę€ć„ć¾ć™ć€‚
  • äø€åŗ¦JsonConverter.ParseJsonć—ć¦ć—ć¾ć†ćØć€ćć®ć‚Ŗ惖ć‚ø悧ć‚Æ惈恫åÆ¾ć—ć¦č¦ē“ čæ½åŠ ć®ę‰‹ę®µćŒćŖ恄ļ¼ˆScriptcontrol悒ä½æć£ćŸå “åˆć€push恌恧恍悋恋悂恗悌ćŖć„ć‘ć‚Œć©ļ¼‰

JSONé€£ęƒ³é…åˆ—ćƒ‡ćƒ¼ć‚æć‚’å‚ē…§

JsonConverter.ParseJson恗恟ć‚Ŗ惖ć‚ø悧ć‚Æ惈恋悉态JSONć®å€¤ć‚’å–ć‚Šå‡ŗć™ćŸć‚ć«ćÆ态For eachć§å›žć—ć¦ļ¼‘č”Œćšć¤å–ć‚Šå‡ŗć™ę–¹ę³•ćŒć‚ć‚Šć¾ć™ć€‚é€šåøøć®é…åˆ—ćØ違恄äø€ę‹¬ć§ę›øćč¾¼ćæē­‰ćÆ恧恍ćŖ恄ļ¼ˆć‚‚ć”ć‚ć‚“ć€é…åˆ—ć‚’ē”Øę„ć—ć¦ćć“ćøJsonć‹ć‚‰å–ć‚Šå‡ŗć—ćŸå€¤ć‚’ę ¼ē“ć—ćŸć®ć”ć€é…åˆ—ć‚’äø€ē™ŗę›øćč¾¼ćæćÆåÆčƒ½ļ¼‰ć€‚

恝恓恧ļ¼‘č”Œćšć¤å–ć‚Šå‡ŗ恗恦ćÆ态ļ¼‘č”Œćšć¤ę›øćč¾¼ćæć‚’ć™ć‚‹ć‚³ćƒ¼ćƒ‰ć‚’ä½æć„ć¾ć™ć€‚

  • for each恫恦jsonrec恧ļ¼‘č”Œå–ć‚Šå‡ŗ恗态tempArray恫Arrayé–¢ę•°ć«ć¦1č”Œåˆ†ć®é…åˆ—ć‚’ä½œć£ć¦ć€ćć‚Œć‚’ę›øćč¾¼ćæć—ć¦ć„ć¾ć™ć€‚
  • jsonrecć§åˆ—åć‚’ęŒ‡å®šć™ć‚Œć°ć€åˆ—ćŒćƒ©ćƒ³ćƒ€ćƒ ć§ć‚‚ćć”ć‚“ćØå–ć‚Šå‡ŗć›ć‚‹ćŸć‚ć€å…ƒćƒ‡ćƒ¼ć‚æå“ć«ć¦ć€Œåæ…要ćŖ列ćÆē”Øę„ć•ć‚Œć¦ć‚‹ć€ć€Œåˆ—åć«å¤‰ę›“ćÆćŖć„ć€ć®ć§ć‚ć‚Œć°ć€ćć®ä»–ć®åˆ—ćŒå¢—ćˆć‚ˆć†ćŒę¶ˆćˆć‚ˆć†ćŒć€ć‚³ćƒ¼ćƒ‰ćÆćć”ć‚“ćØå‹•ä½œć—ć¾ć™ļ¼ˆJSON悒äø€ē•Ŗ恮ē†ē”±ćÆ恓悌ļ¼‰

ADOćƒ¬ć‚³ćƒ¼ćƒ‰ć‚»ćƒƒćƒˆć‚’ä½æć£ćŸę‰‹ę³•

Access恧ćÆ恊ćŖ恘ćæć®ę–¹ę³•ćŖć®ć§ć™ćŒć€Excel VBA恧ćÆć‚ć¾ć‚Šä½æć†ę©Ÿä¼šćŒå°‘ćŖ恄恋悂恗悌ćŖć„ć€ć‘ć‚Œć©éžåøø恫ä¾æåˆ©ć§ļ¼’ę¬”å…ƒé…åˆ—ć‚’ę‰±ć†ć®ć§ć‚ć‚‹ćŖć‚‰ć°ć€ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚»ćƒƒćƒˆć‚’ä½æć£ćŸé…åˆ—å‡¦ē†ćŒć‚Ŗć‚¹ć‚¹ćƒ”ć§ć™ć€‚é…åˆ—ć®ć‚ˆć†ćŖē°”ä¾æćŖę©Ÿčƒ½ć§ćÆćŖ恏非åøøć«é«˜ę©Ÿčƒ½ć§ć€ćƒŽć‚¦ćƒć‚¦ć‚‚ćŸćć•ć‚“ć‚ć‚‹ć®ć§ć€ćƒ”ćƒ¢ćƒŖäøŠć§ćƒ‡ćƒ¼ć‚æ処ē†ć‚’ć—ćŸć„ć®ć§ć‚ć‚Œć°ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚»ćƒƒćƒˆć®ć»ć†ćŒGood恧恙怂

ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚»ćƒƒćƒˆć®ä½œęˆćØčæ½åŠ 

Excel恧ADO悒ä½æć†å “åˆć«ćÆ态äŗ‹å‰ć«å‚ē…§čØ­å®šć‚’å…„ć‚Œć¦ćŠćć¾ć—ć‚‡ć†ļ¼ˆCreateObjectć§å…„ć‚ŒćŖćć¦ć‚‚ä½æćˆć¾ć™ćŒć€å…„åŠ›č£œå®ŒćŒåŠ¹ć‹ćŖ恄恮恧ļ¼‰ć€‚参ē…§čح定ćØ恗恦čæ½åŠ ć™ć‚‹é …ē›®ćÆ怌Microsoft ActiveX Data Objects 2.8 Library怍恧恙怂

ć‚µćƒ³ćƒ—ćƒ«ćƒ•ć‚”ć‚¤ćƒ«ć«ć‚ć‚‹dummyćØć„ć†åå‰ć®ć‚·ćƒ¼ćƒˆćƒ‡ćƒ¼ć‚æć‚’å–å¾—ć—ć€ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚’čæ½åŠ ć—恦ćæ恟恄ćØę€ć„ć¾ć™ć€‚

  • ADO悒ä½æć†å “åˆćÆåæ…ćšćƒ•ć‚£ćƒ¼ćƒ«ćƒ‰ć®åž‹ęŒ‡å®šćŒåæ…要恧恙ļ¼ˆé…åˆ—恠ćØå…ØéƒØVariantåž‹ć§ćŖć‚“ć¦å¤§é›‘ęŠŠćŖę–¹ę³•ć§ć™ćŒļ¼‰
  • ćƒ•ć‚£ćƒ¼ćƒ«ćƒ‰ć«ćÆNull恧悂č‰Æ恄悈ćØć„ć£ćŸć‚Ŗćƒ—ć‚·ćƒ§ćƒ³ęŒ‡å®šć‚’čæ½åŠ ć™ć‚‹äŗ‹ćŒåÆčƒ½ć§ć™ć€‚
  • adVarChar型ćŖć©ć®å “åˆć€åæ…ćšćƒ•ć‚£ćƒ¼ćƒ«ćƒ‰ć®ć‚µć‚¤ć‚ŗ(ę–‡å­—ę•°ļ¼‰ć‚’ęŒ‡å®šć™ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚ćŸć ć—ć“ć®ć‚µć‚¤ć‚ŗ恫ćÆäøŠé™ćŒć‚悋恮恧ę³Øꄏ怂
  • ćƒ‡ćƒ¼ć‚æ恮čæ½åŠ ćÆ态.AddNew恫恦čæ½åŠ ć—态.Update恫恦ē¢ŗå®šć—ć¾ć™ć€‚ä»„äøŠć«ē°”å˜ć«ēš„ē¢ŗćŖå “ę‰€ćøčæ½åŠ ćŒåÆčƒ½ć§ć™ć€‚
  • 他恫悂.Filterć«ć¦ćƒ‡ćƒ¼ć‚æć®ćƒ•ć‚£ćƒ«ć‚æćƒŖćƒ³ć‚°ć‚„ć‚½ćƒ¼ćƒˆćŒåÆčƒ½ļ¼ˆä¾‹ļ¼šrst.Filter = “č”€ę¶²åž‹=AB”Ā  rst.Filter = “č”€ę¶²åž‹ DESC”)
  • ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚»ćƒƒćƒˆć«åÆ¾ć—ć¦ć€SQLę–‡ćŒåˆ©ē”ØåÆčƒ½ć§ć™ć€‚
  • ć¾ćŸć€.Movećƒ”ć‚½ćƒƒćƒ‰ć«ć¦ć‚øćƒ£ćƒ³ćƒ—ć€.bookmarkćƒ”ć‚½ćƒƒćƒ‰ć«ć¦ćƒ¬ć‚³ćƒ¼ćƒ‰ä½ē½®ć‚’čØ˜ę†¶ćŖ恩恮豊åƌćŖćƒ”ć‚½ćƒƒćƒ‰ćŒåˆ©ē”ØåÆčƒ½ć§ć™ć€‚

図ļ¼šå‚ē…§čØ­å®šć‚’å…„ć‚Œć¦ćŠććØę„½ć§ć™ć€‚

ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚»ćƒƒćƒˆć®ćƒ‡ćƒ¼ć‚æć®å‚ē…§

ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚»ćƒƒćƒˆć®å‚ē…§ć‚‚非åøø恫ē°”å˜ć§ć™ć€‚ä»Šå›žćÆå–å¾—ć—ćŸćƒ¬ć‚³ćƒ¼ćƒ‰ć‚»ćƒƒćƒˆć®äø­čŗ«ć®ć†ć”态電話ē•Ŗå·ć ć‘ć‚’å…ØéƒØ惔惃ć‚Æć‚¢ćƒƒćƒ—ć™ć‚‹ć‚³ćƒ¼ćƒ‰ć‚’ę›ø恄恦ćæć¾ć—ćŸć€‚

  • ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚»ćƒƒćƒˆčæ½åŠ ē›“後ćÆć€ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚»ćƒƒćƒˆć®ęœ«ē«Æ恫恄悋ēŠ¶ę…‹ćŖć®ć§ć€ć¾ćšćÆ.MoveFirstć§ćƒ¬ć‚³ćƒ¼ćƒ‰ć®å…ˆé ­ć¾ć§ē§»å‹•ć—ć¾ć™ć€‚
  • Do Until rst.EOFćƒ«ćƒ¼ćƒ—ć«ć¦ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚»ćƒƒćƒˆć®ēµ‚ē«Æć¾ć§ćƒ«ćƒ¼ćƒ—ć•ć›ć¾ć™ć€‚
  • rst(ćƒ•ć‚£ćƒ¼ćƒ«ćƒ‰å)ć«ć¦ć€å€¤ć‚’å–ć‚Šå‡ŗ恙äŗ‹ćŒåÆčƒ½ć§ć™ć€‚ć¾ćŸć€rst!ćƒ•ć‚£ćƒ¼ćƒ«ćƒ‰åć§ć‚‚åÆčƒ½ć§ć™ćŒć€äŗˆē“„čŖžćŖ恩ćØćƒćƒƒćƒ†ć‚£ćƒ³ć‚°ć—ćŸå “åˆć‚Øćƒ©ćƒ¼ć«ćŖ悋恮恧ę³Øꄏ怂
  • åæ…恚.MoveNextć§ę¬”ć®ćƒ¬ć‚³ćƒ¼ćƒ‰ćøē§»å‹•ć—ćŖ恄ćØ态ē„”é™ćƒ«ćƒ¼ćƒ—ć«ćŖ悋恮恧ę³Øꄏ

ć‚·ćƒ¼ćƒˆćøäø€ē™ŗę›øćč¾¼ćæ悒恙悋

é…åˆ—ć®åˆ©ē‚¹ćÆć€é…åˆ—ćƒ‡ćƒ¼ć‚æć‚’ęŒ‡å®šć®ēÆ„å›²å†…ć«äø€ę‹¬ć§ę›ø恍å‡ŗ恗恌恧恍悋ē‚¹ć§ć—ćŸć€‚ä»–ć®é…åˆ—ē³»ć®å‡¦ē†ćÆäø€ę‹¬ę›ø恍å‡ŗć—ć‚’ć™ć‚‹ćƒ”ć‚½ćƒƒćƒ‰ćŒćŖ恄恮恧äøä¾æć§ć™ć­ć€‚ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚»ćƒƒćƒˆć«ćÆCopyFromRecordsetćØ恄恆ä¾æ利ćŖćƒ”ć‚½ćƒƒćƒ‰ćŒć‚ć‚Šć€ć‚ć£ć•ć‚Šäø€ē™ŗ恧å‡ŗåŠ›ćŒåÆčƒ½ć§ć™ć€‚Access恋悉Excel悒ć‚Ŗćƒ¼ćƒˆćƒ”ćƒ¼ć‚·ćƒ§ćƒ³å‡¦ē†ć§å‡ŗåŠ›ć™ć‚‹éš›ć«ć‚‚ć‚ˆćåˆ©ē”Øć—ć¾ć™ć€‚

  • 配列ćØé•ć„ć€ćƒ¬ć‚³ćƒ¼ćƒ‰ć®ćƒ¬ć‚³ćƒ¼ćƒ‰ę•°ćØåˆ—ę•°ć‚’ę„č­˜ć™ć‚‹äŗ‹ćŖććƒ”ć‚½ćƒƒćƒ‰äø€ē™ŗć§ć€ęŒ‡å®šć®ä½ē½®ć‹ć‚‰ćƒ‡ćƒ¼ć‚æć‚’åćå‡ŗć›ć¾ć™ć€‚
  • ćƒ¬ć‚³ćƒ¼ćƒ‰čæ½åŠ ē›“後ćÆćƒ¬ć‚³ćƒ¼ćƒ‰ć‚»ćƒƒćƒˆęœ«ē«Æ恫恄悋恮恧态åæ…恚.MoveFirstć§å…ˆé ­ć«ē§»å‹•ć—恦恋悉å‡ŗåŠ›ć—ć¾ć—ć‚‡ć†ć€‚ć§ćŖ恄ćØęœ€å¾Œć®1č”Œć ć‘ćŒå‡ŗåŠ›ć•ć‚Œć¦ć—ć¾ć„ć¾ć™ć€‚
  • äø€ē™ŗę›ø恍å‡ŗ恗ćŖć®ć§éžåøøć«é«˜é€Ÿć«ć‚·ćƒ¼ćƒˆäøŠćøćƒ‡ćƒ¼ć‚æć®å±•é–‹ćŒåÆčƒ½ć§ć™ć€‚
  • ADOć§ć®ćƒ¬ć‚³ćƒ¼ćƒ‰å‡¦ē†ćÆ非åøøć«é«˜é€ŸćŖć®ć§ć€é€Ÿåŗ¦é¢ć§ć‚‚ADOć®åˆ©ē”ØćÆęŽØå„Ø恧恙怂

Dictionaryć‚’åˆ©ē”Ø恗恟äŗŒę¬”元配列

配列ćÆćƒ‡ćƒ¼ć‚æ恮čæ½åŠ ćŖć©ćŒéžåøøć«é¢å€’ć§ć©ć†ć«ć‹ć—ćŸć„ļ¼ćØć„ć†ę–¹ćŒć€ć‚¦ć‚§ćƒ–ć‚’ęŽ¢ć—ć¦ę¬”ć«č”Œćå½“ćŸć‚‹ę–¹ę³•ćŒć€ŒDictionary悒äŗŒé‡ć«åˆ©ē”Ø恗恟äŗŒę¬”å…ƒé…åˆ—ę§‹é€ ć€ć§ć™ć€‚å˜äø€ć®Dictionary恧恙ćØ1ę¬”å…ƒć§ć—ć‹ćŖ恄恮恧态KeyćØItem恮åÆ¾ć®ę§‹é€ ćŒå‡ŗę„ć¦ćŠć—ć¾ć„ć§ć‚ć‚‹ćŸć‚ć€č”Øć®ć‚ˆć†ćŖäŗŒę¬”元配列ćØ恗恦ćÆ利ē”Øć§ćć¾ć›ć‚“ć€‚

今回利ē”Ø恙悋DictionaryćÆ态äŗ‹å‰ć«å‚ē…§čØ­å®šć‚’å…„ć‚Œć¦ćŠćć¾ć—ć‚‡ć†ļ¼ˆCreateObjectć§å…„ć‚ŒćŖćć¦ć‚‚ä½æćˆć¾ć™ćŒć€å…„åŠ›č£œå®ŒćŒåŠ¹ć‹ćŖ恄恮恧ļ¼‰ć€‚参ē…§čح定ćØ恗恦čæ½åŠ ć™ć‚‹é …ē›®ćÆ怌Microsoft Scripting Runtime怍恧恙怂

図ļ¼šScripting RuntimećÆ非åøøć«ć‚ˆćåˆ©ē”Øć—ć¾ć™

Dictionaryćƒ‡ćƒ¼ć‚æć®ä½œęˆ

č¦ŖćØćŖ悋DictionaryćØćÆåˆ„ć«ćƒ«ćƒ¼ćƒ—å†…ć§å­ćØćŖ悋Dictionaryć‚’ä½œęˆć—ć€ćć®äø­ć«é…åˆ—ć®ćƒ‡ćƒ¼ć‚æć‚’ęµć—č¾¼ć‚“ć§ć„ć¾ć™ć€‚DictionaryćÆaddćƒ”ć‚½ćƒƒćƒ‰ć«ć¦ē°”å˜ć«ćƒ¬ć‚³ćƒ¼ćƒ‰ćƒ‡ćƒ¼ć‚æ悒čæ½åŠ ć§ćć¾ć™ćŒć€åæ…ćšć‚­ćƒ¼ćØ値ćØć„ć†ćƒšć‚¢ć§čØ­å®šćŒåæ…要恫ćŖć‚Šć¾ć™ć€‚ćć“ć§ä»Šå›žćÆć€ć‚­ćƒ¼ć«ć‚æć‚¤ćƒˆćƒ«č”Œć®å€¤ć‚’åˆ©ē”Øć—ć€å€¤ćÆå„ćƒ¬ć‚³ćƒ¼ćƒ‰ć®å€¤ć‚’å…„ć‚Œć‚‹ć‚ˆć†ć«ć—ć¾ć—ćŸļ¼ˆarrListćØ恄恆ć‚Ŗ惖ć‚ø悧ć‚Æćƒˆå†…ć«ć‚­ćƒ¼ćŒå…„ć£ć¦ć„ć¾ć™ć®ć§ć€arrList(1)恧IDćØć„ć†ć‚­ćƒ¼ćŒå–ć‚Šå‡ŗć›ć¾ć™ļ¼‰

  • oDic.Keys(i)ć«ć¦ć€ćƒ¬ć‚³ćƒ¼ćƒ‰ē•Ŗå·ćŒå–ć‚Šå‡ŗć›ć¾ć™
  • buf恫ćÆć€ć‚«ćƒ³ćƒžåŒŗåˆ‡ć‚Šć§Dictionaryć®ćƒ‡ćƒ¼ć‚æ恌꧋ēÆ‰ć•ć‚Œć¦å‡ŗåŠ›ć•ć‚Œć¦ę„ć¾ć™ć€‚
  • .addćƒ”ć‚½ćƒƒćƒ‰ć®1恤ē›®ć®å¼•ę•°ć§ć‚ć‚‹ć€Œć‚­ćƒ¼ć€ć«ćÆć‚æć‚¤ćƒˆćƒ«č”Œć®åå‰ć‚’å…„ć‚Œć€2恤ē›®ć®å¼•ę•°ć§ć‚ć‚‹å€¤ć«å„ćƒ¬ć‚³ćƒ¼ćƒ‰ć®å€¤ć‚’ę ¼ē“ć—ć¦ć„ć¾ć™ć€‚
  • ä½œć‚Šę–¹ćÆJavaScriptć®å¤šé‡é€£ęƒ³é…åˆ—ć®ä½œć‚Šę–¹ć«ä¼¼ć¦ć„ć¦ć€äø€ę™‚é…åˆ—ć‚’č¦Ŗć®é…åˆ—ć«éƒ½åŗ¦push恙悋悈恆ćŖꄟ恘恧恙怂
  • Debug.Print oDic(oDic.Keys(2))(arrList(2))ćØ恙悋ćØ态3č”Œē›®ć®3列ē›®ć§ć‚ć‚‹ć‚Ŗć‚«ć‚¶ć‚­ć‚³ć‚¦ć‚­ćØć„ć†å€¤ćŒę‰‹ć«å…„ć‚Šć¾ć™ć€‚

Dictionary恮ę›ø恍å‡ŗ恗

DictionaryćÆé…åˆ—ć§ćÆćŖ恄恮恧态äø€ę°—恫ę›ø恍å‡ŗ恗恙悋悈恆ćŖäŗ‹ćÆć§ćć¾ć›ć‚“ćŒć€å‰å›žć®ć‚³ćƒ¼ćƒ‰ć®ęœ€å¾Œć§ćÆć‚«ćƒ³ćƒžåŒŗåˆ‡ć‚Šć§1č”Œć®ćƒ¬ć‚³ćƒ¼ćƒ‰ćŒčæ”ć£ć¦ćć¾ć—ćŸć€‚ćć“ć§ć“ć‚Œć‚’Splité–¢ę•°ć§äø€ę¬”å…ƒé…åˆ—ć«ć—ć€1č”Œå˜ä½ć§ę›øćč¾¼ć‚€ć‚ˆć†ć«ć—ć¦ćæć¾ć—ćŸć€‚

  • bufć®å€¤ćÆć‚«ćƒ³ćƒžåŒŗåˆ‡ć‚ŠćŖ恮恧态Splité–¢ę•°ć«ć¦äø€ę¬”å…ƒé…åˆ—ć«ć—ćŸēŠ¶ę…‹ć®ć‚‚恮悒ę›øćč¾¼ć‚€ćƒÆćƒ¼ć‚Æć‚·ćƒ¼ćƒˆć®ēÆ„å›²ć‚’ęŒ‡å®šć—ć¦ä»£å…„ć™ć‚‹ć ć‘ć§ę›øćč¾¼ćæ恌ćŖć•ć‚Œć¾ć™ć€‚
  • Dictionaryć®ę“ä½œćÆę±ŗ恗恦ꗩ恄悂恮恧ćÆćŖć„ć®ć§ć€å¤§č¦ęØ”ć«ä½æć†ć®ć§ć‚ć‚Œć°ćƒ¬ć‚³ćƒ¼ćƒ‰ć‚»ćƒƒćƒˆć®ä½æē”Øć‚’ćŠć™ć™ć‚ć—ć¾ć™ļ¼ˆéšŽå±¤ćŒę·±ććŖ悋ćØ悏恑悏恋悉ćŖ恏ćŖć‚Šć¾ć™ć—ļ¼‰ć€‚

関連ćƒŖćƒ³ć‚Æ

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

ćƒ”ćƒ¼ćƒ«ć‚¢ćƒ‰ćƒ¬ć‚¹ćŒå…¬é–‹ć•ć‚Œć‚‹ć“ćØćÆć‚ć‚Šć¾ć›ć‚“ć€‚

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