サーチ…


ファイル/フォルダ/ドライブの存在を確認する

使用方法:

.DriveExists(strDrive) returns (True/False)
.FileExists(strFile) returns (True/False)
.FolderExists(strFolder) returns (True/False)

次のコードは、ファイルシステムオブジェクトの " FileExists "メソッドを使用してファイルの存在をチェックします。フォルダまたはドライブの存在を確認するには、それぞれメソッド " FolderExists "または " DriveExists "を使用できます。

コード:

Dim strPath, objFso
strPath = "C:\Users\GS\Desktop\tasks.txt"        'Enter the absolute path of the File/Folder/Drive
Set objFso = CreateObject("Scripting.FileSystemObject")

'Checking for the File's existence
If objFso.FileExists(strPath) then               'returns True if the file exists, else False
    Msgbox "File Exists!"
Else
    Msgbox "File does not Exist!"
End If
Set objFso = Nothing

既存のフォルダを削除して新しいフォルダを作成する

使用方法:

.DeleteFolder(FileSpec, Force (True/False))
.CreateFolder(Path)
.DeleteFile(FileSpec, Force (True/False))

次の例は、メソッド " DeleteFolder "と " CreateFolder "を使用したフォルダの削除と作成を示しています。

コード:

Dim strFolderPath, objFso
strFolderPath = "C:\Users\GS\Desktop\testFolder"
Set objFso = CreateObject("Scripting.Filesystemobject")

'Checking for the folder's existence and deleting it, if found
If objFso.FolderExists(strFolderPath) then
    objFso.DeleteFolder strFolderPath, True                   'True indicates forceful deletion
End If

'Creating a new Folder
objFso.CreateFolder strFolderPath

Set objFso = Nothing

同様に、「 DeleteFile 」メソッドを使用してファイルを削除することもできます。

Dim strFilePath:strFilePath = "C:\Users\GS\Desktop\tasks.txt"
If objFso.FileExists(strFilePath) then
    objFso.DeleteFile strFilePath, True                      'true indicates forceful deletion
End If

ファイル/フォルダのコピー

使用方法:

.CopyFile(Source, Dest [,Overwrite (True/False)]
.CopyFolder(Source, Dest [,Overwrite (True/False)]

次のコードは、 CopyFileメソッドを使用してファイルを新しい場所にコピーする方法を示しています。 CopyFolderメソッドを使用して、同じことをフォルダに対して実行できます。

コード:

Dim objFso, strSourcePath, strDestPath
strSourcePath = "C:\Users\GS\Desktop\Source.txt"
strDestPath = "C:\Users\GS\Desktop\Dest.txt"
Set objFso = CreateObject("Scripting.FileSystemObject")
If objFso.FileExists(strSourcePath) then
    objFso.CopyFile strSourcePath, strDestPath, True              'True indicates the overwritting of the file at the destination path i.e, if the file already exists, it will be overwritten
End If
Set objFso = Nothing

ファイル/フォルダの移動

使用方法:

.MoveFile(Source, Dest)
.MoveFolder(Source, Dest)

次のコードは、 MoveFileメソッドを使用してファイルを新しい場所に移動する方法を示しています。 MoveFolderメソッドを使用して、同じことをフォルダに対して実行できます。

コード:

Dim objFso, strSourcePath, strDestPath
strSourcePath = "C:\Users\GS\Desktop\Source.txt"
strDestPath = "C:\Users\GS\Desktop\Folder\Dest.txt"
Set objFso = CreateObject("Scripting.FileSystemObject")
If objFso.FileExists(strSourcePath) then
    objFso.MoveFile strSourcePath, strDestPath
End If
Set objFso = Nothing

注:ファイルシステムのオブジェクトの名前を変更する方法はありません。ただし、 MoveFileメソッドを使用すると、ファイルを次のように別の名前の同じ場所に移動することで実現できます。

Dim objFso, strSourcePath, strDestPath
strSourcePath = "C:\Users\GS\Desktop\OldName.txt"
strDestPath = "C:\Users\GS\Desktop\NewName.txt"       'Location is same but the name is different
Set objFso = CreateObject("Scripting.FileSystemObject")
If objFso.FileExists(strSourcePath) then
    objFso.MoveFile strSourcePath, strDestPath
End If
Set objFso = Nothing

フォルダへのオブジェクト参照

使用方法:

.GetFolder(strPath) - Returns an object referring to the path

getFolderメソッドを使用してオブジェクト参照をフォルダに設定し、それらに対してさまざまな操作を実行できます。

コード:

Dim strFolderPath, objFso, objFolder
strFolderPath = "C:\Users\GS\Desktop\LogsFolder"
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFso.getFolder(strFolderPath)

'Accessing the Folder's Properties
Msgbox objFolder.Name                            'Returns the Folder's Name
Msgbox objFolder.Size                            'Returns the Folder's size in Bytes  
Msgbox objFolder.DateCreated                     'Returns the Folder's creation date 
Msgbox objFolder.DateLastModified                'Returns the Folder's last modified date
Msgbox objFolder.Path                            'Returns the Folder's Absolute Path

Dim objChildFolders
Set objChildFolders = objFolder.SubFolders       'Returns the collection of all subfolder 

Dim objChildFiles
Set objChildFiles = objFolder.Files              'Returns the collection of all files contained in the folder  

'Using the Folder's methods
objFolder.Copy strDestPAth, True                 'Copies the folder to path contained in strDestPath and overwrite Flag=True
objFolder.Delete True                            'Deletes the Folder; True indicates forceful Deletion
objFolder.Move strDestPath                       'Moves the Folder to the path contained in strDestPath variable 
objFolder.CreateTextFile strFileName, True       'Created a new text file inside the folder and overwrites the existing file(if it exists)
Set objChildFiles = Nothing
Set objChildFolders = Nothing
Set objFolder = Nothing
Set objFso = Nothing

ファイルへのオブジェクト参照

使用方法:

.GetFile(strPath) - Returns an object referring to a file.

getFileメソッドを使用してオブジェクト参照をファイルに設定し、それらに対してさまざまな操作を実行できます。

コード:

Dim strFilePath, objFso, objFile
strFilePath = "C:\Users\GS\Desktop\LogsFolder\file.txt"
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.getFile(strFilePath)

'Accessing the File's Properties
Msgbox objFile.Name                            'Returns the File's Name
Msgbox objFile.Size                            'Returns the File's size in Bytes  
Msgbox objFile.DateCreated                     'Returns the File's creation date 
Msgbox objFile.DateLastModified                'Returns the File's last modified date
Msgbox objFile.Path                            'Returns the File's absolute path

'Using the File's Methods
objFile.Delete True                            'Forcefully deletes the File
objFile.Copy strDestPath, True                 'Copies the file to path contained in variable strDestPath
objFile.Move strDestPath                       'Moves the file to the path contained in the variable strDestPath
objFile.OpenAsTextStream mode                  'Opens the file as a text stream in either Read mode(mode=1), write mode(mode=2) or Append mode(mode=8)
Set objFile = Nothing
Set objFso = Nothing


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow