Quindi sostituire le mie ultime 4 righe con quello che hai fatto tu?
Codice:
Dim sDrive
sDrive="F:"
Set fso=WScript.CreateObject("Scripting.FileSystemObject")
If Not fso.DriveExists(sDrive) Then
WScript.echo "Il drive " & sDrive & " non è stato trovato"
WScript.Quit
End If
Do While fso.GetDrive(sDrive).IsReady=0
WScript.Sleep 1000
Loop
sTarget = "E:\archivio"
sOrigin = "F:"
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(sTarget)
objFolder.CopyHere sOrigin & "\*.xls"
WScript.Echo "Copia finita"
Mentre la subroutine invece a cosa servirebbe? Ad evitare il doppio click sul file script.vbs ogni volta che ho cambiato il cd?
Accetto volentieri suggerimenti pur di semplificare ulteriormente la luuuuuunga operazione.
EDIT:
Ho trovato questo per aprire il lettore cd:
Codice:
CreateObject(“WMPlayer.OCX.7″).cdromCollection.Item(0).eject
Può andare bene al posto di
Codice:
WScript.Echo "Copia finita"
?
EDIT2:
No, non va, mi sa che è un po' più complicato...ho trovato questo ma va a cercare tutti i drive:
Codice:
Set oWMP = CreateObject("WMPlayer.OCX.7")
Set colCDROMs = oWMP.cdromCollection
if colCDROMs.Count > 0 then
for i=0 to colCDROMs.Count - 1
strDrive= oWMP.cdromCollection.item(i).driveSpecifier
strQuestion = "Espellere drive " & strDrive & "?"
answer= msgbox (strQuestion, vbOKCancel)
if answer= vbOK then
colCDROMs.Item(i).Eject
strQuestion = "Chiudere drive " & strDrive & "?"
answer= msgbox (strQuestion, vbOKCancel)
if answer= vbOK then colCDROMs.Item(i).Eject
end if
next
end if
wscript.quit
Io vorrei far espellere il cd alla fine della copia e far ripartire la copia quando chiudo il lettore con un nuovo cd.