CreateFolder メソッド
機能
フォルダを作成します。
構文
object.CreateFolder(foldername)
CreateFolder メソッドの構文は、次の指定項目から構成されます。
指定項目 | 説明 |
object | 必ず指定します。FileSystemObjectオブジェクトの名前を指定します。 |
foldername | 必ず指定します。作成するフォルダを表す文字列式を指定します。 |
解説
指定したフォルダが既に存在していた場合は、エラーが発生します。
BuildPath メソッド
機能
既存パスの末尾に名前を追加します。
構文
object.BuildPath(path, name)
BuildPath メソッドの構文は、次の指定項目から構成されます。
指定項目 | 説明 |
object | 必ず指定します。FileSystemObject オブジェクトの名前を指定します。 |
path | 必ず指定します。引数 name で指定した名前を末尾に追加する既存パスを指定します。絶対パスまたは相対パスのどちらかを指定します。また、存在しないフォルダを指定することができます。 |
name | 必ず指定します。引数 path で指定した既存パスの末尾に追加する名前を指定します。 |
解説
BuildPath メソッドは、必要な場合だけ、既存パスと指定した名前の間にパスの区切り文字を挿入します。
CopyFile メソッド
機能
ファイルを別の場所へコピーします。
構文
object.CopyFile source, destination[, overwrite]
CopyFile メソッドの構文は、次の指定項目から構成されます。
指定項目 | 説明 |
object | 必ず指定します。FileSystemObject オブジェクトの名前を指定します。 |
source | 必ず指定します。コピーするファイルを表す文字列を指定します。1 つまたは複数のファイルを指定するためにワイルドカード文字を使用できます。 |
destination | 必ず指定します。引数 source で指定したファイルのコピー先を表す文字列を指定します。ワイルドカード文字は使用できません。 |
overwrite | 省略可能です。既存ファイルを上書きするかどうかを示すブール値を指定します。真 (True) を指定すると既存ファイルは上書きされ、偽 (False) を指定すると上書きされません。既定値は、真 (True) です。引数 destination に指定したコピー先が読み取り専用の属性を持っていた場合は、引数 overwrite に指定した値とは関係なく CopyFile メソッドの処理は失敗するので、注意してください。 |
解説
ワイルドカード文字は、引数 source に指定するパスの最後の構成要素内でしか使用できません。たとえば、次のような指定は可能です。
FileSystemObject.CopyFile "c:/mydocuments/letters/*.doc", "c:/tempfolder/"
ところが、次のような指定は行えません。この場合、ワイルドカード文字の記述する位置と引数 destination で指定したパスがパスの区切り文字 (/) で終了していないためにディレクトリとして扱われます。
FileSystemObject.CopyFile "c:/mydocuments/*/R1???97.xls", "c:/tempfolder"
引数 source にワイルドカード文字を指定した場合、または引数 destination がパスの区切り文字 (/) で終わる場合は、引数 destination に既存フォルダが指定されたとし、条件に一致するファイルがそのフォルダ内へコピーされます。それ以外の場合では、引数 destination に作成するファイルの名前が指定されたとします。いずれの場合も、ファイルのコピーで実行される可能性のある処理は 3 種類あります。
- 引数 destination に指定したファイルが存在しない場合、引数 source に指定したファイルがコピーされます。これが通常の場合です
- 引数 destination に指定したファイルまたはフォルダが既に存在する場合、指定したファイルまたは指定したフォルダ内にコピーが試みられます。ただし、引数 destination で指定したファイル名または指定したフォルダ内のファイル名が引数 source に指定したファイルと同名の場合、引数 overwrite が偽 (False) に指定されていると、エラーが発生し、真 (True) に指定されていると、コピーが行われ、既存ファイルは上書きされます。
- 引数 destination に指定したディレクトリが存在する場合、エラーが発生します。
引数 source でワイルドカード文字を使って指定したファイルが、どのファイルとも一致しなかった場合でも、エラーが発生します。CopyFile メソッドは、最初のエラーが発生した時点で処理を中止します。エラーが発生するまでに行った処理を取り消したり元に戻したりする処理は一切行われません。
CopyFolder メソッド
機能
フォルダを再帰的に別の場所へコピーします。
構文
object.CopyFolder source, destination[, overwrite]
CopyFolder メソッドの構文は、次の指定項目から構成されます。
指定項目 | 説明 |
object | 必ず指定します。FileSystemObject オブジェクトの名前を指定します。 |
source | 必ず指定します。コピーするフォルダを表す文字列を指定します。1 つまたは複数のフォルダを指定するためにワイルドカード文字を使用できます。 |
destination | 必ず指定します。引数 source で指定したフォルダおよびサブフォルダのコピー先を表す文字列を指定します。ワイルドカード文字は使用できません。 |
overwrite | 省略可能です。既存フォルダを上書きするかどうかを示すブール値を指定します。真 (True) を指定すると既存フォルダ内のファイルを上書きし、偽 (False) を指定すると上書きしません。既定値は、真 (True) です。 |
解説
ワイルドカード文字は、引数 source に指定する最後の構成要素内でしか使用できません。たとえば、次のような指定は可能です。
FileSystemObject.CopyFolder "c:/mydocuments/letters/*", "c:/tempfolder/"
ところが、次のような指定は行うことができません。
FileSystemObject.CopyFolder "c:/mydocuments/*/*", "c:/tempfolder/"
引数 source にワイルドカード文字を指定した場合、または引数 destination がパスの区切り文字 (/) で終わる場合は、引数 destination に既存フォルダが指定されたとし、条件に一致するフォルダおよびサブフォルダがそのフォルダ内へコピーされます。それ以外の場合では、引数 destination には、作成するフォルダの名前が指定されたとします。いずれの場合も、フォルダのコピーで実行される可能性のある処理は 4 種類あります。
- 引数 destination に指定したフォルダが存在しない場合、引数 source に指定したフォルダおよびそのフォルダ内のすべてのファイルとフォルダがコピーされます。これが通常の場合です。
- 引数 destination にフォルダではなくファイルを指定した場合、エラーが発生します。
- 引数 destination に指定したフォルダが既に存在する場合、指定したフォルダおよびそのフォルダ内のすべてのファイルとフォルダにコピーが試みられます。ただし、引数 destination に指定したフォルダ名が、引数 source に指定したフォルダ名と同名の場合、引数 overwrite が偽 (False) に指定されていると、エラーが発生し、真 (True) に指定されていると、コピーが行われ、既存ファイルが上書きされます。
- 引数 destination に読み取り専用のフォルダを指定した場合、引数 overwrite に偽 (False) を指定し、フォルダ内の既存の読み取り専用ファイルへコピーを試みようとすると、エラーが発生します。
引数 source でワイルドカード文字を使って指定したフォルダが、どのフォルダとも一致しない場合も、エラーが発生します。
CopyFolder メソッドは、最初のエラーが発生した時点で処理を中止します。エラーが発生するまでに行った処理を取り消したり元に戻したりする処理は一切行われません。
CreateFolder メソッド
機能
フォルダを作成します。
構文
object.CreateFolder(foldername)
CreateFolder メソッドの構文は、次の指定項目から構成されます。
指定項目 | 説明 |
object | 必ず指定します。FileSystemObjectオブジェクトの名前を指定します。 |
foldername | 必ず指定します。作成するフォルダを表す文字列式を指定します。 |
解説
指定したフォルダが既に存在していた場合は、エラーが発生します。
CreateTextFile メソッド
機能
指定されたファイル名のファイルを作成し、ファイルを読み込んだり、書き込むときに使用する TextStream オブジェクトを返します。
構文
object.CreateTextFile(filename[, overwrite[, unicode]])
CreateTextFile メソッドの構文は、次の指定項目から構成されます。
指定項目 | 説明 |
object | 必ず指定します。FileSystemObject オブジェクト、または Folder オブジェクトの名前を指定します。 |
filename | 必ず指定します。作成するファイルを示す文字列式を指定します。 |
overwrite | 省略可能です。既にあるファイルを上書きするかどうかを示すブール値を指定します。ファイルを上書きする場合は、真 (True) を指定し、上書きしない場合は、偽 (False) を指定します。省略すると、ファイルは上書きされません。 |
unicode | 省略可能です。Unicode または ASCII ファイルのいずれかで作成されたファイルかを示すブール値を指定します。Unicode で作成されたファイルでは、真 (True) を指定します。ASCII ファイルで作成されたファイルでは、偽 (False) を指定します。省略した場合、ASCII ファイルで作成されたファイルとします。 |
解説
次の例は、CreateTextFile メソッドを使用して、テキスト ファイルを作成し、開くコードです。
Sub CreateAfile
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:/testfile.txt", True)
a.WriteLine("This is a test.")
a.Close
End Sub
引数 overwrite の指定を偽 (False) または省略した場合に、引数 filename で既存のファイルを指定するとエラーとなります。
DeleteFile メソッド
機能
指定されたファイルを削除します。
構文
object.DeleteFile filespec[, force]
DeleteFile メソッドの構文は、次の指定項目から構成されます。
指定項目 | 説明 |
object | 必ず指定します。FileSystemObject オブジェクトの名前を指定します。 |
filespec | 必ず指定します。削除するファイルの名前を指定します。パスの最後の構成要素内ではワイルドカード文字を使用できます。 |
force | 省略可能です。真 (True) を指定すると、読み取り専用のファイルも削除されます。既定値の偽 (False) を指定すると、読み取り専用のファイルは削除されません。 |
解説
名前の一致するファイルが見つからない場合は、エラーが発生します。DeleteFile メソッドは、最初のエラーが発生した時点で処理を中止します。エラーが発生するまでに行った処理を取り消したり元に戻したりする処理は一切行われません。
DeleteFolder メソッド
機能
指定したフォルダおよびそのフォルダ内のフォルダとファイルを削除します。
構文
object.DeleteFolder folderspec[, force]
DeleteFolder メソッドの構文は、次の指定項目から構成されます。
指定項目 | 説明 |
object | 必ず指定します。FileSystemObject オブジェクトの名前を指定します。 |
folderspec | 必ず指定します。削除するフォルダの名前を指定します。パスの最後の構成要素内ではワイルドカード文字を使用できます。 |
force | 省略可能です。真 (True) を指定すると、読み取り専用のフォルダも削除されます。既定値の偽 (False) を指定すると、読み取り専用のフォルダは削除されません 。 |
解説
DeleteFolder メソッドでは、ほかのフォルダやファイルを含むフォルダと何も含まないフォルダとは区別されません。指定したフォルダは、ほかのファイルやフォルダが格納されているかどうかに関係なく削除されます
名前の一致するフォルダが見つからない場合は、エラーが発生します。DeleteFolder メソッドは、最初のエラーが発生した時点で処理を中止します。エラーが発生するまでに行った処理を取り消したり元に戻したりする処理は一切行われません。
DriveExists メソッド
機能
指定されたドライブが存在する場合は、真 (True) を返します。存在しない場合は、偽 (False) を返します。
構文
object.DriveExists(drivespec)
DriveExists メソッドの構文は、次の指定項目から構成されます。
指定項目 | 説明 |
object | 必ず指定します。FileSystemObject オブジェクトの名前を指定します。 |
drivespec | 必ず指定します。ドライブ名またはフル パスを指定します。 |
解説
リムーバブル メディアのドライブの場合は、メディアがセットされていなくても真 (True) が返されます。ドライブの準備ができているかどうかを調べるには、Drive オブジェクトの IsReady プロパティを使用してください
FileExists メソッド
機能
指定されたファイルが存在する場合は、真 (True) を返します。存在しない場合は、偽 (False) を返します。
構文
object.FileExists(filespec)
FileExists メソッドの構文は、次の指定項目から構成されます。
指定項目 | 説明 |
object | 必ず指定します。FileSystemObject オブジェクトの名前を指定します。 |
filespec | 必ず指定します。存在するかどうかを調べるファイルの名前を指定します。カレント フォルダ内にないファイルの場合は、フル パスを指定する必要があります。絶対パス、または相対パスのどちらでも指定できます。 |
FolderExists メソッド
機能
指定したフォルダが存在する場合は、真 (True) を返します。存在しない場合は、偽 (False) を返します。
構文
object.FolderExists(folderspec)
FolderExists メソッドの構文は、次の指定項目から構成されます。
指定項目 | 説明 |
object | 必ず指定します。FileSystemObject オブジェクトの名前を指定します。 |
folderspec | 必ず指定します。存在するかどうかを調べるフォルダの名前を指定します。カレント フォルダ内にないフォルダの場合は、フル パスを指定する必要があります。絶対パス、または相対パスのどちらでも指定できます。 |
GetAbsolutePathName メソッド
機能
指定したパスに対して、完全な一意のパス名を返します。
構文
object.GetAbsolutePathName(pathspec)
GetAbsolutePathName メソッドの構文は次の指定項目から構成されます。
指定項目 | 説明 |
object | 必ず指定します。FileSystemObject オブジェクトの名前を指定します。 |
pathspec | 必ず指定します。完全で一意的なパス名を取得するパスを指定します。 |
解説
パスは、それが格納されているドライブのルートからのフル パスになっていれば、完全で一意的になります。パスがパスの区切り文字 (/) で終わるのは、ドライブ名を割り当てられているルート フォルダを指定した場合だけです。
次の表は、カレント ディレクトリが c:/mydocuments/reports だった場合を例にとり、GetAbsolutePathName メソッドにより返されるパスを示します。
引数 pathspec | 返されるパス |
"c:" | "c:/mydocuments/reports" |
"c:.." | "c:/mydocuments" |
"c:///" | "c:/" |
"c:*.*/may97" | "c:/mydocuments/reports/*.*/may97" |
"region1" | "c:/mydocuments/reports/region1" |
"c:/../../mydocuments" | "c:/mydocuments" |
GetBaseName メソッド
機能
指定されたパスのベース名を表す文字列を返します。ファイル拡張子は含まれません。
構文
object.GetBaseName(path)
GetBaseName メソッドの構文は、次の指定項目から構成されます。
指定項目 | 説明 |
object | 必ず指定します。FileSystemObject オブジェクトの名前を指定します。 |
path | 必ず指定します。ベース名を取得する構成要素のパスを指定します。 |
解説
引数 path に指定された文字列にベース名に該当するものがない場合は、GetBaseName メソッドは長さ 0 の文字列 ("") を返します。
メモ GetBaseName メソッドは、引数 path で指定された文字列に対してしか処理を行いません。指定されたパスを解決したり、指定されたパスが実際に存在するかどうかは確認しません。