- ベストアンサー
ExcelVBAについて
ExcelVBAについて Excel VBA初心者です。 やりたいことを説明しますと、 フォームA上に、テキストボックスBとコマンドボタンCがあるとします。 テキストボックスBにはMPGファイルのフルパスが既に入力されており、コマンドボタンCを押すとテキストボックスBのファイルを開けるようにしたいのです。 お手数ですが、よろしくお願いします。
- みんなの回答 (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
その他の回答 (1)
- 1050 円(@1050YEN)
- ベストアンサー率69% (477/687)
Private Sub CommandButton1_Click() Call CreateObject("WSCript.Shell").Run(Me.TextBox1.Text) End Sub
お礼
ありがとうございました!ちゃんとできました!
補足
半角スペースが入っているファイルでは、エラーが発生するのですが、なぜですか? すみませんが、よろしければこちらもお願いします。
お礼
半角スペースが入っているファイルも開けました!ありがとうございますした!