|
じゅんさんありがとうございます。
HP見させて頂きました。
ご説明が悪かったようです。
フォルダを作成する為、下記の用なSubを作りました。
「C:\aaa\bbb\」がdlFolderPathに入ってくるのは問題なく処理されるのですが
「C:\ccc/ccc\」が入ってきたときは「MkDir makeFolderPath」の部分で
「パスが見つかりません。(Error 76)」が返ってきてしまします。
フォルダの名前として'/'が作れない為のエラーだと自分は思ったので
このSubにくる前に'/'等のフォルダの名前として付けられない文字が入ってないかValidateしたかったのです。
専門がJavaなのでVBAのことはよくわからないのですがValidate等をしないでExceptionへ飛ばし
エラーメッセージを出して処理を終了させる等させた方がいいのでしょうか?
またHPですが大変参考になりました。
拡張子を取り出すGetExtensionName等は自作してしまっていたのでこちらを使用したいと思います。
'フォルダ作成
'
'@param フォルダパス
Private Sub MakeFolder(dlFolderPath As String)
Dim makeFolderPath As String '作成フォルダパス
Dim pathPosition As Integer 'パス位置
pathPosition = 4
Do Until Len(dlFolderPath) < pathPosition
pathPosition = InStr(pathPosition, dlFolderPath, "\")
makeFolderPath = Left(dlFolderPath, pathPosition)
'フォルダが無い場合、フォルダ作成
If "" = Dir(makeFolderPath, vbDirectory) Then
MkDir makeFolderPath
End If
pathPosition = pathPosition + 1
Loop
End Sub
▼じゅん さん:
>つまり、フォルダが存在するか/しないかの判断が出来れば良いのですよね?
>FileSystemObjectというオブジェクトに
>FolderExistsメソッドというのがあります。
>これで、判断することは出来ます。
>
>下記アドレスに使用例が載っておりますので、ご参考にしてみて下さい。
>http://www.officetanaka.net/excel/vba/filesystemobject/filesystemobject.htm
|
|