VBSでのスクリプト作成に関する質問

このQ&Aのポイント
  • VBSでスクリプトを作成している際、ノートパッドでファイルを開く方法について教えてください。
  • 特定のファイルをVBSで開く方法についてアドバイスをいただきたいです。
  • VBSでノートパッドを使ってファイルを開く方法について教えてください。
回答を見る
  • ベストアンサー

VBSについて

いつもありがとうございます。 初歩的すぎる質問で申し訳ありません。 調べたらすぐわかると思うのですが、急ぎである為、調べるのと並行して質問させて頂きます。 現在VBSでスクリプトを作っているのですが、わからない点があります。 仕様としては他に処理がありますが、わからない箇所のみ記載させて頂きます。 ----------------------------------------------------------- // 変数セット strFile = "C:\test.dat" ' ファイルのパスを入力 // ファイルを実行 objShell.Run "notepad strFile", vbNormalFocus, False ----------------------------------------------------------- ↑上記にてノートパッドを起動して変数 "strFile" のファイルを開きたいです。 パスを直接指定すると上記方法でよかったと思うのですが この場合、どのように書けば動作するでしょうか。。 また、違う方法があればアドバイス頂きたいです。 教えて教えてで申し訳ありませんが、宜しくお願い致します。

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

  • ベストアンサー
  • Gizensha
  • ベストアンサー率34% (207/608)
回答No.1

