tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルリストボックスからのプロセス起動
記事No8002
投稿日: 2008/08/23(Sat) 11:10
投稿者Milk
いつも参考にさせてもらっています。
さっそくですが、
listboxにフルパスをいくつか表示している状態の中から、
数個のフルパスを選択し、起動させるということをさせたいのですが、
Dim strItem As String
Dim i As Integer
For i = 0 To ListBox3.SelectedItems.Count - 1
  strItem = strItem & ListBox3.SelectedItems.Item(i) & ControlChars.CrLf
  System.Diagnostics.Process.Start(strItem)
Next i
こういうのだとファイルが見つかりませんとなってしまいます。
お手数ですが、アドバイスもらえたら幸いです。

[ツリー表示へ]
タイトルRe: リストボックスからのプロセス起動
記事No8003
投稿日: 2008/08/23(Sat) 11:46
投稿者花ちゃん
> こういうのだとファイルが見つかりませんとなってしまいます。

エラーメッセージの通りで、strItem で指定したファイルのパスが間違っているからでは。

& ControlChars.CrLf これは何の為、strItem の中身がどのようになっているか
確認して見て下さい。

System.Diagnostics.Process.Start("strItem の中身") のように直接指定した場合は
動きますか?

[ツリー表示へ]
タイトルRe^2: リストボックスからのプロセス起動
記事No8004
投稿日: 2008/08/23(Sat) 12:05
投稿者Milk

> & ControlChars.CrLf これは何の為、strItem の中身がどのようになっているか
> 確認して見て下さい。
& ControlChars.CrLfは要らなかったみたいですね。

> System.Diagnostics.Process.Start("strItem の中身") のように直接指定した場合は
> 動きますか?
直接指定すると起動するので、パスはあってると思います。
あと一つだけ選択した場合でもちゃんと起動できました。
二つ以上選択すると一つめが立ち上がって二つ目はファイルが見つからないとなりました。

   

[ツリー表示へ]
タイトルRe^3: リストボックスからのプロセス起動
記事No8005
投稿日: 2008/08/23(Sat) 15:03
投稿者花ちゃん
> 直接指定すると起動するので、パスはあってると思います。

だったら、その起動しない時の strItem の中身を下記で取得してここへペースト
して下さい。

   Debug.WriteLine(strItem)
   System.Diagnostics.Process.Start(strItem)

>二つ以上選択すると一つめが立ち上がって二つ目はファイルが見つからないとなりました。
だからその時の strItem の中身が間違っているからでは、それを直接指定しても
同様に起動しないはずなのに起動するとおっしゃるなら、実際に取得した strItem の
中身と直接指定した場合のコードも掲載して見て下さい(掲載用に書き換えないで)。

[ツリー表示へ]