• 締切済み

microsoft multimedia control 6.0を使って設定したが、音が出ない

ブザー音を出したいため、下記のコードを書いたが、期待通りにブザー音が出なかった。使用しているのはエプソンのEDi Cube(ノートパソコン)で、osはWindowMeです。      MMControl1.Notify = False MMControl1.wait = True MMControl1.Shareable = False MMControl1.DeviceType = "WaveAudio" MMControl1.FileName = "C:\WINDOWS\media\ding.wav" MMControl1.Command = "open" 初心者なので、その対応方法を教えていただきたいです。

みんなの回答

回答No.1

openの後に MMControl1.Command = "play" を入れて見てください。 MMControl1.Command = "prev" で先頭に戻します。

tian
質問者

お礼

早速の回答を頂きまして、ありがとうございます。やってみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel VBA の ChangeFileAccess

    Excel(2000 SP-3) VBAの ChangeFileAccessがうまく行きません。 VBAからあるExcelファイルをWorkbooks.Open で開く処理の制御で悩んでいます。 2人で同時にマクロでhoge.xls をOpenすると、どちらも「他のユーザが使用中です」的なメッセージが出ませんでした。 (エクスプローラからクリックしたりして、hoge.xlsを直接開くと、他のユーザが使用中かどうかがわかります) それでは困るので、ChangeFileAccess のNotify:=true をセットしてみたら、2人目は他のユーザが使用中である旨のメッセージが出るようになりました。 しかし、ChangeFileAccess のNotifyはちゃんと設定されているようなのですが、 'ChangeFileAccess'メソッドは失敗しました:'_Workbook'オブジェクト とエラーが出ています。 ChangeFileAccessはどう使うのが正しいのでしょうか? ソースは Workbooks.Open Filename:=ThisWorkbook.Path & "\hoge.xls", updatelinks:=1, Notify:=True ActiveWorkbook.ChangeFileAccess Mode:=xlReadWrite, Notify:=True って感じなのですが。 Workbooks.Openはちゃんとできています。Workbooks.OpenがコケたらOn Error Goto で拾ってMsgBoxでメッセージを出す、という処理をしているのですが、Workbooks.OpenはOKなのにChangeFileAccessでコケて、On Error Goto に引っかかってしまっています。

  • Word VBAにwaitに準ずる機能を使いたい

    はじめまして。 複数の部署へ配布する用に大量の印刷を行っています。 以下のことをやりたいのですが、application.WaitがWordでは使えず困っています。 やりたいこと: 作成したWord文書を、コピー機(1)・コピー機(2)から交互に出力したい。 (1)と(2)の出力の間に、30秒ごとの時間を置いて出力されるようにしたい。 書いたVBA: =================== Sub テクニカルインフォメーション() '回覧紙配布のため、1号機と2号機で出力をします。 ' '  Dim waitTime As Variant   ActivePrinter = "TF1号機_1" '代営TI 60部   Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _ wdPrintDocumentWithMarkup, Copies:=60, Pages:="", PageType:= _ wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _ PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _ PrintZoomPaperHeight:=0 waitTime = Now + TimeValue("0:00:30") Application.Wait waitTime   ActivePrinter = "8FMFP_2" '法規 19部   Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _ wdPrintDocumentWithMarkup, Copies:=19, Pages:="", PageType:= _ wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _ PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _ PrintZoomPaperHeight:=0 waitTime = Now + TimeValue("0:00:30") Application.Wait waitTime ActivePrinter = "TF1号機_1" '代営FF 43部   Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _ wdPrintDocumentWithMarkup, Copies:=43, Pages:="", PageType:= _ wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _ PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _ PrintZoomPaperHeight:=0 waitTime = Now + TimeValue("0:00:30") Application.Wait waitTime   ActivePrinter = "8FMFP" '高機能SC 40部   Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _ wdPrintDocumentWithMarkup, Copies:=40, Pages:="", PageType:= _ wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _ PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _ PrintZoomPaperHeight:=0 End Sub =================== 前任者が残したExcelのVBAを参考にしたのですが、 動かずに大変困っています。 ご教授頂けないでしょうか。 いままでVBAはほとんど触ったことがなく、マクロの記録で乗り越えてきたので 基礎構文もよく理解をしていません。 不勉強で大変申し訳ないのですが、どうかよろしくお願い致します。

  • MIDIファイルのホームページでの音の出し方

    自分で作ったsmfを自分のホームページで聞ける様に作りました。ホームページを開くとちゃんと鳴っていたのですが急に音が出なくなってしまいました。自分ではその部分は変更した覚えは無いのですが。やり方は友人に聞いたもので良く分かりません。その部分らしい所をコピー&ペーストしてみました。どなたかやり方が分かる方教えて下さい。 "Saxmansmf.MID"が自分で作ったファイルでこれ単独だと再生は出来ます。 <embed src="Saxmansmf.MID" width="1" height="1" type="audio/wav" ></embed> controller="false" autoplay="true" autostart="true"> </body>

  • Excelのブック間の串刺し計算について

    Excelのブック間の串刺し計算について VBA超初心者です。同じフォルダ内にファイルがいくつかあり、同じ形式で、sheet1のB4のセルに計があったとして、それをブック間で串刺し集計したいのですが、うまくいきません。どこが悪いのかもわからず、困り果ててます。ご指導お願いします。 Sub BookShuukei() Dim FileName As String Dim Total As Integer Dim OpenedBook As Workbook Dim IsBookOpen As Boolean FileName = Dir("*.xls") Application.ScreenUpdating = False Do While FileName <> "" If FileName <> ThisWorkbook.Name Then IsBookOpen = False For Each OpenedBook In Workbooks If OpenedBook.Name = FileName Then IsBookOpen = True Exit For End If Next If IsBookOpen = False Then Workbooks.Open (FileName) End If Total = Total + Workbooks(FileName).Sheets(1).Range("B4").Value If IsBookOpen = False Then Workbooks(FileName).Close End If End If FileName = Dir() Loop Application.ScreenUpdating = True MsgBox (Total) End Sub

  • ExcelのOpenTextで作ったシートのコピー

    Excel2010のVBAでテキストファイルを読み込むと新しいブックに読み込まれるので、新しいブックのシートをVBAのコードがあるブックにコピーしたいのですが CSVファイル読み込み時に使う Workbooks.Open の場合には  Dim wb As Workbook  Set wb = Workbooks.Open(Filename:="C:\test\test1.csv")  wb.Worksheets(1).Cells.Copy ThisWorkbook.Worksheets("Sheet1").Range("A1")  wb.Close False のような感じでコピーすることができたのですが テキストファイル読み込み時に使う Workbooks.OpenText の場合には  Dim wb As Workbook  Set wb = Workbooks.OpenText Filename:= _    "C:\test\test1.txt", _    Origin:=932, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _    xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _    , Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), _    Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2), _    Array(9, 2)), TrailingMinusNumbers:=True  wb.Worksheets(1).Cells.Copy ThisWorkbook.Worksheets("Sheet1").Range("A1")  wb.Close False とすると、OpenTextの箇所で「Workbooks.OpenText Functionまたは変数が必要です」というコンパイルエラーが発生します。Set wb = Workbooks.OpenText (Filename:=・・・・True)のように括弧でくくっても同様のエラーがでてしまいます。 Microsoft Office 14.0 Object Libratyの参照設定はチェックされています。 Workbooks.OpenText Filename:= _・・・=Trueの部分はマクロの記録の機能で生成したコードです。 このような場合、どのように記述すればよいのでしょうか。 よろしくお願いします。

  • エクセル マクロ 値の貼り付け

    以下のエクセルのマクロで値のみを貼り付けたいのですが、.valueを指定しても上手くできません。 どのように修正すればいいか教えてください。 Dim wb As Workbook Application.ScreenUpdating = False Set wb = Workbooks.Open(Filename:=ThisWorkbook.Path & "\ファイルA.xls", UpdateLinks:=0) ThisWorkbook.Sheets("BBB").Range("E4:AR4").Copy wb.Sheets("BBB").Range("E4:AR4") Application.DisplayAlerts = False wb.Close (True) Application.DisplayAlerts = True Application.ScreenUpdating = True

  • フォルダ内の全てのファイル開く時間短縮の方法

    Excelのマクロを使ってフォルダ内の全てのファイルを開く以下のコードを利用しているのですが(教えてgoo!で教えて頂いたコードです)、ファイル数が10個くらいあるため全部開くのに1分くらいかかってしまいます。 もっと時間を短縮することはできませんでしょうか? Sub OpenAllBook()   Dim FileName As String   Dim OpenedBook As Workbook   Dim IsBookOpen As Boolean   ChDir ("フォルダ名")   FileName = Dir("*.xls")   Do While FileName <> ""    If FileName <> ThisWorkbook.Name Then     IsBookOpen = False     For Each OpenedBook In Workbooks      If OpenedBook.Name = FileName Then       IsBookOpen = True       Exit For      End If     Next     If IsBookOpen = False Then      Workbooks.Open (FileName)     End If    End If    FileName = Dir()   Loop End Sub

  • ファイルの2重に開いた場合の処理(エクセルVBA)

    FileSearchを使って複数のエクセルファイルを順に開きシート内容の更新を行っています。更新すべきファイルは、LAN上のサーバ(LANハードディスク)内のフォルダにおいてありますが、複数の人がファイルを開いて作業を行います。その時、FileSearchで更新作業をしようとすると2重に開く現象が発生します。 ファイルを開く方法は、openメゾッドをworbooksコレクションに対して行っています。 Workbooks.Open Filename:=.FoundFiles(iCount), UpdateLinks:=0で開き、Workbooks(FlieName).Close SaveChanges:=Trueで閉じます。 しかしこのままですと、読み取り専用でファイルを開いてしまい、保存時にコピーを保存するでマクロが止まります。そこで、openメゾッドに、Notify:=Falseを着けると、「読み取り専用で開きますか?」で停止します。次に、On Error GoTo でトラップしようとすると、、「読み取り専用で開きますか?」のダイアログで、いいえを選択するとトラップが出来るのですが、ハイだと当然トラップできません。それよりも、ダイアログが表示されるのには変わりありません。 Displayalerts=Falseとすると、ダイアログは表示されなくなりますが、エラーがトラップ出来なくなります。ファイルの2重で開くのトラップってどうすれば出来るのでしょうか?似たようなものにOpenステートメントもあるようですが、うまく出来ませんでした。どなたか?詳しい方教えて頂けませんでしょうか?宜しくお願い致します。 目的としては、2重に開く現象となったファイル名をThisworkbookのシートに一覧保存してあとで対象のものだけ処理を行うようにしたいです。また、2重に開いたときに表示される使用者名もゲットしたいです。 宜しくお願い致します。

  • Access複数のテーブルを1つの既存シートに出力

    Accessの複数のテーブルを1つの既存のエクセルに出力したのですが、どのようにしたらいいのでしょうか? 試しにDO~LOOPのしたにDO~LOOPをもう1つ追加してみたところ、 エラーナンバー75 オブジェクトが開いている場合は、操作は許可されません。 と表示されます。 Private Sub コマンド144_Click() On Error GoTo Err_FileDialog_Click Dim strsql1 As String Dim strsql2 As String Dim strsql3 As String Dim strsql4 As String Dim strTemplate As String Dim strFileName As String Dim ExpFileName As String Dim xlapp As Object Dim xlWB As Object Dim myCn As New ADODB.Connection Dim myRs As New ADODB.Recordset 'ExportData削除 DoCmd.SetWarnings False DoCmd.RunSQL "DELETE from T_EDI_01_CVJ" DoCmd.RunSQL "DELETE from T_EDI_02_OU" DoCmd.RunSQL "DELETE from T_EDI_03_EDI_CUSTOMER" DoCmd.RunSQL "DELETE from T_EDI_04_CUSTOMER" DoCmd.SetWarnings True 'Export用クエリ実行 DoCmd.SetWarnings False DoCmd.OpenQuery ("D_EDI_01_CVJ2") DoCmd.OpenQuery ("D_EDI_02_OU2") DoCmd.OpenQuery ("D_EDI_03_EDI_CUSTOMER2") DoCmd.OpenQuery ("D_EDI_04_CUSTOMER2") DoCmd.SetWarnings True 'ファイル名作成 ExpFileName = "FY24_03_CVJ_EDI" & "_" & Format(Date, "yyyymmdd") strFileName = GetFileName(False, "MicrosoftExcel ブック (*.xlsx)|*.xlsx", "", ExpFileName & ".xlsx") 'EXCELアプリケーションを起動 Set xlapp = CreateObject("Excel.Application") Set myCn = CurrentProject.Connection strsql1 = "T_EDI_01_CVJ" strsql2 = "T_EDI_02_OU" strsql3 = "T_EDI_03_EDI_CUSTOMER" strsql4 = "T_EDI_04_CUSTOMER" 'レコードセットオープン myRs.Open strsql1, myCn, adOpenForwardOnly, adLockReadOnly ' myRs.Open strsql2, myCn, adOpenForwardOnly, adLockReadOnly ' myRs.Open strsql3, myCn, adOpenForwardOnly, adLockReadOnly ' myRs.Open strsql4, myCn, adOpenForwardOnly, adLockReadOnly With xlapp 'テンプレートを開く strTemplate = Application.CurrentProject.Path & "\" & "FY24_03_xxx_CVJ_EDI.xlsx" Set xlWB = .Workbooks.Open(strTemplate) 'テンプレートファイルが存在しないときはエラー If Dir(strTemplate) = "" Then MsgBox "テンプレートファイルを確認してください。", vbOKOnly + vbCritical, "エラー" .Visible = True .Quit Exit Sub End If 'テンプレートファイルオープン .Workbooks.Open strTemplate 'T_EDI_01_CVJの結果値出力処理(1行目にヘッダーを表示しているので、2行目1列目からセット xlWB.Worksheets("CVJ").Rows(2).Insert xlWB.Worksheets("CVJ").Cells(2, 1).CopyFromRecordset myRs ' 'T_EDI_02_OUの結果値出力処理(1行目にヘッダーを表示しているので、2行目1列目からセット ' xlWB.Worksheets("CVJ OU別").Cells(2, 1).CopyFromRecordset myRs ' 'T_EDI_03_EDI_CUSTOMERの結果値出力処理(1行目にヘッダーを表示しているので、2行目1列目からセット ' xlWB.Worksheets("代理店別EDIデータ").Cells(2, 1).CopyFromRecordset myRs ' ' 'T_EDI_04_CUSTOMERの結果値出力処理(1行目にヘッダーを表示しているので、2行目1列目からセット ' xlWB.Worksheets("当月全代理店事業部別データ").Cells(2, 1).CopyFromRecordset myRs Dim I As Long I = 2 xlWB.Worksheets("CVJ").Activate Do While xlWB.Worksheets("CVJ").Cells(I, 1) <> "" I = I + 1 Loop '完了したら保存 If Len(strFileName) = 0 Then xlWB.Close SaveChanges:=False xlapp.Quit MsgBox "処理を中止します。", vbOKOnly + vbInformation Exit Sub Else xlWB.SaveAs FileName:=strFileName End If MsgBox "TX Shuttle用ファイルの出力が完了しました。", vbOKOnly + vbInformation End With Set myRs = Nothing: Close Set myCn = Nothing: Close 'Excelを終了します xlapp.Quit Exit Sub Exit_FileDialog_Click: Exit Sub Err_FileDialog_Click: MsgBox "予期せぬエラーが発生しました" & Chr(13) & _ "エラーナンバー:" & Err.Number & Chr(13) & _ "エラー内容:" & Err.Description, vbOKOnly End

  • スレッドの待機と再開

    お世話になります。 マルチスレッドのプログラムで悩んでいます。 public class ThreadLocker {  private static boolean isLocked = false;    public static void lock() {   isLocked = true;   while(isLocked) { ; }  }    public static void unlock() {   isLocked = false;  } } まず、このようなクラスを定義しました。そして複数のスレッドが ThreadLocker.lock(); を呼び出して、処理の進行をストップしている状態があるとします。この状態に対して、とある別のスレッドが ThreadLocker.unlock(); を呼び出すと、それまで無限ループしていたスレッドが解放されて処理を始める、という感じです。 この方法を試してみましたが、無限ループで何も処理をしていないとは言え、リソースを食いまくっているようで、マシンが重くなってしまいました。 そこで、スレッドの待機・再開を行う事ができる wait / notify(All?) メソッドを使用すれば良いのではないかと考えたのですが、具体的な方法が分からず、質問させていただきました。 具体的に、どのインスタンスの wait 及び notify(All?) を呼び出せば良いのかが分かりません。 APIリファレンスの「現在のスレッドはこのオブジェクトのモニターのオーナでなければなりません。」の意味もよく分かりません。 ちなみに、待機しているスレッドは複数あり、class Lock の method execute 中で ThreadLocker.lock() しているとします。 また、再開を促すスレッドは1つで、class Unlock の method execute 中で ThreadLocker.unlock() を呼び出すものとします。 そして、それぞれのスレッドは、お互いのインスタンスを知りません。(説明しづらいので、補足要求があれば、ソースで示します。) よろしくお願いいたします。

    • ベストアンサー
    • Java
このQ&Aのポイント
  • 印刷ボタンを押してもPT-P910BTの本体のテープカッターが動かないトラブルについて相談です。
  • iOSでPT-P910BTをbluetooth接続して使用していますが、印刷ボタンを押すとテープカッターが動かないエラーが発生します。
  • ひかり回線を使用しているPT-P910BTで、印刷ボタンを押すと本体のテープカッターが動かない現象が発生します。
回答を見る

専門家に質問してみよう