× objShell.Run "notepad strFile", vbNormalFocus, False △ objShell.Run "notepad " & strFile, vbNormalFocus, False こういうこと? 実際はstrFileをダブルクオーテーションで囲む必要があるから、 ○ objShell.Run "notepad """ & strFile & """", vbNormalFocus, False こんなかんじで?

関連するQ&A

  • vbs Runメソッド 変数を入れられる?

    objshell.Run "cmd / c コマンド ~~~~ > ~~~~" ~~~~の中にvbsで宣言した変数を入れることはできますか? ちなみにその変数の中身はファイルのフルパスです。

  • VBSについて

    VBSの中でDOSのコマンドを実行したいのですが、VBS内で使用した変数を Runで使うことはできないのでしょうか? ################################################ Set WSHShell = CreateObject("WScript.Shell") x = "C:\Documents and Settings\user" WSHShell.Run "cmd.exe /K dir x" ################################################ たとえば上記のようなプログラムを作ったときに最終行のcmd.exeの 実行で変数xを使用したいのですが、可能でしょうか? このまま実行するとコマンドプロンプトの窓が開いて「ファイルが見つかりません」と表示されてしまいます。 何か方法があればご教授ください。よろしくお願いします。

  • vbscriptを用いて他のVBSファイルを実行

    プログラム ---------------------------------------------------------------- option explicit dim objwshell set objwshell = createobject("wscript.shell") objwshell.run "ファイルのフルパス", 1, false set objwshell = nothing --------------------------------------------------------------- その「ファイルのフルパス」上に「notepad.exe」と入力するとメモ帳が起動するんですけど、他のファイル(vbs、jsなど)を指定するとエラーが出ます。 もしかしてこれは拡張子が「.exe」のファイルだけしか起動できないのでしょうか? ちなみに上のファイルを保存するときの拡張子は「.vbs」です。

  • VBSでファイルの自動保存

    vbs初心者です。自分なりに調べたのですが、うまくいかず、アドバスを願い致します。目的は、ファイルを自動保存したいのです。 以下のように記載して、最後にカレントデレクトリイに「test.txt」と名前をつけて保存させたいのです。よろしくお願い致します。 Set objShell = WScript.CreateObject("WScript.Shell") WScript.Sleep 1000 objShell.Run "notepad.exe" objShell.SendKeys "hello "  objShell.SendKeys "%{F4}" objShell.SendKeys "%y"  

  • vbsでwavを連続(繰り返し)再生させるには?

    vbsでメッセージと共にwavファイルをsndrec32(サウンドレコーダ)で警告音を鳴らしたいのですが、 strSoundFile="C:\WINNT\Media\×××.wav" Set objShell=CreateObject("Wscript.Shell") strCommand="sndrec32 /play /close" & chr(34) & strSoundFile & chr(34) objShell.Run strCommand, 0, False Msgbox "警告" 上記のソースだとwavファイルが一回再生されるだけなのですが、メッセジボックスのOKを答えるまで繰り返し再生させるにはどうしたら良いのでしょうか?

  • VBS パスに変数を入れたい

    VBSでファイルのコピー処理を行いたいのですが、その日の日付によって、保存先フォルダを変更する必要があります。 例えば、下の保存フォルダ先を指定する文で、○○○を変数にしたりできたら良いのですが、この様にパスに変数を入れる方法ってありますか? strCopyFolder = "Y:\abc\○○○"

  • display.vbsというファイルがstartupフォルダにあるので

    display.vbsというファイルがstartupフォルダにあるのですが? display.vbsというファイルがすべてのプログラムのstartupフォルダにあるのですが、これは何でしょうか?名前からして気持ち悪いので正体を知っている人がいたら教えて欲しいです。 メモ帳で開いたら下記のようなソースになっていました。 よろしくお願いします。 -------------------------------------------- ' Self destructive VBScript for changing optimal resolution ' Set optimal resolution Set objShell = Wscript.CreateObject("Wscript.Shell") objShell.Run "c:\windows\options\cfgdisp.exe /optimum", 7, True ' Now destroy itself Set objFSO = CreateObject("Scripting.FileSystemObject") objFSO.DeleteFile("C:\Documents and Settings\All Users\Start Menu\Programs\Startup\display.vbs") --------------------------------------------

  • VBSによるファイルコピー

    教えてください。 Aフォルダの中にファイルが3つ有るとします。 あ.jpg い.jpg COPY.VBS Aフォルダ内 COPY.VBS を実行すると、 あ.jpg→C:\ い.jpg→C:\PIC とファイルを異なる場所に移動したいのです。 上記の処理をする場合、Aフォルダがどちらか 決まった場所に置いて有る(C:\等)の場合は 解るのですが、実行者がAフォルダをどこに 置き実行するか解りません、VBSから見たときに 自分(vbs)と同じフォルダに有るファイル と言うパスで上記のファイル移動を実現する事は 可能でしょうか? 以上よろしくお願いします。

  • vbsスクリプト作成について

    いつもありがとうございます。 今回、知識がないのですが下記のような処理のVBSを作成したく調べております。 (1)test.vbsファイルを実行時にvbsファイルと同じディレクトリに「folder」フォルダを作成 (2)作成した「folder」フォルダにサービス「idsvc」の状態をテキスト形式で「service.txt」として出力 (3)上記と同様の処理(service.txtはリネームする)を現在ログインしているユーザのスタートアップに「start.vbs」として配置 (3)上記処理後、再起動を実施 (4)再起動後、start.vbsを実行後に自動削除 大きく分けて4つの処理を個別に作成して最終1つのファイルとして作成しようと思っております。 なんとかわからいなりに作成してはいるのですが どうしても下記方法がわかりません。 (2)の処理「folder」を作成後、service.txtのパス(最下位行)を変数に入れて出力する方法 (きたないソースで申し訳ないです) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ ' フォルダ作成 '---------------------------------------------- Dim str_Path Dim objFdr Set objFdr = CreateObject("Scripting.FileSystemObject") str_Path = objFdr.CreateFolder(".\folder") Dim WshShell Set WshShell = CreateObject("WScript.Shell") Set objLog = WshShell.Exec("cmd /C ""sc query idsvc | findstr -i state > .\folder\service.txt""") ※サービス出力はvbsでの方法がわからなかったのでcmdを呼び出しています。 (4)再起動後の処理にて、再起動前に作成したフォルダに「service.txt」を出力する方法 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ objVBSFile.WriteLine("On Error Resume Next") objVBSFile.WriteLine("Dim WshShell") objVBSFile.WriteLine("Set WshShell = CreateObject(""WScript.Shell"")") objVBSFile.WriteLine("Set objLog = WshShell.Exec(""cmd /C """sc query idsvc | findstr -i state >C:\services.txt"""")") objVBSFile.WriteLine("Set objFSO = CreateObject(""Scripting.FileSystemObject"")") objVBSFile.WriteLine("objFSO.DeleteFile WScript.ScriptFullName") 他にもわからないことはありますが、調べてなんとかなるとおもっておりますが 上記についてはVBSの理解不足なため、つかめません。 申し訳ありませんが、アドバイス頂けないでしょうか。 以上、宜しくお願い致します。

  • VBSファイルをスタートアップフォルダに入れておいて、

    エクセル2007の特定ファイルをそのVBSファイルにより自動起動させる方法を教えてください。ちなみに、次のようなVBSファイルを作成しましたがエラーとなってしまいます。 Option Explicit 'オブジェクト変数の宣言とWshShellオブジェクトの作成。 Dim objWshShell Set objWshShell = WScript.CreateObject("WScript.Shell") WScript.Sleep 1000 '1秒待機 objWshShell.Run "C:¥Program Files¥Microsoft Office¥Office12¥EXCEL.exe" です。