重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

エクセル初心者です。
こんなこと出来ませんでしょうか?
決められたセルで、毎日一定時間に、空白(未作業)の場合、音で知らせる。

A 回答 (2件)

試しに、以下のコードで作って見ましたので、宜しかったら次の操作手順で


テストしてみてください。
(サウンドプログラムに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

この回答への補足

ありがとうございます。早速時刻だけ変更してやってみましたが、音がでません。
WIN(ME)で、エクセル2000 です。

補足日時:2003/05/03 07:06
    • good
    • 0

> 早速時刻だけ変更してやってみましたが、音がでません。



これはサンプルコードですので、そこだけでは、必ず鳴るとは限りません。
その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 を
  実情に合わせ変更して、これで鳴ることをまず確認し  ます。

補足日時:2003/05/07 12:11
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!