2017-03-06 10 views
0

VBでワードパッドと特定のファイルを開こうとしています。VBでワードパッドと特定のファイルを開く

正しいパスに到達する方法を理解できません。ファイルパスにスペースがない場合(エラーイメージ)に動作します。

enter image description here

Cをテストするための正しいパス:\ユーザーはプロジェクト\ Visual Studioの2015 \ジェームズ\ドキュメント\ \ DSAinstaller \ DSAinstaller \ binに\デバッグ\ドラゴン

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 
    If Me.ListBox1.SelectedIndex >= 0 Then 
     Dim curItem As String = ListBox1.SelectedItem.ToString() 
     Dim OpenFile As String = " " & Application.StartupPath & "\" & curItem & "\Inst.rtf" 
     'Shell("C:\Windows\write.exe" & " " & Application.StartupPath & "\" & curItem & "\Inst.rtf") 
     Shell("C:\Windows\write.exe" & OpenFile) 
     'MsgBox(OpenFile) 
    Else 
     MsgBox("Please select a program first") 
    End If 

おかげ

答えて

2

パスにスペースが含まれている場合は、パスに引用符を追加する必要があります。

Dim OpenFile As String = " """ & Application.StartupPath & "\" & curItem & "\Inst.rtf""" 
+0

おかげでテディー、私はそれを試して誓う。しかし、それは動作しますありがとう –

+0

問題はありません! vbは文字列の引用符で奇妙になることがあります。私の好みは、一重引用符を '' "" "'とタイプする方法です! –

0

代わりPath.Combine()Process.Start()の使用を検討:

Dim OpenFile As String = Chr(34) & Path.Combine(Application.StartupPath, curItem, "Inst.rtf") & Chr(34) 
Process.Start("c:\windows\write.exe", OpenFile) 

シェル()とメッセージボックス()は一般的にVB.Netで使用すべきではない従来の関数です。

関連する問題