ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Can VBA issue a command to eject a CD? (https://www.excelbanter.com/excel-programming/384486-can-vba-issue-command-eject-cd.html)

Don Wiss

Can VBA issue a command to eject a CD?
 
I have a VBA program that reads a file created from a DVD/CD. I then by
hand eject the disc. Can VBA issue a command to eject the disc?

Don <www.donwiss.com (e-mail link at home page bottom).

RB Smissaert

Can VBA issue a command to eject a CD?
 
Try this:

Option Explicit
Private Declare Function mciSendString _
Lib "winmm.dll" _
Alias "mciSendStringA" (ByVal lpstrCommand As
String, _
ByVal
lpstrReturnString As String, _
ByVal uReturnLength As
Long, _
ByVal hwndCallback As
Long) As Long

Sub OpenCDDrive()

mciSendString "Set CDAudio Door Open", 0&, 0, 0

End Sub


Sub CloseCDDrive()

mciSendString "Set CDAudio Door Closed", 0&, 0, 0

End Sub


RBS



"Don Wiss" wrote in message
...
I have a VBA program that reads a file created from a DVD/CD. I then by
hand eject the disc. Can VBA issue a command to eject the disc?

Don <www.donwiss.com (e-mail link at home page bottom).



Don Wiss

Can VBA issue a command to eject a CD?
 
Where are you setting which drive to open/close?

On Sun, 4 Mar 2007 22:12:37 -0000, "RB Smissaert"
wrote:

Try this:

Option Explicit
Private Declare Function mciSendString _
Lib "winmm.dll" _
Alias "mciSendStringA" (ByVal lpstrCommand As
String, _
ByVal
lpstrReturnString As String, _
ByVal uReturnLength As
Long, _
ByVal hwndCallback As
Long) As Long

Sub OpenCDDrive()

mciSendString "Set CDAudio Door Open", 0&, 0, 0

End Sub


Sub CloseCDDrive()

mciSendString "Set CDAudio Door Closed", 0&, 0, 0

End Sub


RBS



"Don Wiss" wrote in message
.. .
I have a VBA program that reads a file created from a DVD/CD. I then by
hand eject the disc. Can VBA issue a command to eject the disc?

Don <www.donwiss.com (e-mail link at home page bottom).



RB Smissaert

Can VBA issue a command to eject a CD?
 
This does the default audio drive.
You can specify the drive letter like this:

Option Explicit
Private Declare Function mciSendString _
Lib "winmm.dll" _
Alias "mciSendStringA" (ByVal lpstrCommand As
String, _
ByVal
lpstrReturnString As String, _
ByVal uReturnLength As
Long, _
ByVal hwndCallback As
Long) As Long

Sub OpenCDDrive(Optional strDriveLetter As String)

If Len(strDriveLetter) = 0 Then
mciSendString "Set CDAudio Door Open", 0&, 0, 0
Else
mciSendString "open " & strDriveLetter & _
": type CDAudio alias drive" & strDriveLetter, 0&, 0, 0
mciSendString "set drive" & strDriveLetter & " door open", 0&, 0, 0
End If

End Sub

Sub CloseCDDrive(Optional strDriveLetter As String)

If Len(strDriveLetter) = 0 Then
mciSendString "Set CDAudio Door Closed", 0&, 0, 0
Else
mciSendString "open " & strDriveLetter & _
": type CDAudio alias drive" & strDriveLetter, 0&, 0, 0
mciSendString "set drive" & strDriveLetter & " door closed", 0&, 0, 0
End If

End Sub


Sub test()

OpenCDDrive "D"

End Sub


RBS


"Don Wiss" wrote in message
...
Where are you setting which drive to open/close?

On Sun, 4 Mar 2007 22:12:37 -0000, "RB Smissaert"
wrote:

Try this:

Option Explicit
Private Declare Function mciSendString _
Lib "winmm.dll" _
Alias "mciSendStringA" (ByVal lpstrCommand
As
String, _
ByVal
lpstrReturnString As String, _
ByVal uReturnLength
As
Long, _
ByVal hwndCallback
As
Long) As Long

Sub OpenCDDrive()

mciSendString "Set CDAudio Door Open", 0&, 0, 0

End Sub


Sub CloseCDDrive()

mciSendString "Set CDAudio Door Closed", 0&, 0, 0

End Sub


RBS



"Don Wiss" wrote in message
. ..
I have a VBA program that reads a file created from a DVD/CD. I then by
hand eject the disc. Can VBA issue a command to eject the disc?

Don <www.donwiss.com (e-mail link at home page bottom).




Don Wiss

Can VBA issue a command to eject a CD?
 
On Mon, 5 Mar 2007, RB Smissaert wrote:

This does the default audio drive.
You can specify the drive letter like this:


Thanks. It works like a charm. I'm not sure what is considered the default.
One reads CDs/DVDs and is called "J". The other read/writes CDs/DVDs and is
called "D". I would consider the one that reads only the default.

As I've added hard drives the letters have become scrambled and I haven't
bothered to change them.

Don <www.donwiss.com (e-mail link at home page bottom).

RB Smissaert

Can VBA issue a command to eject a CD?
 
You probably won't need it, but there are lots of other
commands you can pass to this API.

RBS


"Don Wiss" wrote in message
...
On Mon, 5 Mar 2007, RB Smissaert wrote:

This does the default audio drive.
You can specify the drive letter like this:


Thanks. It works like a charm. I'm not sure what is considered the
default.
One reads CDs/DVDs and is called "J". The other read/writes CDs/DVDs and
is
called "D". I would consider the one that reads only the default.

As I've added hard drives the letters have become scrambled and I haven't
bothered to change them.

Don <www.donwiss.com (e-mail link at home page bottom).



Don Wiss

Can VBA issue a command to eject a CD?
 
On Mon, 5 Mar 2007, RB Smissaert wrote:

You probably won't need it, but there are lots of other
commands you can pass to this API.


Where are they documented?

Don <www.donwiss.com (e-mail link at home page bottom).

RB Smissaert

Can VBA issue a command to eject a CD?
 
Here is one:
http://www.geocities.com/smigman.geo/mci/riffmci.html

RBS

"Don Wiss" wrote in message
...
On Mon, 5 Mar 2007, RB Smissaert wrote:

You probably won't need it, but there are lots of other
commands you can pass to this API.


Where are they documented?

Don <www.donwiss.com (e-mail link at home page bottom).




All times are GMT +1. The time now is 02:13 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com