• ベストアンサー

ExcelVBAについて

ExcelVBAについて Excel VBA初心者です。 やりたいことを説明しますと、 フォームA上に、テキストボックスBとコマンドボタンCがあるとします。 テキストボックスBにはMPGファイルのフルパスが既に入力されており、コマンドボタンCを押すとテキストボックスBのファイルを開けるようにしたいのです。 お手数ですが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>半角スペース 仮に c:\A B.text だとします。 C:\A フォルダに B.txtという引数を渡した状態を実行されていることになってしまうようです。 ですのでC:\Aフォルダが存在しなければエラーが発生し、存在している場合はフォルダが開きます。 コマンドをダブルクォーテーションで囲む事によって回避できます。 Private Sub CommandButton1_Click()   Dim l_strCmdOld As String   Dim l_strCmdNew As String      '以前のコマンド   l_strCmdOld = Me.TextBox1.Text   '今度はダブルクォーテーションで文字列を囲む   l_strCmdNew = """" & Me.TextBox1.Text & """"      MsgBox _       "以前のコマンド" & vbTab & l_strCmdOld & vbCrLf & vbCrLf & _       "新たなコマンド" & vbTab & l_strCmdNew   Call CreateObject("WSCript.Shell").Run(l_strCmdNew) End Sub

uribou7
質問者

お礼

半角スペースが入っているファイルも開けました!ありがとうございますした!

その他の回答 (1)

回答No.1

Private Sub CommandButton1_Click()   Call CreateObject("WSCript.Shell").Run(Me.TextBox1.Text) End Sub

uribou7
質問者

お礼

ありがとうございました!ちゃんとできました!

uribou7
質問者

補足

半角スペースが入っているファイルでは、エラーが発生するのですが、なぜですか? すみませんが、よろしければこちらもお願いします。

関連するQ&A