フォルダ 今いるパスの一つ前までのパス取得

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

Option Explicit


Function OneOfPath(strNowPath As StringAs String
'*********************************
'今いるパスの一つ前までのパス取得
'*********************************
On Error GoTo theerr:
Dim OneFolPath As String
OneFolPath = Left(strNowPath, InStrRev(strNowPath, "\") - 1)
OneOfPath = OneFolPath
Exit Function
theerr:
OneOfPath = ""
'--------------
'InStrRev 関数
'--------------
'ある文字列の中から指定された文字列を最後の文字位置から検索を開始し、
'最初に見つかった文字位置を返す関数。
'構文
'InstrRev(検索先文字, 検索する文字, 開始位置, 比較モード)
'InstrRev(~~~必須~~~, ~~~~必須~~~~, ~~略可~~, ~~~略可~~~)
'開始位置を省略すると -1 が使用され、最後の文字位置から検索を開始
'比較モードを省略すると、バイナリ モードで比較
'比較モード設定値
'定数 値 説明
'vbUseCompareOption -[-1]- Option Compare ステートメントの設定。
'vbBinaryCompare -----[0]- バイナリ モードで比較を行います。
'vbTextCompare -------[1]- テキスト モードで比較を行います。
'VbDatabaseCompare ---[2]- Microsoft Access の場合のみ有効。
End Function


Private Sub test()
MsgBox OneOfPath(ThisWorkbook.Path)
End Sub

 

2000年01月01日|[VBサンプルコード]:[フォルダ]