У меня есть электронная таблица, которая при нажатии кнопки будет дублироваться, копируя/вставляя все в новую книгу и сохраняя файл с именем, которое зависит от некоторых значений переменных (взятых из ячеек в электронной таблице). Моя текущая цель - заставить его сохранить лист в разных папках в зависимости от имени клиента (значение ячейки удерживается в переменной), в то время как это работает при первом запуске, я получаю сообщение об ошибке после.
Код проверяет, существует ли каталог и создает его, если нет. Это работает, но после того, как он создан, его запуск второй раз вызывает ошибку:
Ошибка выполнения 75 - ошибка доступа к пути/файлу.
Мой код:
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
Вы должны извинить мою нехватку знаний в этой области, я все еще участвую.
У меня очень сильное чувство, что оно имеет какое-то отношение к логике проверки каталогов, так как при ошибке выводится строка MkDir
.