Discussione: Azione automatica
View Single Post
Old 08-09-2014, 14:03   #5
Cetto La Qualunque
Senior Member
 
L'Avatar di Cetto La Qualunque
 
Iscritto dal: May 2005
Messaggi: 329
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.

Ultima modifica di Cetto La Qualunque : 08-09-2014 alle 17:11.
Cetto La Qualunque è offline   Rispondi citando il messaggio o parte di esso