FSOにはCreateFolderというメソッドがありますが、このメソッドは上位フォルダが存在する場合しか新規フォルダを作成できないので、多階層フォルダを自動作成して静的ページなどを生成する関数を書きました。機能
:
'--------------------------------
' 指定した複数レベルのフォルダーを自動的に作成します
'strPath は絶対パスです
' 引用の著作権を保持してください
' by im286_Anjer
'2005-4-3
関数 AutoCreateFolder(strPath) ' ブール値として
エラー時再開次の
Dim astrPath、ulngPath、i、strTmpPath
Dim objFSO
If InStr(strPath, "") <=0 または InStr(strPath, ":") <= 0 then
AutoCreateFolder = False
終了関数
終了の場合
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
objFSO.FolderExists(strPath) の場合
AutoCreateFolder = True
終了関数
終了の場合
astrPath = Split(strPath, "")
ulngPath = UBound(astrPath)
strTmpPath = ""
For i = 0 から ulngPath へ
strTmpPath = strTmpPath & astPath(i) & ""
objFSO.FolderExists(strTmpPath) でない場合
'作成する
objFSO.CreateFolder(strTmpPath)
終了の場合
次
objFSO = なしを設定します
Err = 0 の場合
AutoCreateFolder = True
それ以外
AutoCreateFolder = False
終了の場合
終了機能
呼び出しメソッド:
MyPath = "C:abc"
AutoCreateFolder(MyPath) の場合
Response.Write "フォルダーが正常に作成されました"
それ以外
Response.Write「フォルダーの作成に失敗しました」
終了の場合