�Ɩ��������ɖ𗧂�VBA�^�}�N���̂��܂��܂�Tips���R�[�h��������ďЉ�Ă����܂��B����́A�t�@�C���^�t�H���_�[���擾��Dir�A�t�@�C���̒������擾����FileLen�A�摜�\����LoadPicture�A�v���O�������s��Shell�AActiveX�I�u�W�F�N�g�ւ̎Q�Ƃ��쐬���ĕԂ�CreateObject�Ȃǂ̎g�����ɂ��ĉ���B
�@����A���̎g�������������B���҂̑�1��ڂ́A�uDir�v�uFileLen�v�uLoadPicture�v�uShell�v�uCreateObject�v�Ƃ����A�t�@�C������Ɋւ���5���̎g�������B�Ȃ��A���̊�{�I�Ȏg�����ɂ��ẮATips�u�R���p�C���G���[�ɂȂ�Ȃ����̎g�����\�\���ʂ̗L���A�����̈����ACall�X�e�[�g�����g�A�߂�l�A���O�t�������Ə����v���Q�Ƃ��Ăق����B
�@�uDir�v���́A�t�@�C���^�t�H���_�[�A�w�肵���p�^�[���܂��̓t�@�C�������Ɉ�v����t�H���_�[�̖��O�A�܂��̓h���C�u�̃{�����[�����x����\���������Ԃ������B�ȒP�ɂ����ƁA�����Ɏw�肵���t�@�C���������݂���Ƃ��́A���̃t�@�C������Ԃ��A���݂��Ȃ��ꍇ�͋��Ԃ����Ƃ������Ƃ��B
Dir(pathname)
�@�upathname�v�ɂ̓t�@�C�������w�肷�镶������w�肷��B
�@�}1�̂悤�ɁuC:\ExcelVBAData���̃e�L�X�g�t�@�C�����擾�v�Ƃ����{�^�����������Ƃ���B���炩���߁uC:\ExcelVBAData�v�Ƃ����t�H���_�[���쐬���A�������̃e�L�X�g�t�@�C����z�u���Ă����B
�@�uC:\ExcelVBAData���̃e�L�X�g�t�@�C�����擾�v����R�[�h��̓��X�g1�ɂȂ�BVBE�iVisual Basic Editor�j���N�����ām�}���n����m�W�����W���[���n��I�����A�v���W�F�N�g���ɒlj������Module1���Ƀ��X�g1�̃R�[�h���L�q����B
Option Explicit Sub Dir���̎g����() Dim �t�@�C���� As String Dim i As Integer i = 5 �t�@�C���� = Dir("C:\ExcelVBAData\*.txt") Do While �t�@�C���� <> "" Cells(i, 2) = �t�@�C���� �t�@�C���� = Dir() i = i + 1 Loop End Sub
�@�܂��A3�s�ڂŕ�����^�̕ϐ��u�t�@�C�����v��錾���A4�s�ڂ�Integer�^�̕ϐ��ui�v��錾����B
�@5�s�ڂŁui�v��5�ŏ��������Ă����B���́u5�v�́A�e�L�X�g�t�@�C����\��������ŏ��́u�s�ԍ��v�ɓ�����B
�@6�s�ڂł́A�ϐ��u�t�@�C�����v�ɁuDir�v�����g���āA�uC:\ExcelVBAData�v�t�H���_�[�ɂ���S�Ẵe�L�X�g�t�@�C�����w�肷��B�Ȃ��w��ɂ́A�A�X�^���X�N�i*�j���g�p�ł���B
�@7�`11�s�ڂł́A�ϐ��u�t�@�C�����v����ł͂Ȃ��ԁA�J��Ԃ��������s���B�ui�s�ځv�́u2��ځv�́uB��v�ɕϐ��u�t�@�C�����v�̒l��\������i8�s�ځj�B�ϐ��ui�v��1�����������Ă���̂ŁA�e�s�Ƀe�L�X�g�t�@�C�������\�������i10�s�ځj�B
�@���̃��X�g1�̃}�N�����uC:\ExcelVBAData���̃e�L�X�g�t�@�C�����擾�v�{�^���Ɋ֘A�t�����s�������ʂ��}2���B
�@�uFileLen�v���́A�t�@�C���̒������o�C�g�P�ʂŎ����������^�iLong�j�̒l��Ԃ������B
FileLen (pathname)
�@�upathname�v�͕K�{���ڂŁA�t�@�C�������w�肷�镶�����B�upathname�v�ɂ̓f�B���N�g�����܂��̓t�H���_�[���A����уh���C�u�����܂߂Ďw�肷�邱�Ƃ��ł���B
�@�}2�̉摜�ɐ}3�̂悤�Ɂu�t�@�C���̒������o�C�g�P�ʂŎ擾�v�Ƃ����{�^����z�u���Ă����B
�@�u�A�N�e�B�u�Z���v�̃t�@�C�����ƈ�v����t�@�C���̒������o�C�g�P�ʂŕԂ��R�[�h�̓��X�g2�ɂȂ�B�u�A�N�e�B�u�Z���v�Ƃ́A�}3�Łu�t�@�C���̒������o�C�g�P�ʂŎ擾�v�{�^�����N���b�N����O�ɁA�I�����ꂽ�Z���v���w���B�����ł́uB��v�ɕ\�����ꂽ�e�L�X�g�t�@�C���������͂��ꂽ�Z����I�����Ă����B
Sub FileLen���̎g����() Dim �t�@�C���̒��� As Long On Error GoTo myError �t�@�C���̒���= FileLen("C:\ExcelVBAData\" & ActiveCell.Value) MsgBox ActiveCell.Value & "�̃t�@�C���̒�����" & Format(�t�@�C���̒���, "#,###") & "�o�C�g����܂��B" Exit Sub myError: MsgBox "�t�@�C�����̕\������Ă���Z�����I������Ă��܂���B" Exit Sub End Sub
�@2�s�ڂ�Long�^�̕ϐ��u�t�@�C���̒����v��錾����B3�s�ڂł́A�A�N�e�B�u�ȃZ���Ƀt�@�C�������L�ڂ���Ă��Ȃ��ƃG���[����������̂ŁA�G���[�������J�n���Ă���B
�@4�s�ڂł́A�ϐ��u�t�@�C���̒����v�ɁA�uFileLen�v�����g���ăt�H���_�[���ƃA�N�e�B�u�Z���́u�t�@�C�����v��A�����Ďw�肵�A�t�@�C���̒������擾���āA�i�[����B
�@5�s�ڂ́uMsgbox�v���Ńt�@�C���̒������A�uFormat�v���ŁA�O�����ŕ\������B���̌㏈������B�����ŏ������Ă����Ȃ��ƁAMsgBox�ŃT�C�Y���\�����ꂽ��A�uOK�v�{�^�����N���b�N����ƁumyError:�v���x�������s����Ă��܂��̂ŁA���ӂ��K�v���B
�@7�s�ڂ́umyError:�v���x���̓G���[�����������ۂɕ\������鏈�����B�x�����b�Z�[�W��\�����ď�������BFormat���ɂ��ẮA�܂��̋@��ɉ������B
�@���X�g2�̃}�N�����u�t�@�C���̒������o�C�g�P�ʂŎ擾�v�{�^���Ɋ֘A�t���A���s����Ɛ}4�̂悤�ɁA�A�N�e�B�u�ȃZ���̃t�@�C�����̃t�@�C���̒������o�C�g�P�ʂŕ\�������B
�@�{�^�����N���b�N����O�ɂ́A�K���C�ӂ̃e�L�X�g�t�@�C������I������K�v������B
�@�uLoadPicture�v���́A�w�肵���摜��ǂݍ��݁A�\����������B
LoadPicture(picturename)
�@�upicturename�v�ɂ́A�ǂݍ��މ摜�t�@�C�����w�肷��B
�@�}5�̂悤�Ɂu�摜�C���[�W�v�R���g���[���Ɓu�摜�ǂݍ��݁v�u�����v�{�^����z�u����B
�@�����Ŕz�u���Ă���u�C���[�W�v��Excel���j���[�́m�J���n���m�}���n�ƑI�����āuActiveX�R���g���[���v�ł���u�C���[�W�R���g���[���v��z�u���Ă���B�m�J���n�^�u�̒��ɂ���u�f�U�C�����[�h�v���N���b�N���ă��[�h���u�f�U�C�����[�h�v�ɂ��āA���ɂ���m�}���n�A�C�R���́u���v���N���b�N���ĕ\�������uActiveX�R���g���[���v����A�u�C���[�W�v�R���g���[����z�u����i�}6�j�B
�@�z�u�����u�C���[�W�v��I�����āA�}�E�X�̉E�N���b�N�ŕ\�������u�v���p�e�B�v����u�I�u�W�F�N�g���v�Ɂu�摜�C���[�W�v�Ǝw�肷��B�uWidth�v�Ɂu640�v�A�uHeight�v�Ɂu480�v�Ǝw�肷��B
�@�܂��u�摜�ǂݍ��݁v�{�^���́A�������uActiveX�R���g���[���v����u�R�}���h�{�^���v��z�u���Ă���B
�@�u�R�}���h�{�^���v��I�����āA�u�f�U�C�����[�h�v�ɂ��āA�}�E�X�̉E�N���b�N�ŕ\������郁�j���[����u�v���p�e�B�v��I�����A�u�I�u�W�F�N�g���v�Ɂu�摜�ǂݍ��݃{�^���v�Ǝw�肵�A�uCaption�v�v���p�e�B�Ɂu�摜�ǂݍ��݁v�Ǝw�肵�Ă���B�܂������悤�Ɂu�R�}���h�{�^���v��z�u���A�v���p�e�B����u�I�u�W�F�N�g���v�Ɂu�����{�^���v�A�uCaption�v�Ɂu�����v�Ǝw�肵�Ă���B
�@���ɁA�u�f�U�C�����[�h�v���N���b�N���uON�v�ɂ�����ԂŁA�u�摜�ǂݍ��݃{�^���v���_�u���N���b�N����B����ƁAVBE���N�����ăv���W�F�N�g�́uSheet1(Sheet1)�v�̒��Ɂu�摜�ǂݍ��݃{�^���v���N���b�N�����ۂ̃R�[�h���\�������̂ŁA���̒��Ƀ��X�g3�̉摜��ǂݍ��ރR�[�h�������B
�@����Tips�����s����ɂ́A���O�ɁuC:\ExcelVBAImage�v�Ƃ����t�H���_�[���쐬���āA�摜��z�u���Ă����K�v������B���̃t�H���_�[�����݂��Ȃ��ꍇ�̓G���[�ɂȂ�̂Œ��ӂ��Ăق����B�܂��ǂݍ��މ摜����ύX����ꍇ�̓��X�g3�̉摜����ύX����悢�B
Option Explicit Private Sub �摜�ǂݍ��݃{�^��_Click() �摜�C���[�W.Picture = LoadPicture("C:\ExcelVBAImage\��.jpg") End Sub
�@���X�g3�́u�摜�ǂݍ��݃{�^���v���N���b�N���ꂽ���̏������B�u�摜�C���[�W�v��Picture�v���p�e�B�ɁA�uLoadPicture�v�����g���ĉ摜��ǂݍ���ł���B
�@���ɁA�u�f�U�C�����[�h�v���N���b�N���uON�v�ɂ�����ԂŁu�����v�{�^�����_�u���N���b�N����ƁA�u�����v�{�^�����N���b�N�����ۂ̃R�[�h���\�������̂ŁA���̒��ɉ摜����������R�[�h�������i���X�g4�j�B
Private Sub �����{�^��_Click() �摜�C���[�W.Picture = LoadPicture("") End Sub
�@�uLoadPicture�v���ɉ����w�肵�Ȃ���A�摜�����������B
�@�u�f�U�C�����[�h�v��������x�N���b�N���uOFF�v�ɂ��āA�u�摜�ǂݍ��݁v�{�^�����N���b�N����Ɛ}7�̂悤�ɉ摜���ǂݍ��܂��B
�@�uShell�v���́A�v���O��������I�Ɏ��s��������B
�@Shell(pathname, windowstyle)
�@�upathname�v�͕K�{���ڂŁA���s����v���O�������p�X�t���Ŏw�肷��B
�uwindowstyle�v�͏ȗ��\�ŁA���s����v���O�����̃E�C���h�E�̌`�����w�肷��(�\1�Q��)�B
�萔 | ���� |
---|---|
vbHide | �t�H�[�J�X�������A��\���ɂȂ�E�C���h�E |
vbNormalFocus | �t�H�[�J�X�������A���̑傫���ƈʒu�ŕ\�������E�C���h�E |
vbMinimizedFocus | �t�H�[�J�X�������A�ŏ����\�������E�C���h�E |
vbMaximizedFocus | �t�H�[�J�X�������A�ő剻�\�������E�C���h�E |
vbNormalNoFocus | �Ō�̃E�C���h�E��������̃T�C�Y�ƈʒu�ɕ��������E�C���h�E�B���݃A�N�e�B�u�ȃE�C���h�E�̓A�N�e�B�u�Ȃ܂� |
vbMinimizedNoFocus | �ŏ����\�������t�H�[�J�X�������Ȃ��E�C���h�E�B���݃A�N�e�B�u�ȃE�C���h�E�̓A�N�e�B�u�̂܂� |
�Q�l�uAppWinStyle �^�v |
�@�uShell�v�Ƃ����V�����V�[�g��lj����A���̒��ɐ}8�̂悤�ɁA�u�������N���v�Ƃ����{�^����p�ӂ��Ă����B
�@�uShell�v����p���āA�u�������v���N������R�[�h�̓��X�g5�ɂȂ�B
Sub Shell���̎g����() Shell "C:\Windows\Notepad.exe", vbNormalFocus End Sub
�@�u�t�H�[�J�X�������A�O��N�������T�C�Y�ƈʒu�ɕ��������E�C���h�E�v�́uvbNormalFocus�v���w�肵�Ă���i�\1�Q�Ɓj
�@���X�g5�̃R�[�h���u�������N���v�{�^���Ɋ֘A�t���A���s�������ʂ��}9���B
�@�uCreateObject�v���́AActiveX�I�u�W�F�N�g�ւ̎Q�Ƃ��쐬���ĕԂ������B
CreateObject(�N���X��)
�@�N���X���ɂ́A�쐬����I�u�W�F�N�g�̃N���X�����w�肷��B����́A�uFileSystemObject�v���g���ăe�L�X�g�t�@�C���̓ǂݍ��݂��s�����߁A�u�N���X���v�ɂ́uScripting.FileSystemObject�v���g�p����B����Access�̏ꍇ�́A�uAccess.Application�v�AExcel�̏ꍇ�́uExcel.Application�v�AWord�̏ꍇ�́uWord.Application�v���w�肷��B
�@����̏ꍇ�A�uC:\ExcelVBAData�v�Ƃ����t�H���_�[���쐬���Ă����A���̒��Ɂu�l�Ԏ��i.txt�v�Ƃ����e�L�X�g�t�@�C����z�u���Ă���B���̃e�L�X�g�t�@�C����Unicode�`���ŕۑ����Ă���B
�@���́u�l�Ԏ��i.txt�v��ǂݍ��݁A�uC1�v�̃Z���ɕ\������R�[�h�̓��X�g6���B�uC1�v�Z���ɂ�Excel�̃��j���[����u�����v�����炩���ߐݒ肵�Ă���B
Sub CreateObject���̎g����() Dim fso As Object Dim result As String Set fso = CreateObject("Scripting.FileSystemObject") Set fso = fso.OpenTextFile("C:\ExcelVBAData\�l�Ԏ��i.txt", 1, , -1) result = fso.ReadAll fso.Close Range("C1").Value = result End Sub
�@2�s�ڂ�Object�^�̕ϐ��ufso�v���A3�s�ڂŕ�����^�̕ϐ��uresult�v��錾����B
�@4�s�ڂŁuCreateObject�v���ŁuFileSystemObject�v���쐬����B�K���uScripting.FileSystemObject�v�Ǝw�肵�A�ϐ��ufso�v�ɑ�����Ă����B
�@5�s�ڂ�OpenTextFile���\�b�h�ł́uC:\ExcelVBAData\�l�Ԏ��i.txt�v���u�ǂݍ��ݐ�p�v�A�uUnicode�v�`���œǂݍ���ł���B
�@OpenTextFile�̏����͉��L�̒ʂ肾�B
FileSystemObject.OpenTextFile(FileName,IOMode,Create,Format)
�@�uFileName�v�ɂ̓p�X�t�t�@�C���̏��݂��w�肷��B
�@�uIOMode�v�ɂ́u�ǂݍ��ݐ�p�i1�j�v�u�V�K�������ݐ�p�i2�j�v�u�lj��������ݐ�p�i8�j�v�̒l���w�肷��B����́u�ǂ݂��ݐ�p�v�́u1�v���w�肵�Ă���B
�@�uCreate�v�ɂ̓t�@�C�������݂��Ȃ��ꍇ�Ɂu�V�����t�@�C�����쐬���邩�ǂ����v�̒l���uTrue�v�܂��́uFalse�v�Ŏw�肷��B����l�́uFalse�v�ŁA�u�V�����t�@�C�����쐬���Ȃ��v�ƂȂ��Ă���B����͉����w�肵�Ă��Ȃ��̂ŁA�uFalse�v�ƂȂ�B
�@�uFormat�v�ɂ́u�V�X�e���f�t�H���g�i-2�j�v�uUnicode�i-1�j�v�uASCII�i0�j�v�̂����ꂩ�̒l���w�肷��B�����ł́A�uUnicode�v�������l�́u-1�v���w�肵�āA�e�L�X�g�t�@�C�����J���Ă���B
�@6�s�ڂ́uReadAll�v���\�b�h�ŊJ�����e�L�X�g�t�@�C�����Ō�܂œǂݍ��݁A�ϐ��uresult�v�Ɋi�[����B7�s�ڂ́uClose�v���\�b�h�ŁuFileSystmeObject�v�����B���̕��鏈���̓e�L�X�g�t�@�C���̑���ɂ����ďd�v�Ȃ̂ŁA�Y��Ȃ��łق����B
�@8�s�ڂ�Excel�̃Z���uC1�v�Ƀe�L�X�g�t�@�C���̓��e��\������i���Z���uC1�v�ɂ�Excel���j���[����u�����v�����炩���ߐݒ肵�Ă���j�B
�@VBE���j���[�́m���s�n���mSub/���[�U�[�t�H�[���̎��s�n�ƑI�����Ď��s����Ɛ}10�̂悤�ɕ\�������B
�@����́uDir�v�uFileLen�v�uLoadPicture�v�uShell�v�uCreateObject�v��5�̊��ɂ��Ă̎g��������������B
�@�uLoadPicture�v���͓ǂ�Ŏ��̂��Ƃ��A�摜��ǂݍ��ފ����B�����ActiveX�R���g���[���́u�C���[�W�v�ɕ\�����Ă��邪�A������[�U�[�t�H�[���́u�C���[�W�v�ɂ��\���͉\���B�ǎ҂̊F����Ɏ����Ă������������B
�@�uShell�v���́A���̃v���O�������N���ł���̂ŁA��Ƃ������ʂɃ{�^����z�u���Ă����āA�K�v�ȂƂ��Ɂu���������N�������ă��������v�Ƃ�������ƂɎg����̂ł͂Ȃ����낤���B
�@����́A������̊��ɂ��ĉ������\�肾�B���y���݂ɁB
��t��������������\�BVisual Basic�v���O���~���O�ƁA�}�C�N���\�t�g�n�̋Z�p���e�[�}�Ƃ����A���Ђ�L���̎��M���s���B
1950�N���܂�B�����n�̃T�����[�}��������40�����Ńv���O���~���O���n�߁A1996�N���Ɗw��ActiveX�Ɏ��g�ށB
1997�N�ɖ�t�����ƃR���{���[�V�����E���j�b�g�uPROJECT KySS�v�������B
2003�N���t���[�ɂȂ�APROJECT KySS�̊����ɖ{�i�I�ɎQ���B.NET��RIA�Ɋւ��鏑�Ђ�L���𑽐����M����T��A����Č��̃v���O���~���O����|����B
Windows Phone�A�v���J�����o�āA���݂�Windows�X�g�A�A�v���𑽐����J���B
Microsoft MVP for Development Platforms - Client App Dev �iOct 2003-Sep 2012�j�B
Microsoft MVP for Development Platforms - Windows Phone Development�iOct 2012-Sep 2013�j�B
Microsoft MVP for Development Platforms - Client Development�iOct 2013-Sep 2014�j�B
Microsoft MVP for Development Platforms-Windows Platform Development (Oct 2014-Sep 2015�j�B
Copyright © ITmedia, Inc. All Rights Reserved.