- ベストアンサー
MSペイントを画像ファイル名をつけて起動したいのですが VB.NET
Dim p As Process p = Process.Start("MSPAINT.EXE", FileName) という方法で、MSPAINTを起動したいのですが、 FileNameの中のパスが"C:\1.jpg"の場合は正常に起動するのですが、 "C:\AAA BBB\あいうえお\1.jpg"の場合、 ”C:\AAA.bmpが見つかりませんでした。[OK]”というメッセージボックスが出て 起動することができないのですが、 このように半角スペースが入るフォルダにあるファイルでも 開けるようにするにはどうしたら良いでしょうか。 pに割り当てたProcess型の変数を別の処理で使いたいので、 できればこの方法で起動したいです。 解決策がありましたら、ご教授頂けると幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
FileNameの中身をチェックして ""でくくるようにしましょう ハードコーディングなら FileName = """C:\AAA BBB\あいうえお\1.jpg""" といった具合にします どこかから代入されてくるのであれば ' FileNameにスペースが含まれている ' FileNameの先頭が "ではない場合 if FileName.IndexOf(" ")> 0 andalso FileName.Substring(0,1)<>"""" then FileName = String.Format("""{0}""",FileName) end if といった具合にしましょう
その他の回答 (1)
- Gizensha
- ベストアンサー率34% (207/608)
ヒントだけ。 コマンドラインから起動するときは MSPAINT "C:\AAA BBB\あいうえお\1.jpg" のように起動します。
お礼
"ごと渡すというのは気づきませんでした。 ありがとうございます。
お礼
ありがとうございます。 できました!!