�����[�h�����P�ŃV���[�e�B���O�Q�[���͍쐬�”\����

VBA�A�N�V�����Q�[���H
�@
�v�������œ��������I

�����͐V���IVBA�̏I���`Word�œ�������!�ւ悤�����I���[�h�̓A�N�V�����Q�[���쐬�ɕs�����H�E�E�E�����炭�B
�J�[�\���������e�L�X�g�\���A�}���폜�ŏ����ւ���B�J���‹�VBA������Ȃ��‚��Ă郏�[�h�����ǁA
Word��œ��������ƂɈӋ`������Ƃ͌����؂�Ȃ��B

���cVBA�A�N�V�����Q�[���HExcel�œ��������I�͂�����

since�@2004/6/12�@�����N�t���[

���v �{�� ����@

�}�C�N���\�t�g�Ђ̃��[�v���\�t�g�uWord�v�̕������VBA�}�N�����g�p���A�N�V�����Q�[��������Ă݂܂��B�肵��
�@

���[�h�����P�ŃV���[�e�B���O�Q�[���͍쐬�”\��


�����P�V���[�e�B���OVer�P�D�O�O�̃_�E�����[�h
���u�y�v�L�[�ŋ����I����lj�

�P�@���āA�ǂ������𒅂��悤��

�@Word�}�N���Ȃ񂼎g�������ƂȂ����A�ł����v�B�}�N���L�^�����邩��˂��B���̂ւ�VBA�̑f���炵���Ƃ���ł����āA�Ƃɂ���������L�^�ł���������Ώ����Ƃ����B�����}�j���A���ǂޕK�v���Ȃ�����B�����Ō��߂��B���ȏ��̓}�N���L�^�̂݁BVBA�̑f���炵����̊����邽�߂ɂ��w���v����،���Word�ŃA�N�V�����Q�[�������A���Ƃɂ��܂��B

�Q�@�ǂ�ȃQ�[���ɂ���H

�ŏ����猃�����͖̂����ł��傤�˂��B�����Word�炵���e�L�X�g�x�[�X�̊ȒP�ȃV���[�e�B���O�Q�[������낤�B���@���G���e���e�L�X�g�ŁB����Excel�e�L�X�g�Q�[������u�����C���x�[�_�[�v�̊ȈՔł̃C���[�W�B�����^�C�s���O�Q�[���z�z�ŗL���ȔL�G�N�J������I���W�i��Excel�ł͂������B

�@�@�@�@��

�@�@�@�@��

�@�@�@�@�@�@��

�R�@�����A���n�߂悤

�e�ɂ��p�ɂ��}�N���L�^���B�ǂ��������e�L�X�g��\�������邱�Ƃ��ł���̂��z�����‚���B�܂��̓}�N���L�^�̊J�n���A
�E�u�@�@�@���v�i�X�y�[�X�A�X�y�[�X�A���j
�Ƒł�����ł݂�B�o�����\�[�X�R�[�h��
Selection.TypeText Text:=" ��"
�E�E�E�E���ꂾ���H�ւ��A�ȒP�B�C�ӂ̏ꏊ��I������Selection.TypeText Text:="��"�Ƃ���΁A���@��\���ł���ł͂Ȃ����B����ł͂ƁA�ꏊ�I���}�N�����L�^���Ă݂�B�J�[�\�������ɂT��A�E�ɂT��A��ɂT��A���ɂT��B
Selection.MoveDown Unit:=wdLine, Count:=5
Selection.MoveRight Unit:=wdCharacter, Count:=5
Selection.MoveUp Unit:=wdLine, Count:=5
Selection.MoveLeft Unit:=wdCharacter, Count:=5

�قق��A���Ύw��ɂȂ�悤���˂��B���J�[�\���̂���ꏊ����́A����Ŏ��݂Ɉړ��ł������B���Ȃ݂ɐ�Ύw��͂ǂ�����̂��낤�B���i�ő��Ɏg��Ȃ��W�����v�@�\���L�^���Ă݂悤�B�Q�O�s�ڂ܂ŃW�����v�A�ƁB�o�����R�[�h��
Selection.GoTo What:=wdGoToLine, Which:=wdGoToFirst, Count:=20, Name:=""
���s����Ƃ����ƂQ�O�s�ڂ��I�������B�ł��������F�X�����Ă�₱���������ȁB���Ƃ́A�����K�v�H�B����ŔC�ӂ̏ꏊ�ɔC�ӂ̕�����\�������邱�Ƃ͏o���邵�E�E�E���A���������A�L�����N�^�[�̏������m���Ă����Ȃ���΁B�‚��łɃX�y�[�X�̑}�����}�N���L�^�B
Selection.TypeBackspace
Selection.TypeText Text:=" "

�ȒP�ȒP�B

�ȏ�A�K�v�R�[�h�܂Ƃ�

�I���ړ��i���������j
Selection.MoveDown Unit:=wdLine, Count:=5
Selection.MoveRight Unit:=wdCharacter, Count:=5
Selection.MoveUp Unit:=wdLine, Count:=5
Selection.MoveLeft Unit:=wdCharacter, Count:=5


�s�ԍ��w��ɂ��ړ�
Selection.GoTo What:=wdGoToLine, Which:=wdGoToFirst, Count:=20, Name:=""

�L�����N�^�[�i�����j�\���E�폜
Selection.TypeText Text:=" ��"
Selection.TypeBackspace
Selection.Delete Unit:=wdCharacter, Count:=1

�S�@�Q�[���̎d�l�����߂Ă݂�

�Q�[���̃t�B�[���h�͔��p�R�O�����~�P�P�s
���@�F�ʁA�~�T�C���F���A�G�F���͍ŏ㕔��荶�E�Ɉړ�����B
�v���C���[�͓ʂ����E�ɑ��삵�~�T�C���ő������j
�~�T�C���͓����\���P���A���������\���P�@
�܂��A����ȂƂ��납�B�ׂ����Ƃ���͍��Ȃ��猈�߂Ă������B

�T�@�Q�[���̃R�[�h�I������@

���ꂪ��ԑ厖�ȂƂ���B�g����X�e�[�g�����g���Q�[��������@���l���Ă݂�B���@�̈ړ��́A�E�ړ������@�̍��ɋ󔒑}���A���ړ������@�̍��ŋ󔒍폜�A�łǂ����B�G�����E�ړ��͂���ł��������B�e�͏������Ȃ��Ⴞ�߂��������A���������炷���ɋ󔒂�}�����Ƃ����炢�������B���炩���ߔ��p�X�y�[�X���R�O�����~�P�P�s�~���l�߂Ă�������A���W�w����ȒP�������B���̒��ŃC���[�W���Ă݂�B����A���������B

�U�@�L�[���͎擾�́H

�����ŁA�ӂ��ƕs�����悬��B���@�̑���ɕK�v�ȃL�[���͂́B�`�o�h��GetAsyncKeyState���g���邾�낤���E�E�E�B�g�����B���������S�z�������̖�����u�ʼn����B���Ⴀ�����A���x�����ɕK�v�Ȃ`�o�hGetTickCount�����v�ł��傤�B

�V�@�ł́A�R�[�f�B���O�̑O�ɁA�v���O�����̗���𐮗�

���‚��͂��̉ߒ����R�[�f�B���O�Ȃ̂ł����A����͊���Ȃ�Word�}�N���Ƃ������ƂŁB

��GAMESTART
���S��������
�����p�X�y�[�X�R�O�����~�P�P�s�~���l��
�����@�\��
���G�@�\��
�����C�����[�v�J�n
�@�E���@�̈ړ�����A���@�\��
�@�E�~�T�C�����ˁE�ړ�����A�\��
�@�E�G�ړ�����A�\��
�@�E�����蔻��A�X�R�A�\��
�@�E�Q�[���I������
�����C�����[�v�I���i�J��Ԃ��j
���Q�[���I������

�W�@���悢��R�[�f�B���O

�����ƁA���̑O�Ƀ}�N���L�^������Ȃ������B

�Q�[���J�n���̏����A�S�I���A�S����
Selection.WholeStory
Selection.Delete Unit:=wdCharacter, Count:=1

HOME�|�W�V�����ֈړ�
Selection.HomeKey Unit:=wdStory

�Ƃ������Ƃʼn��߂ăR�[�f�B���O�J�n�E�E�E�E

�X�@�����āA����

�����P�V���[�e�B���OVer�P�D�O�O�̃_�E�����[�h
���u�y�v�L�[�ŋ����I����lj�

VBA�R�[�h��HTML���ɂ́ABykin������uVBA�R�[�hHTML�ϊ��v���g�p�����Ă��������Ă܂��B


'************************************************************

'�����P�V���[�e�B���O�@Ver1.00
'�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@2004/6/12 By�@N.Chikada
'http://www1.plala.or.jp/chikada/
'************************************************************
OptionExplicit
DeclareFunctionGetTickCount</font>Lib"kernel32"()</font>AsLong  </font>'Windows�N����o�ߎ��Ԏ擾API
DeclareFunctionGetAsyncKeyState</font>Lib"User32.dll"(ByValvKey</font>AsInteger)</font>AsLong
DeclareFunctionPlaySound</font>Lib"winmm.dll"</font>Alias"PlaySoundA"_
    (
ByVallpszName</font>AsString,</font>ByValhModule</font>AsLong,</font>ByValdwFlags</font>AsLong)</font>AsLong
ConstVK_LEFT</font>AsLong=&amp;H25
ConstVK_RIGHT</font>AsLong=&amp;H27
ConstVK_Z</font>AsLong=&amp;H90


SubGameStart()
Dimi</font>AsInteger
DimScore</font>AsLong

Dimz(1</font>To3,1</font>To2)</font>AsInteger</font>'���W���[�p(1:���@2:�~�T�C��3:�G�A1:�s2:��)
Dimh</font>AsInteger'�G�̐i�s����(1:�E,-1:��,)
h=1
z(1,1)=10</font>'���@�s
z(1,2)=1</font>'���@��
z(2,1)=0</font>'�e�s
z(2,2)=0</font>'�e��
z(3,1)=0</font>'�G�s
z(3,2)=2</font>'�G��
DimGameF</font>AsBoolean</font>'�Q�[���i�s�t���O
GameF=</font>True

DimStartTime(0</font>To2)</font>AsLong</font>'0:�Q�[���J�n�A1:���[�v�J�n�A3:������\��

'�S�I������
Selection.HomeKeyUnit:=wdStory
Selection.WholeStory
Selection.DeleteUnit:=wdCharacter,Count:=1

'���p�X�y�[�X�Q�O�����~�P�O�s�~���l��
Fori=1</font>To10
 Selection.TypeTextText:="               "
 Selection.TypeParagraph 
'���s
Nexti

Selection.TypeTextText:="�����P�V���[�e�B���OVer1.00�@By�@N.Chikada"
Selection.MoveRightUnit:=wdCharacter,Count:=30,Extend:=wdExtend
Selection.Font.Bold=wdToggle
Selection.Font.Color=wdColorBlue
Selection.TypeTextText:="�@Http://www1.plala.or.jp/chikada/"
Selection.MoveLeftUnit:=wdCharacter,Count:=32,Extend:=wdExtend
ActiveDocument.Hyperlinks.AddAnchor:=Selection.Range,Address:=_
 "http://www1.plala.or.jp/chikada/",SubAddress:=""
Selection.TypeParagraph 
'���s
Selection.TypeTextText:="�Q�[���J�n�̓��j���[�o�[�̃c�[�����}�N�����}�N����GameStart��I�������s"
Selection.TypeParagraph 
'���s
Selection.TypeTextText:="���}�N�������̏ꍇ�́A�c�[�����}�N�����Z�L�����e�B�𒆂ɐݒ肷��Ǝ��s�ł��܂��B"
Selection.TypeParagraph 
'���s

Selection.TypeTextText:="���E�L�[�Ŏ��@�ʂ��ړ��A�u���v��_����Shift�L�[�Ń~�T�C�����ˁB"
Selection.TypeParagraph 
'���s
Selection.TypeTextText:="30秒�Ԃ̖����񐔂������{�i�h�V���[�e�B���O�Q�[���ł��"
Selection.TypeParagraph 
'���s

Selection.WholeStory
Selection.Font.Name="�l�rゴ�V�b�N"

'�G�A���@�̔z�u
Selection.HomeKeyUnit:=wdStory
'Selection.MoveDownUnit:=wdLine,Count:=1
Selection.MoveRightUnit:=wdCharacter,Count:=1
Selection.TypeTextText:="��"

Selection.HomeKeyUnit:=wdStory
Selection.MoveDownUnit:=wdLine,Count:=10
Selection.TypeTextText:="��"
Selection.TypeParagraph 
'���s

StartTime(0)=GetTickCount

'���C�����[�v�J�n
DoWhileGameF
 StartTime(1)=GetTickCount

 </font>' ���@�̈ړ����褎��@�\��
 Selection.HomeKeyUnit:=wdStory
 Selection.MoveDownUnit:=wdLine,Count:=10
 </font>IfGetAsyncKeyState(VK_LEFT)&lt;>0</font>Then
  </font>Ifz(1,2)&gt;1</font>Then
    z(1,2)=z(1,2)-1
    Selection.DeleteUnit:=wdCharacter,Count:=1
  </font>EndIf
 </font>ElseIfGetAsyncKeyState(VK_RIGHT)&lt;>0</font>Then
  </font>Ifz(1,2)&lt;30</font>Then
   z(1,2)=z(1,2)+1
   Selection.TypeTextText:=""
   
EndIf
 </font>EndIf

 </font>'�@�~�T�C�����ˁE�ړ�����A�\��
 </font>Ifz(2,1)=-1</font>Then</font>'��o��
   
IfGetAsyncKeyState(16)&lt;>0</font>Then
    z(2,2)=z(1,2)
    z(2,1)=9
   
EndIf
 </font>ElseIfz(2,1)&gt;0</font>Then</font>'��[���ړ���
    </font>'���O�̒e������
    Selection.HomeKeyUnit:=wdStory
    Selection.MoveDownUnit:=wdLine,Count:=z(2,1)
    Selection.MoveRightUnit:=wdCharacter,Count:=z(2,2)
    Selection.DeleteUnit:=wdCharacter,Count:=1
    Selection.TypeTextText:=""
    z(2,1)=z(2,1)-1
 </font>Else
   z(2,1)=-1
 </font>EndIf

 </font>'�e�̕\��
 </font>Ifz(2,1)&gt;0</font>Then
   Selection.HomeKeyUnit:=wdStory
   Selection.MoveDownUnit:=wdLine,Count:=z(2,1)
   Selection.MoveRightUnit:=wdCharacter,Count:=z(2,2)
   Selection.TypeTextText:="��"
 </font>EndIf

 </font>' �G�ړ����褕\��
 </font>'�܂�Ԃ��̔���
 </font>SelectCasez(3,2)
   
Case1
   h=1
   </font>'z(3,1)=z(3,1)+1
   
Case30
   h=-1
   </font>'z(3,1)=z(3,1)+1
 </font>EndSelect
 z(3,2)=z(3,2)+h
 Selection.HomeKeyUnit:=wdStory
 Selection.MoveDownUnit:=wdLine,Count:=z(3,1)-1
 </font>Ifh=-1</font>Then
    Selection.DeleteUnit:=wdCharacter,Count:=1
 </font>ElseIfh=1</font>Then
   Selection.TypeTextText:=""
 </font>EndIf

 </font>' �����蔻�褃X�R�A�\��
 </font>Ifz(2,1)=z(3,1)</font>Andz(2,2)=z(3,2)Then
   Score=Score+1
   StartTime(2)=GetTickCount
   Selection.HomeKeyUnit:=wdStory
   Selection.MoveDownUnit:=wdLine,Count:=5
   Selection.MoveRightUnit:=wdCharacter,Count:=13
   Selection.TypeTextText:="HIT!"
   Selection.HomeKeyUnit:=wdStory
   
DoUntilGetTickCount-StartTime(2)&gt;500
   
Loop
   Selection.HomeKeyUnit:=wdStory
   Selection.MoveDownUnit:=wdLine,Count:=5
   Selection.MoveRightUnit:=wdCharacter,Count:=13
   Selection.DeleteUnit:=wdCharacter,Count:=4
 </font>EndIf

 </font>'����Wait
 </font>DoWhileGetTickCount-StartTime(1)&lt;50
   
' �Q�[���I������
   
IfGetTickCount-StartTime(0)&gt;30000</font>Then
    GameF=</font>False
    </font>ExitDo
   
EndIf
 </font>Loop

 </font>IfGetAsyncKeyState(VK_Z)&lt;>0</font>Then
   GameF=</font>False
 </font>EndIf

'���C�����[�v�I��(�J��Ԃ�)
Loop

'�Q�[���I������
MsgBoxScore&amp;"������"

EndSub


�P�O�@����Ă݂Ċ��z

�R�[�h�ASelection���炯�ł��ˁB�J�[�\���𓮂������ɕ������������������@����̂ł��傤���B�x�ɓ����J�[�\���Ń`�J�`�J�����Ⴄ���B
���Ȃ݂�
'����Wait
Do While GetTickCount - StartTime(1) < 50
��
Do While GetTickCount - StartTime(1) < 0
�Ƃ���ƃm�[Wait�Ń��[�h���������܂��B�o�S���̍��X�y�b�N�o�b���ƁA�����I�ȑ��������킦�܂��B

�ꉞ�����Ƃ��܂����B
�uWord�œ��������ƂɈӋ`������v
�E�E�E�E�E�Ƃ͍��̂Ƃ��댾���؂�Ȃ��Ȃ��B

����A�uWord�̕\�ŃZ���x�[�_�[�v�ɂ������҉������i�R�j

2004/6/12�@��������@�ߓc�L��


�}���V����