実行ファイルの保管フォルダ名を取得するには?

解決


羊の皮を被った山羊  2005-02-07 18:33:14  No: 119461

お世話になっております。
  またもや初歩的な質問かとは思いますが、よろしくお願いします。

  現在、実行ファイルが置かれたフォルダのパスを取得しようと試みてい
ます。
  完全なパス名の取得については、Application.ExecutablePathを使用
することが判ったのですが、その一歩手前のフォルダ名までを取得する方
法がわかりません(MSACCESSでいうCurrentProject.pathと同様の機能)。
  過去ログ等検索したのですが、完全パス名の取得方法は見つかるのです
が、私の求めているフォルダまでのパスの取得方法を見つけることが出来
ませんでした。
  方法をご存知の方がおられましたら、アドバイスいただけると幸いです。

環境:Wndows2000 / VB.net2003


特攻隊長まるるう  2005-02-07 18:47:01  No: 119462

分からなければ、完全なパス名を文字列として考え、"\"を後ろから
探して編集すればいいと思いますが…

System.IO.Path.GetDirectoryName という関数も用意されてます。


羊の皮を被った山羊  2005-02-07 19:36:15  No: 119463

特攻隊長まるるう様、いつも速攻のアドバイスに感謝しております。
  頂いたアドバイスを元に以下のプログラムを書いて、無事目的の値を
取得することが出来ました。有難うございました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
 有難うございました!


特攻隊長まるるう  2005-02-07 20:04:58  No: 119464

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)


羊の皮を被った山羊  2005-02-07 21:42:54  No: 119465

特攻隊長まるるう様、有難うございます。

>wDirPath = .Substring(0, .LastIndexOf("\") + 1)
  なるほど、そのような方法もあるのですね;
  教えていただいた方法の方が、プログラムを見る際シンプルですし、良いかも。

>文字列操作には色々な方法があります。
  ということは他にも色々あると....まだまだ初めて間もないので、今後勉強して
行きたいと思います。

  特攻隊長まるるう様にはいつもお世話になって、大変感謝しております。
  有難うございました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加