起動したアプリを閉じる | |
---|---|
[195366] 起動したアプリを閉じる- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ ゆり -(2022/11/03(19:18)) □U R L/ よろしくお願いします。以下のコードを作って音源(動画を含む)を出すことには成功しましたが、音源(動画)(すべて1秒から2秒程度の短いもの)が流れ終わったら、起動してるアプリを自動でcloseすることは可能でしょうか。起動するのはメディアプレイヤーです。(Windows11, Office 365) テキスト = Worksheets("Sheet1").Shapes(Application.Caller).OLEFormat.Object.Caption CreateObject("Wscript.shell").Run ThisWorkbook.Path & "\ongen\" & テキスト & ".mp3" |
[195367] Re[1]: 起動したアプリを閉じる- ■記事引用/メール受信=OFF■ □投稿者/ MK -(2022/11/04(16:40)) □U R L/ その外部アプリには演奏が終わったら自動的に閉じる 設定はないのでしょうか? また、ある程度の時間経過後強制終了しても問題ないですか? ※アプリによっては強制終了したら次回の起動時「前回強制終了 されました」などと表示するものがあります。 |
[195368] Re[2]: 起動したアプリを閉じる- ■記事引用/メール受信=OFF■ □投稿者/ MK -(2022/11/04(16:41)) □U R L/ >起動するのはメディアプレイヤーです。 アプリ名がちゃんと記載されてましたね。 失礼いたしました。 |
[195369] Re[3]: 起動したアプリを閉じる- ■記事引用/メール受信=OFF■ □投稿者/ MK -(2022/11/04(17:53)) □U R L/ いつごろの記事か不明なので、ゆるさんの環境で 使えるかわかりませんが。 参考まで。 ht tps://excel-excel.com/tips/vba_152.html |
[195370] Re[4]: 起動したアプリを閉じる- ■記事引用/メール受信=OFF■ □投稿者/ MK -(2022/11/04(17:54)) □U R L/ >ゆるさんの環境で ゆりさん、でした。失礼いたしました。 |
[195376] Re[5]: 起動したアプリを閉じる- ■記事引用/メール受信=OFF■ □投稿者/ kazuo -(2022/11/12(14:28)) □U R L/ 一週間経ちましたが、質問者よりコメントがありませんので、 備忘録として使わせていただきます。 動画も再生させ、配布するとなるとWMPが良いのでしょうが、 検索すると、最近のWMPはShell起動では/close スイッチが効かないので、 mshta を使い、強制終了させる方法が紹介されています。 Sub WMPで再生() Dim cmd As String Dim sPath, fName As String, sFile As String Dim t As Long sPath = ThisWorkbook.Path & "\" ' ← 実際のフォルダパス + "\" fName = "g_24.mp3" ' ← 実際の再生したいファイル名 On Error Resume Next With CreateObject("Shell.Application") '再生時間mSecの取得 With .Namespace(sPath) 'sPathはレイトバイディングの為variant指定のこと t = CDbl(.ParseName(fName).ExtendedProperty("System.Media.Duration")) / 10000 End With End With If t = 0 Then MsgBox "ファイルが存在しないか再生時間が記録されていません" Exit Sub End If On Error GoTo 0 sFile = sPath & fName 'cmdは掲示できないので全角にしてあります。 'WIDTH=1000 HEIGHT=1000 はWMPのサイズ、windowとはmshtaのこと。WMPのサイズはmshtaのサイズ以下が良い 'WMP6.4を使いたいなら cmd = "cmd /c mshta ""about:'%0' <OBJECT CLASSID='CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95' WIDTH=1000 HEIGHT=1000>" & _ "<param name='Filename' value='%1'><param name='PlayCount' value='1'></OBJECT><script>window.resizeTo(1000,1000);" & _ "window.moveTo(0,0);setTimeout(function(){window.close()},%2);</script>""" 'WMP7以降を使いたいなら cmd = "cmd /c mshta ""about:%0 <OBJECT CLASSID='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' WIDTH=1000 HEIGHT=1000>" & _ "<param name='URL' value='%1'><param name='PlayCount' value='1'></OBJECT><script>window.resizeTo(1000,1000);" & _ "window.moveTo(0,0);setTimeout(function(){window.close()},%2);</script>""" cmd = StrConv(cmd, vbNarrow) cmd = Replace(cmd, "%0", fName) cmd = Replace(cmd, "%1", sFile) cmd = Replace(cmd, "%2", t) Shell cmd, vbMinimizedFocus End Sub この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
このトピックに書きこむ |
---|