- 締切済み
VBAでDVDのトレイを開く。、
VBAの初心者です コマンドボタンのクリックでDVDのトレイを開く部分で フリーソフトのコード: Dim wmp Set wmp = CreateObject("WMPlayer.OCX") wmp.cdromcollection.item(0).eject() をそのままコマンドボタンプロシージャに張り付けたところ3行目の wmp.cdromcollection.item(0).eject()のところで「コンパイルエラー・構文エラー」 が出ます。解決法があれば教えてください。
- みんなの回答 (16)
- 専門家の回答
みんなの回答
- piroin654
- ベストアンサー率75% (692/917)
バージョンは、Windows Media Player のヘルプを クリックするとバージョンの項があります。それを クリックして調べてみてください。
- piroin654
- ベストアンサー率75% (692/917)
Windows Media Playerが起動できるならば、 そのバージョンを調べてみてください。
- piroin654
- ベストアンサー率75% (692/917)
もう一つ調べてみてください。以下のフォルダに、 C:\WINDOWS\system32 wmp.dll はありますか? また、Windows Media Player は起動できますか?
補足
wmp.dllはあります。Windows Media Player は起動できますが、バージョンの調べ方がわかりません。 尚、勝手ながら、次のご回答を見られるのは、明日(29日)午前11時ごろになると思われます。
- piroin654
- ベストアンサー率75% (692/917)
以下のフォルダに、 C:\Program Files\Windows Media Player wmplayer.exe があるか、確認してみてください。
補足
wmplayer.exeはありません。wmplayerはあります。
- piroin654
- ベストアンサー率75% (692/917)
WMPlayer.OCX.7 としていましたが、バージョンの違いがあるかもしれないので、 WMPlayer.OCX としてみてください。 それと、最後に Set wmp = Nothing End Sub のように、 Set wmp = Nothing を付け加えておいてください。
補足
再回答ありがとうございます (1) Private Sub CommandButton1_Click() Dim wmp Dim cdromCol Dim i Set wmp = CreateObject("WMPlayer.OCX") Set cdromCol = wmp.cdromCollection For i = 0 To cdromCol.Count - 1 cdromCol.Item(i).Eject Next Set wmp = Nothing End Sub (2) Private Sub CommandButton1_Click() Dim wmp Dim cdromCol Dim i Set wmp = CreateObject("WMPlayer.OCX") Set cdromCol = wmp.cdromCollection If cdromCol.Count >= 1 Then cdromCol.Item(0).Eject end if Set wmp = Nothing End Sub としましたが、やはり、いずれの場合にも Set wmp = CreateObject("WMPlayer.OCX.7")の行で 「オートメーションエラーです。エラーを特定できません」 というエラーが出ます。
- piroin654
- ベストアンサー率75% (692/917)
以下では? Dim wmp Dim cdromCol Dim i Set wmp = CreateObject("WMPlayer.OCX.7") Set cdromCol = wmp.cdromCollection If cdromCol.Count >= 1 Then cdromCol.Item(0).Eject 'あるいは 'For i = 0 To cdromCol.Count - 1 'cdromCol.Item(i).Eject 'Next End If
補足
ご回答ありがとうございます (1) Private Sub CommandButton1_Click() Dim wmp Dim cdromCol Dim i Set wmp = CreateObject("WMPlayer.OCX.7") Set cdromCol = wmp.cdromCollection For i = 0 To cdromCol.Count - 1 cdromCol.Item(i).Eject Next End Sub (2) Private Sub CommandButton1_Click() Dim wmp Dim cdromCol Dim i Set wmp = CreateObject("WMPlayer.OCX.7") Set cdromCol = wmp.cdromCollection If cdromCol.Count >= 1 Then cdromCol.Item(0).Eject end if End Sub いずれの場合にも Set wmp = CreateObject("WMPlayer.OCX.7")の行で 「オートメーションエラーです。エラーを特定できません」 というエラーが出ます。
- 1
- 2
補足
一般的にヘルプでバージョンが分かることは知っていますが、 何故か、WMPにヘルプの項目がありません。尚、使用中の パソコンは1年半前に買ったVAIOのVPCEB17FJ(新品)という 機種でOSはWindows7です。