ふらくま日記

 

2015/10/02

[][][] VBScript(WHS)やExcelVBAでWAVファイルを再生する方法

タイトルに「VBScript(WHS)」「ExcelVBA」と書いておきながら、中身はコマンドプロンプトからPowerShellを呼び出しているだけです。ライブラリを読み込んだり、MediaPlayerを呼び出したりする必要がないので楽かもしれません。

snd = "C:\Windows\Media\recycle.wav"
cmd = "powershell -NoProfile -ExecutionPolicy Unrestricted -Command ""& { (New-Object Media.SoundPlayer('" + snd + "')).PlaySync() }"""
CreateObject("WScript.Shell").Run cmd, 0

上をコピペして、VBSで保存すればWAVが再生されます。


ちなみに、素直にPowerShellを使えば、こんなにシンプルです。

ただ、PowerShellだと再生中はコマンド画面が表示されるので、用途によっては不向きかもしれません。

(New-Object Media.SoundPlayer('C:\Windows\Media\recycle.wav')).PlaySync()

こうすれば、一応コマンド画面が隠れるのですが、一瞬表示されるのは避けられないようです。

PowerShell -WindowStyle Hidden -Command Exit
(New-Object Media.SoundPlayer('C:\Windows\Media\recycle.wav')).PlaySync()
トラックバック - http://d.hatena.ne.jp/wild-man/20151002

2014/04/17

ニャンちゅう氏

[] ニャンちゅうさんはNHKの廊下を歩いている時に一目置かれる存在だと思う

ニャンちゅうさんのTVデビューは1992年。22年もテレビに出続けてる。ニャンちゅうさんを見て育った世代が、NHKに就職して番組を作る側になっててもおかしくない。

最初は「母と子のテレビタイム土曜版」の単なるキャラとして登場し、下積みを重ね、持ち前のキャラクターを発揮して、2003年、ついに冠番組ニャンちゅうといっしょ」のメインパーソナリティを務めるまでになる。その後、「ニャンちゅうワールド放送局」に名前こそ変わるが、11年も冠番組のメインを務めている。未だに超ヤング世代からは熱い支持を集めており、カリスマ性は失われていない。下手な芸能人より、よっぽど凄い。

視聴者の年齢が低いことも有り、普通の芸人だったら対処にこまるような手紙がくることもある。それを見事に返すそのトーク力は、老人とトークする毒蝮三太夫に並ぶレベルの高さかもしれない。(ニャンちゅう放送居は生放送ではないので、作家の協力があるかもしれないが)

ニャンちゅうさんを語る上で欠かせないのが、卵かけご飯事件。ハプニングが起こっても柔軟に対応し、笑いに転化できるのは、センスある司会者だから出来る技。アイドルやお笑い芸人の看板番組は数あれど、これが出来る司会者は非常に少ない。

とりあえず、ニャンちゅうさんは凄い。世間はニャンちゅうさんの凄さにもっと注目すべきだし、そろそろ大人向けにニャンちゅうさん考察本が新書で発売されても良い頃。



ニャンちゅうワールド放送局 だいすき!ニャンちゅう (小学館のカラーワイド)
ニャンちゅうワールド放送局 だいすき!ニャンちゅう (小学館のカラーワイド)


ニャンちゅう ワールド放送局 立体 キャラクター イヤホンジャック アクセサリー ジャック ピアス
ニャンちゅう ワールド放送局 立体 キャラクター イヤホンジャック アクセサリー ジャック ピアス

トラックバック - http://d.hatena.ne.jp/wild-man/20140417

2014/04/12

[][] ExcelVBAマクロでシートを初期化(全てのセルの内容を削除)する

他のシートも削除したかったので、プロシージャを分けてあります。特定のシートだけ初期化するのであれば、もっと簡単になりますね。


Sub all_clear_sheet(ByVal sheet_name As String)
    'アクティブシートの切り替え
    ActiveWorkbook.Worksheets(sheet_name).Activate
    'アクティブシートの図形・画像を全て削除
    ActiveSheet.DrawingObjects.Delete
    'アクティブシートの内容を全て削除
    ActiveSheet.Cells.Clear
    'アクティブシートのコメントを全て削除
    ActiveSheet.Cells.ClearComments
End Sub

Sub clear_sheet1()
    'Sheet1の全てのセルの内容を削除
    Call all_clear_sheet("Sheet1")
End Sub

Excel2010で動作確認しました。

トラックバック - http://d.hatena.ne.jp/wild-man/20140412