Questione : L'accesso VBA Filecopy del ms restituisce 70 - permesso negato

Sto scrivendo ad una funzione di applicazione di accesso VBA quella le copie lime da un indice a altro che ho selezionato using la scatola del filedialog dell'ufficio nel modo del msoFileDialogFolderPicker.  Sto provando ad usare l'ordine di FileCopy del filesystemobject, ma ottengo l'errore “70 - permesso negato„, anche se io hanno permessi del controllo totale sulla lima ed il dispositivo di piegatura a cui sto copiando.  Il mio codice è attaccato.  il
Here è il contenuto della mia finestra immediata quando eseguo la funzione:

? installemtscomprpt
File testprog.txt non riuscito per copiare a F:\PR09 - 023 - scritto \ NewFolder dell'installazione di EMTS Adobe 9.0 \ EMTSCompRpt.  L'errore è 70 - il permesso denied.

Why sono io che ottengo questo messaggio di errore? class= " lineNumbers " >
1 del >

: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: il >Option codeBody " del prettyprint " " del class= del id= " codeSnippet748970 del >
 " libero " di 
class= del

Risposta : L'accesso VBA Filecopy del ms restituisce 70 - permesso negato

Congettura che cosa!  Ho calcolato fuori il problema:

Avevo codificato la funzione fcopy come segue:

Funzione pubblica fCopyFile (strFileName come stringa) come stringa
lstrSource fioco come stringa
   
    Sull'errore ErrfCopyFile di avanzamento
   
    lstrSource = strOrigDir & strFileName
    lstrSource di fs.CopyFile, strDestDir
    fCopyFile = “lima„ & strFileName & “copiato con successo„ & strDestDir & “.„
   
ExitfCopyFile:
    Uscire la funzione

Che cosa sto facendo basicamente qui è equivalente alla copia SourceDirectory/lima DestinationDirectory.  Ma diverso della linea di ordine ordine, FileSystemObject.CopyFile lo vuole specificare l'indice ED il NOME DI SCHEDARIO di destinazione.  Altrimenti sta pensando apparentemente che vogliate sostituire il dispositivo di piegatura con la lima, che Windows lo impedisce di fare (ringraziare G-d).  Quando specifico il nome di schedario della destinazione funziona benissimo.  Ho attaccato il codice corretto.

Non è stato un buon giorno.

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
Funzione pubblica fCopyFile (strFileName come stringa) come stringa
lstrSource fioco come stringa, lstrDestination come stringa
    
    Sull'errore ErrfCopyFile di avanzamento
    
    lstrSource = strOrigDir & strFileName
    lstrDestination = strDestDir & “\„ & strFileName
    lstrSource di fs.CopyFile, lstrDestination
    fCopyFile = “la lima„ & lo strFileName & “hanno copiato con successo„ & strDestDir & “.„
    
ExitfCopyFile:
    Uscire la funzione
Altre soluzioni  
 
programming4us programming4us