お世話になっております。
またもや初歩的な質問かとは思いますが、よろしくお願いします。
現在、実行ファイルが置かれたフォルダのパスを取得しようと試みてい
ます。
完全なパス名の取得については、Application.ExecutablePathを使用
することが判ったのですが、その一歩手前のフォルダ名までを取得する方
法がわかりません(MSACCESSでいうCurrentProject.pathと同様の機能)。
過去ログ等検索したのですが、完全パス名の取得方法は見つかるのです
が、私の求めているフォルダまでのパスの取得方法を見つけることが出来
ませんでした。
方法をご存知の方がおられましたら、アドバイスいただけると幸いです。
環境:Wndows2000 / VB.net2003
分からなければ、完全なパス名を文字列として考え、"\"を後ろから
探して編集すればいいと思いますが…
System.IO.Path.GetDirectoryName という関数も用意されてます。
特攻隊長まるるう様、いつも速攻のアドバイスに感謝しております。
頂いたアドバイスを元に以下のプログラムを書いて、無事目的の値を
取得することが出来ました。有難うございましたm(_ _)m
==========================================================
Dim ps As String
Dim i As Integer
Dim ii As String
ps = CStr(Application.ExecutablePath)
For i = 1 To 100
If Microsoft.VisualBasic.Right(ps, i) Like "\*" Then
ii = Microsoft.VisualBasic.Left(ps, Len(ps) - (i - 1))
Exit For
End If
Next
============================================================
教えて頂きましたSystem.IO.Path.GetDirectoryName については、今から確認
させて頂きます。
今後も、あきれるような素人質問を挙げさせてもらうこともあるかと思いますが
よろしくお願いいたしますm(_ _)m
有難うございました!
System.IO.Path.GetDirectoryName は解説するまでも無いと
思いますが、文字列操作には色々な方法があります。
String クラスに用意されたメソッドもありますのでご紹介。
[VB.NET]
Dim wDirPath As String
With Application.ExecutablePath ' ←最初から String 型を返す関数なので型変換はいらないです。
wDirPath = .Substring(0, .LastIndexOf("\") + 1)
End With
MessageBox.Show(wDirPath)
特攻隊長まるるう様、有難うございます。
>wDirPath = .Substring(0, .LastIndexOf("\") + 1)
なるほど、そのような方法もあるのですね;
教えていただいた方法の方が、プログラムを見る際シンプルですし、良いかも。
>文字列操作には色々な方法があります。
ということは他にも色々あると....まだまだ初めて間もないので、今後勉強して
行きたいと思います。
特攻隊長まるるう様にはいつもお世話になって、大変感謝しております。
有難うございました。
ツイート | ![]() |