Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Помогите пожалуйста, ошибка 52 при копировании Добавлено: 09.07.11 20:12  

Автор вопроса:  Johnny
Private Sub Form_Load()
Dim PathFile, PathDrive As String
PathFile = "C:New\*.*"
PathDrive = "H:\New\*.*"
FileCopy PathFile, DrivePath
End Sub

программа должна перекопировать все из папки на С в папку на Н. Но выскакивает ошибка bad filename or number.

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 Ким Чен Ир



Вопросов: 0
Ответов: 140
 Профиль | | #1 Добавлено: 09.07.11 21:12
FileCopy копирует только один файл и не поддерживает маски *.* и это документировано в справке по функции.
Кроме этого ты объявляешь переменную PathDrive As String, а вызываешь необъявленную DrivePath.
А еще переменная Dim PathFile объявлена как Variant.
Как ты думаешь, при таком отношении разве можно что-то скопировать?
  1.  
  2.     Dim PathSource  As String, PathDest As String, tmp As String
  3.     PathSource = "C:\New\"
  4.     PathDest = "H:\New\"
  5.     tmp = Dir(PathSource)
  6.     Do Until Len(tmp) = 0
  7.         FileCopy PathSource & tmp, PathDest & tmp
  8.         tmp = Dir
  9.     Loop

Ответить

Номер ответа: 2
Автор ответа:
 Johnny



Вопросов: 2
Ответов: 3
 Профиль | | #2 Добавлено: 09.07.11 21:32
спс DrivePath это опечатка, сори.
а как быть с вложенными папками в папке New ?

Ответить

Номер ответа: 3
Автор ответа:
 Ким Чен Ир



Вопросов: 0
Ответов: 140
 Профиль | | #3 Добавлено: 09.07.11 21:37
Программиста просят составить алгоритм как закипятить чайник. Он подумал:
1. Взять чайник.
2. Налить в него воду.
3. Поставить чайник на плиту.
4. Включить плиту.
Далее просят программиста составить алгоритм как закипятить уже наполненный водой чайник. Он, не задумываясь:
1. Взять чайник.
2. Вылить из чайника воду.
3. А далее задача решается тривиально - по имеющемуся алгоритму.

Ответить

Номер ответа: 4
Автор ответа:
 Johnny



Вопросов: 2
Ответов: 3
 Профиль | | #4 Добавлено: 09.07.11 21:50
я имею ввиду если не знаешь их имен.

Ответить

Номер ответа: 5
Автор ответа:
 Ким Чен Ир



Вопросов: 0
Ответов: 140
 Профиль | | #5 Добавлено: 09.07.11 21:56
Их не трудно получить Dir(PathSource, vbDirectory)
А вообще не мучайся:
  1.    Dim PathSource  As String, PathDest As String
  2.    PathSource = "C:\New"
  3.    PathDest = "H:\New"
  4.    Dim FSO As Object
  5.    Set FSO = CreateObject("Scripting.FileSystemObject")
  6.    FSO.CopyFolder PathSource, PathDest

Ответить

Номер ответа: 6
Автор ответа:
 Johnny



Вопросов: 2
Ответов: 3
 Профиль | | #6 Добавлено: 09.07.11 22:01
спасибо)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам