
No.1ベストアンサー
- 回答日時:
試しに、以下のコードで作って見ましたので、宜しかったら次の操作手順で
テストしてみてください。
(サウンドプログラムにSNDREC32.EXEを使用し、その終了にAPIを使用しています。)
1.Alt + F11 で VBE(Visual Basic Editor)を開きます。
2.VBE のメニューから[挿入] -->[標準モジュール] を指定します。
3.モジュールウィンドウに下記コードをコピーして貼り付けます。
4.コードの設定項目を実情に合わせ変更します。
5.Alt + Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります
6.Excelを保存終了後、再起動すると設定時刻時点で指定セルが、空欄のとき
設定したサウンドが鳴ります。
(OSによりSoundプログラムの変更が、必要かも知れません。Win98で検証)
Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function PostMessage Lib "user32" Alias _
"PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const WM_CLOSE = &H10
Public Const SoundFile = "Logoff.wav" ' <------ Wavファイル指定
Sub Auto_Open()
Application.OnTime Now + TimeValue("00:01:00"), "sound_on"
End Sub
Sub sound_on()
Const SetTime = "20:32" ' <------ 時刻設定
Const SheetName = "Sheet1" ' <------ シート指定
Const TargetCell = "A1" ' <---- セル指定
Const FilePath = "c:\windows\media\" ' <-----Wavファイルパス名
Dim RetVal
If Format(Now(), "hh:mm") > SetTime Then
If IsEmpty(Sheets(SheetName).Range(TargetCell).Value) Then
RetVal = Shell("C:\WINDOWS\SNDREC32.EXE " & _
FilePath & SoundFile, vbHide)
SendKeys " ", True
Application.Wait (Now + TimeValue("0:00:05"))
ShutdownOtherApp
Exit Sub
Else
Exit Sub
End If
Else
Auto_Open
End If
End Sub
Sub ShutdownOtherApp()
Dim hWnd As Long
hWnd = FindWindow(vbNullString, SoundFile & " - サウンド レコーダー")
Call PostMessage(hWnd, WM_CLOSE, 0, 0)
End Sub
No.2
- 回答日時:
> 早速時刻だけ変更してやってみましたが、音がでません。
これはサンプルコードですので、そこだけでは、必ず鳴るとは限りません。
そのPC環境により、コードの変更を必要とします。
Logoff.wavというファイルありましたか?
サウンドのプログラムとWavファイルを現状に合わせてコードを変更するのです。
例えば、このコードでは、
スタートから「ファイル名を指定して実行」で「名前」欄に下記1行を
貼り付けて、[OK]すると「サウンドプログラム」が起動します。
そして「スペース」キーで音が再生されます。
そういう環境でのコードです。
C:\WINDOWS\SNDREC32.EXE c:\windows\media\Logoff.wav
このC:\WINDOWS\SNDREC32.EXE の部分とc:\windows\media\Logoff.wav を
実情に合わせ変更して、これで鳴ることをまず確認します。
これによって、VBAコードの該当ヶ所を変更するのです。
VBAの知識がないと難しいかも知れませんね。
この回答への補足
お世話様です。
とりあえず、音が再生される環境は確認しました。
C:\WINDOWS\SNDREC32.EXE c:\windows\media\Logoff.wav
次の事が、よくわかりません。
このC:\WINDOWS\SNDREC32.EXE の部分と c:\windows\media\Logoff.wav を
実情に合わせ変更して、これで鳴ることをまず確認し ます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dir関数のDo Whileステートメン...
-
Gmailを開いた状態でもうひとつ...
-
ギターのTAB譜の記号 N.C....
-
【マクロ】PasteSpecialメソッ...
-
Dadd11というコードについて
-
DLookupがうまく出来ません
-
草刈の際に電源ケーブルを切断...
-
ドライアーのコードから煙が出...
-
excelマクロ フォームのインポート
-
ドライヤーのコードから発火
-
EXCELのハイパーリンク先の変更...
-
この写真の状態(銅線剥き出し)...
-
松山千春の『輝く時代』の弾き...
-
だいたいのスーパーでは天ぷら...
-
ギターのタブ譜についてです。 ...
-
群青日和のコードが??
-
【HULFT】 utllist とutladmin
-
VBA ダブルクリックするたびに...
-
ギターで2弦2フレットと3弦2フ...
-
教えて下さい。 P&G様のパンパ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ギターのTAB譜の記号 N.C....
-
だいたいのスーパーでは天ぷら...
-
【マクロ】PasteSpecialメソッ...
-
Gmailを開いた状態でもうひとつ...
-
VBA ダブルクリックするたびに...
-
CODE関数から他の文字コードの...
-
【HULFT】 utllist とutladmin
-
ドライアーのコードから煙が出...
-
Dadd11というコードについて
-
マイナーの裏コードは存在する?
-
D7alt
-
草刈の際に電源ケーブルを切断...
-
DLookupがうまく出来ません
-
外車 色コード BMW 色コード オ...
-
Accessに対するGrep検索
-
コードを白く塗りたい
-
エクセルで定時に音を出す
-
Excel VBA Tabコードの出力
-
JISコードがわからない
-
実行時エラー3251対応処理方法
おすすめ情報