Frage : Mitgliedstaat-Zugang VBA Filecopy bringt 70 - die verweigerte Erlaubnis zurück

Ich schreibe einer dieser Funktion der Zugangs-Anwendung VBA Kopien Akten von einem Verzeichnis bis ein anderes, das ich using den Büro filedialog Kasten im msoFileDialogFolderPicker Modus vorgewählt habe.  Ich versuche, den filesystemobject FileCopy Befehl zu verwenden, aber erhalte die Störung „70 - die verweigerte Erlaubnis“, obwohl ich Kontrolleenerlaubnis auf der Akte und das Faltblatt haben, zu denen ich kopiere.  Mein Code wird angebracht.  
Here ist der Inhalt meines sofortigen Fensters, wenn ich die Funktion durchführe:

? installemtscomprpt
File testprog.txt zu F:\PR09 kopieren nicht können - 023 - EMTS Adobe 9.0 \ EMTSCompRpt Installation Index \ NewFolder.  Störung ist 70 - Erlaubnis denied.

Why ist ich diese Fehlermeldung erhalten?

1:
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:
6:
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:
Option vergleichen Datenbank
Wahl ausdrücklich

Öffentlichkeitsrumpfstation als FileSystemObject, strOrigDir als Schnur, strDestDir als Schnur

Allgemeine Funktion InstallEMTSCompRpt () als Schnur
    
    Einstellen Rumpfstation = neues FileSystemObject
    strOrigDir = CurrentProject.Path u. „\“
    strDestDir = fFolderDialog
    Debug.Print fCopyFile („testprog.txt“)

Enden-Funktion
Allgemeines Funktion fFolderDialog () als Schnur

'Erfordert Hinweis auf Objekt-Bibliothek Microsoft Office-10.0.

   Schwaches fDialog als Office.FileDialog
   Schwaches varFile als Variante

   'Freier listbox Inhalt.
   'Me.FileList.RowSource = ""

   'Den Akten-Dialog gründen.
   fDialog = Application.FileDialog (msoFileDialogFolderPicker) einstellen
   Mit fDialog
      'Benutzer erlauben, nur eine EMTSReports Datenbank vorzuwählen
      .AllowMultiSelect = falsch
            
      'Den Titel dem Dialogfeld einstellen.
      . Titel = „wählen bitte die EMTSReports Datenbank vor, um Gegenstände zu empfangen“

      'Frei heraus addieren die Stromfilter und unsere Selbst.
      . Filters.Clear
      .InitialFileName = „\ \ okc-svr01 \ obishare$ \ Zugangs-Anwendungen \ EMTS \“
      .InitialView = msoFileDialogViewList
      
      'Das Dialogfeld zeigen. Wenn. Die Methodenrückkehr zeigen, die zutreffend ist,
      'Benutzer wählte mindestens eine Akte aus. Wenn. Methodenrückkehr zeigen
      'Falsch, das Benutzer geklickte Löschen.
      Wenn. Erscheinen = richten dann aus
         'Durch jede vorgewählte Akte schlingen und sie unserem Listenkasten hinzufügen.
         Für jedes varFile in .SelectedItems
            fFolderDialog = varFile
         Zunächst
      Sonst
         fFolderDialog = ""
      Beenden wenn
   Mit beenden
Funktion beenden
Allgemeine Funktion fCopyFile (strFileName als Schnur) als Schnur
Schwaches lstrSource als Schnur
    
    Auf Störung Goto- ErrfCopyFile
    
    lstrSource = strOrigDir u. strFileName
    fs.CopyFile lstrSource, strDestDir
    fCopyFile = „Akte“ u. strFileName u. „erfolgreich kopiert“ u. strDestDir u. „.“
    
ExitfCopyFile:
    Funktion herausnehmen
    
ErrfCopyFile:
    fCopyFile = „Akte“ u. strFileName u. „kopieren nicht können“ u. strDestDir u. „.  “
    fCopyFile = fCopyFile u. „Störung“ u. ist Err.Number u. „-“ u. Err.Description u. „.“
    MsgBox fCopyFile, vbExclamation, „InstallEMTSCompRpt Störung: “
    Zusammenfassung ExitfCopyFile

Enden-Funktion

Antwort : Mitgliedstaat-Zugang VBA Filecopy bringt 70 - die verweigerte Erlaubnis zurück

Vermutung was!  Ich herausgefunden das Problem nden:

Ich kodiert die fcopy Funktion, wie folgt:

Allgemeine Funktion fCopyFile (strFileName als Schnur) als Schnur
Schwaches lstrSource als Schnur
   
    Auf Störung Goto- ErrfCopyFile
   
    lstrSource = strOrigDir u. strFileName
    fs.CopyFile lstrSource, strDestDir
    fCopyFile = „Akte“ u. strFileName u. „erfolgreich kopiert“ u. strDestDir u. „.“
   
ExitfCopyFile:
    Funktion herausnehmen

Was ich im Allgemeinen hier tue, ist mit der Kopie SourceDirectory/Akte DestinationDirectory gleichwertig.  Aber anders als die Befehlszeile Befehl, wünscht FileSystemObject.CopyFile Sie das Bestimmungsort Verzeichnis UND den DATEINAMEN spezifizieren.  Andernfalls denkt es anscheinend, dass Sie das Faltblatt durch die Akte ersetzen möchten, der Windows Sie am Handeln hindert (G-d danken).  Wenn ich den Bestimmungsortdateinamen spezifiziere, adaequat ist er.  Ich angebracht den behobenen Code n.

Es gewesen nicht ein guter Tag.

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
Allgemeine Funktion fCopyFile (strFileName als Schnur) als Schnur
Schwaches lstrSource als Schnur, lstrDestination als Schnur
    
    Auf Störung Goto- ErrfCopyFile
    
    lstrSource = strOrigDir u. strFileName
    lstrDestination = strDestDir u. „\“ u. strFileName
    fs.CopyFile lstrSource, lstrDestination
    fCopyFile = „Akte“ u. strFileName u. „kopierten erfolgreich“ u. strDestDir u. „.“
    
ExitfCopyFile:
    Funktion herausnehmen
Weitere Lösungen  
 
programming4us programming4us