J'ai une feuille de calcul qui en cliquant sur un bouton va se dupliquer en copiant/collant tout à un nouveau classeur et enregistrer le fichier avec un nom qui dépend de certaines valeurs variables (prises de cellules sur la feuille de calcul). Mon objectif actuel est de l'obtenir pour enregistrer la feuille dans différents dossiers en fonction du nom du client (valeur de la cellule détenue dans la variable), alors que cela fonctionne sur la première exécution, j'obtiens une erreur après.Excel VBA Vérifiez si le répertoire existe erreur
Le code vérifie si le répertoire existe et le crée sinon. Cela fonctionne, mais après sa création, il en cours d'exécution d'une deuxième fois jette l'erreur:
Runtime Error 75 - path/file access error.
Mon code:
Sub Pastefile()
Dim client As String
Dim site As String
Dim screeningdate As Date
screeningdate = Range("b7").Value
Dim screeningdate_text As String
screeningdate_text = Format$(screeningdate, "yyyy\-mm\-dd")
client = Range("B3").Value
site = Range("B23").Value
Dim SrceFile
Dim DestFile
If Dir("C:\2013 Recieved Schedules" & "\" & client) = Empty Then
MkDir "C:\2013 Recieved Schedules" & "\" & client
End If
SrceFile = "C:\2013 Recieved Schedules\schedule template.xlsx"
DestFile = "C:\2013 Recieved Schedules\" & client & "\" & client & " " & site & " " & screeningdate_text & ".xlsx"
FileCopy SrceFile, DestFile
Range("A1:I37").Select
Selection.Copy
Workbooks.Open Filename:= _
"C:\2013 Recieved Schedules\" & client & "\" & client & " " & site & " " & screeningdate_text & ".xlsx", UpdateLinks:= _
0
Range("A1:I37").PasteSpecial Paste:=xlPasteValues
Range("C6").Select
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
Vous devrez excuser mon manque de connaissances dans ce domaine, Je suis toujours en train d'apprendre. J'ai le sentiment très fort que cela a quelque chose à voir avec la logique de vérification du répertoire, car lorsque l'erreur est levée, la ligne MkDir
est en surbrillance.
Essayez de vérifier la chaîne de longueur nulle (par exemple, ""), plutôt que pour Empty. – chuff
Dir renvoie une chaîne de longueur zéro si rien n'est trouvé. donc ne pas utiliser l'utilisation vide "" à la place –
Salut les gars, Merci pour le conseil, je l'ai changé pour "", je ne l'ai jamais su vérifié pour les chaînes de longueur zéro. Bien que je vais l'utiliser pour les meilleures pratiques futures, il n'a pas résolu le problème. D'autres suggestions? – user1571463