|
こんにちは。かみちゃん です。
>フルパスから文字列の分割をしてフォルダ名を取得する方法を知りたい
文字列の分割をしなくてもフルパスからフォルダ名等を取得する方法もあります。
FileSystemObject(FSO)を使って以下のような感じにします。
Sub フォルダ名の取得3()
Dim OpenFileName As String, OpFNam As String
Dim PNum As String
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
'開くファイル名を指定する。
OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls")
If OpenFileName = "False" Then
Exit Sub
End If
'ファイルを開く
Workbooks.Open OpenFileName
'開いたファイルを『OpFNam』という名前とする。
OpFNam = ActiveWorkbook.Name
'フルパスの取得
PNum = Workbooks(OpFNam).Path
Workbooks("書き込みデータ.xls").Sheets(1).Cells(1, 1).Value = FSO.GetFile(OpenFileName).ParentFolder
Workbooks("書き込みデータ.xls").Sheets(1).Cells(1, 2).Value = FSO.GetFile(OpenFileName).Name
End Sub
FileSystemObjectについては、以下が参考になるかと思います。
http://www.officetanaka.net/excel/vba/filesystemobject/index.htm
|
|