• 締切済み

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を答えるまで繰り返し再生させるにはどうしたら良いのでしょうか?

  • mlk
  • お礼率25% (15/59)

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

こんな感じでいいのかな。 strSoundFile="C:\Windows\Media\Chimes.wav" '-------------適当に戻して Set objShell=CreateObject("Wscript.Shell") strCommand="Mplay32.Exe /play /close " & chr(34) & strSoundFile & chr(34) wscript.echo strCommand Do While True objShell.Run strCommand, 0, true If objShell.Popup("異常発生",2,"警告") = 1 Then Exit Do '2秒待機、無限ループ脱出 loop

関連するQ&A

  • 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からのサーバサイドのEXEの実行

    こんにちはSHIRAOといいます。 WScript.Shellを使用してサーバにあるEXEファイルを 起動しようと思っているのですがどうもうまくいきません。WScript.Shellを使用する時に何か設定しなければならないことがあるのでしょうか? <script language="vbscript"> Function Window_OnLoad : Set objShell = WScript.CreateObject("WScript.Shell") objShell.Run "C:\WINDOWS\system32\notepad.exe" : End Function </script>

  • vbsでアプリを自動終了する

    notepadを起動せさ、「Hello」とキーボードより入力させてから自動的に終了させるvbsで作成しましたが、キーボード入力させるところまで成功しましたが、notepadを自動的に終了させる部分が成功しておりません。(イメージはユーザは何もせずnotepadを保存せずに自動終了させます。)下記のとおり 途中なのですがアドバイスをお願い致します。 ----------------------------------------------------------- Set objShell = WScript.CreateObject("WScript.Shell") objShell.Run "notepad.exe" WScript.Sleep 1000 objShell.SendKeys "hello ,"

  • VBSの処理について

    下のプログラムはどんな処理をしているのか教えていただけないでしょうか? 全プログラムではなく一部抜粋です。 特に(1)「""^\*\*\*\*\*$""」の部分と(2)「f1.WriteLine( "cscript //nologo test.vbs sab.txt")」、(3)「rsh.Run "cmd /c """ & pth& "batta.bat""",1,false」を知りたいです。 f1.WriteLine( "findstr /V ""^\*\*\*\*\*$"" sabun.txt | findstr ""^[0*]"" >> sab.txt") f1.WriteLine( "cscript //nologo test.vbs sab.txt") f1.close Set rsh = Wscript.CreateObject("Wscript.Shell") rsh.Run "cmd /c """ & pth & "batta.bat""",1,false

  • vbsで起動したexeを終了させる方法

    ts動画ファイルをps動画ファイルに変換するvbsファイルをネット上から見つけることが出来ました。 これをコマンドラインから TN:"C:\TSをPSに変換.vbs" -EIT -ECM -EMM -SD -1SEG "%1" TN:cd:Z\ …と、1行目でファイルにこのvbsで適用して、その後いくつかの処理を行うようにしています。 しかし、実際には1行目が完全に終了したとみなされず 2行目以降に移ってくれません。 そこで、このvbsによって起動される"vlc.exe"を手動で終了して 初めて、2行目以降を実行してくれます。 ソースはこちらです↓ vlcpath = "C:\Program Files\VideoLAN\VLC\vlc.exe" Set objArgs = WScript.Arguments Set objSHell = WScript.CreateObject("WScript.Shell") For i = 0 To objArgs.Count - 1 if ( Right(objArgs(i),3) = ".ts" ) Then SrcFile = Chr(34) & objArgs(i) & Chr(34) DstFile = Chr(34) & Left(objArgs(i),Len(objArgs(i))-3) & ".mpg" & Chr(34) CmdLine = Chr(34) & vlcpath & Chr(34) & " " & SrcFile & " :sout=#transcode {acodec=mpga,ab=384,channels=2}:duplicate{dst=std{access=file,mux=ps,dst=" & DstFile & "}}vlc:quit" 'Wscript.StdOut.WriteLine CmdLine objSHell.Run CmdLine ,1 ,True End If Next 自分なりに http://www.whitire.com/vbs/tips0107.html こちらを参照して CmdLine.Terminateや Set objExecCmd = objSHell.Exec(CmdLine) などで試してみたのですがダメでした… ほんのちょっとしたアドバイスや参考URLで構いませんので アドバイスをよろしくお願いします。

  • vbsからbatを動かしたいです♪

    vbsからbatを動かしたいです♪ リモートでマシンを動かしたいのですが・・・。 動きません!なぜでしょう? どなたか助けてください、お願いします。 =============== Set shell = CreateObject("Wscript.Shell") shell.Run "\\(マシン名)\C$test\test.bat" set shell = nothing =============

  • 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”のファイルが実行できない

    まったく初歩的な質問で申し訳ないのですが、拡張子がvbsのファイルが実行できません。 あるソフトをアンインストールするために実行したいんですが、ダブルクリックするとアプリケーションを選べみたいなのが出てきて、よく分かりません。 一応、そのvbsファイルをNotepadで開いてみたものを載せときます。 ---------------------------------------- On Error Resume Next set shell = CreateObject("WScript.Shell") set fso = CreateObject("Scripting.FileSystemObject") bcp="C:\Program Files\BCP" msg = msgbox("ブラクラでヤバイVer4をアンインストールしますか?",vbYesNo) if msg=vbNo then WScript.Quit if fso.FolderExists("C:\Program Files\BCP\")then fso.DeleteFolder bcp msgbox "フォルダの削除完了" end if shell.RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\ブラクラでヤバいでチェック\") shell.RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\ブラクラでヤバいを起動\") msgbox("アンインストールが完了しました。"&Chr(13)&Chr(13)&"By 禿親父") ---------------------------------------- どなたか分かる方いましたら教えてください。 よろしくお願いします。

  • 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ファイルを自動実行したいと思います。 タスクスケジューラで実行すると download.exe は起動しますが 表示されたダイアログがアクティブ状態にならないため (タイトルバーが灰色のまま、タスクバーのボタンが点滅)、 文字入力ができないまま、処理が終了してしまいます。 1.ダイアログをアクティブにし、正常に処理を実行させるには   どのように記述すれば良いですか? 2.このVBSファイルをユーザーがログオフされている状態で   実行することは可能ですか? 恐れ入りますが、ご存じの方がおられましたら、ご教示願います。 <環境> Windows 2008 Server R2 standard (64ビット) <D:\aaa.vbs> Set objShell = WScript.CreateObject("WScript.Shell") 'ダウンロードEXEを実行 Set objExec = objShell.Exec("D:\download.exe") WScript.Sleep 1000 objShell.AppActivate(objExec.ProcessID) 'ファイルのダウンロード先を指定し、実行(ENTER) WScript.Sleep 1000 objShell.SendKeys "D:\data.txt~"

専門家に質問してみよう