プロが教える店舗&オフィスのセキュリティ対策術

以前に、ファイル名のフルパスからフォルダ名だけを取り出す方法を質問しました。

 ファイル名フルパス=D:\test\image\image.bmp
 フォルダ名=D:\test\image\

 この質問に対して、ファイル名をフルパスを fullpath とし、フォルダ名を foldernameとすると、下記のコードで取得できるとの回答をいただきました。

foldername = left(fullpath, instrrev(fullpath, "\"))

 そこで、フォームに、「フルパス」という名前のテキストボックスと、「フォルダ名」という名前のテキストボックスを作成し、コマンドボタンのクリック時イベントに、下記のコードを記述しました。

 Me.フォルダ名 = left(Me.フルパス, instrrev(Me.フルパス, "\"))

 しかし、実行すると、「プロ-ジャーの呼び出し、又は引数が不正です。」というエラーメッセージが表示されてしまいます。
 どうすればよいのでしょうか?

A 回答 (1件)

instrrev関数は、office97に無いものです。


office2000からあった関数だと思います。
なのでやるとすれば、

Dim intLoc As Integer

Me.フォルダ名 = ""
intLoc = Len(Me.フルパス)
Do
  If intLoc = 0 Then
    Exit Do
  EndIf
  If Mid(Me.フルパス,intLoc,1) = "\" Then
    Exit Do
  Endif
  intLoc = intLoc - 1
Loop
If intLoc > 1 Then
  Me.フォルダ名 = Me.フォルダ名Mid(Me.フルパス, intLoc - 1)
EndIf

あまり良いプログラムでありませんが参考にして下さい。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2001/08/08 21:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!