プロが教えるわが家の防犯対策術!

VBAの初心者です
コマンドボタンのクリックでDVDのトレイを開く部分で
フリーソフトのコード:

Dim wmp
Set wmp = CreateObject("WMPlayer.OCX")
wmp.cdromcollection.item(0).eject()

をそのままコマンドボタンプロシージャに張り付けたところ3行目の
wmp.cdromcollection.item(0).eject()のところで「コンパイルエラー・構文エラー」
が出ます。解決法があれば教えてください。

A 回答 (16件中11~16件)

バージョンは、Windows Media Player のヘルプを


クリックするとバージョンの項があります。それを
クリックして調べてみてください。

この回答への補足

一般的にヘルプでバージョンが分かることは知っていますが、
何故か、WMPにヘルプの項目がありません。尚、使用中の
パソコンは1年半前に買ったVAIOのVPCEB17FJ(新品)という
機種でOSはWindows7です。

補足日時:2011/07/29 11:33
    • good
    • 0

Windows Media Playerが起動できるならば、


そのバージョンを調べてみてください。
    • good
    • 0

もう一つ調べてみてください。

以下のフォルダに、

C:\WINDOWS\system32



wmp.dll

はありますか?



また、Windows Media Player は起動できますか?

この回答への補足

wmp.dllはあります。Windows Media Player は起動できますが、バージョンの調べ方がわかりません。
尚、勝手ながら、次のご回答を見られるのは、明日(29日)午前11時ごろになると思われます。

補足日時:2011/07/28 23:54
    • good
    • 0

以下のフォルダに、



C:\Program Files\Windows Media Player



wmplayer.exe

があるか、確認してみてください。

この回答への補足

wmplayer.exeはありません。wmplayerはあります。

補足日時:2011/07/28 22:26
    • good
    • 0

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")の行で
「オートメーションエラーです。エラーを特定できません」
というエラーが出ます。

補足日時:2011/07/28 19:46
    • good
    • 0

以下では?



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")の行で
「オートメーションエラーです。エラーを特定できません」
というエラーが出ます。

補足日時:2011/07/28 13:41
    • good
    • 0

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