Страница: 1 | 2 |
Надо создать папку и у этой папки название было бы текушая дата (например c:\arm\260504) а при повторном создание он бы провирял если папка сушествует то выводил бы ошибку? Помогите СРОЧНО!!! Нужен ентот код!!!
У меня неполучается....я вставляю этот код потом запускаю а он мне пишет "User-defined type not defined" Может я его неправильно вставил: Private Sub Command1_Click() Dim FSO As FileSystemObject End Sub Спасибо те большое!!!!! Выручил...........работает...... УРААААААА!!!!!!!!!!
Вопрос: Помогите по VB!!!!!!......Элементарное!!!!
Добавлено: 26.05.04 11:54
Автор вопроса: EDIK
Ответы
Всего ответов: 16
Номер ответа: 1
Автор ответа:
sYstEmiZer
ICQ: 280647023
Вопросов: 16
Ответов: 45
Профиль | | #1
Добавлено: 26.05.04 12:12
Dim FSO As FileSystemObject
Dim FName$
FName="c:\Qwerty"
If FSO.FolderExists(FName)=False Then
fso.CreateFolder(Day(Now)&Month(Now)&Year(Now))
else
msgbox "Ошибка"
end if
Номер ответа: 2
Автор ответа:
sYstEmiZer
ICQ: 280647023
Вопросов: 16
Ответов: 45
Профиль | | #2
Добавлено: 26.05.04 12:14
Точнее так
Dim FSO As FileSystemObject
Dim FName$
FName="c:\Qwerty"
If FSO.FolderExists(FName)=False Then
fso.CreateFolder("с:\"&ay(Now)&Month(Now)&Year(Now))
else
msgbox "Ошибка"
end if
Номер ответа: 3
Автор ответа:
EDIK
Вопросов: 37
Ответов: 55
Профиль | | #3
Добавлено: 26.05.04 14:04
Dim FName$
FName = "c:\Qwerty"
If FSO.FolderExists(FName) = False Then
FSO.CreateFolder ("с:\" & Day(Now) & Month(Now) & Year(Now))
Else
MsgBox "Ошибка"
End If
Номер ответа: 4
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #4
Добавлено: 26.05.04 14:10
В reference глянь, может чего забыл...
Номер ответа: 5
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #5
Добавлено: 26.05.04 14:14
Например Windows Script Host object model.. или как там его...
Номер ответа: 6
Автор ответа:
sYstEmiZer
ICQ: 280647023
Вопросов: 16
Ответов: 45
Профиль | | #6
Добавлено: 26.05.04 14:37
100% согласен с User Unknown не посмотришь мой вопросик! А?)
Номер ответа: 7
Автор ответа:
Fallout
Вопросов: 10
Ответов: 387
Web-сайт:
Профиль | | #7
Добавлено: 26.05.04 15:47
юзайти АПи не будет этой ерунду с ФСО +)
Номер ответа: 8
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #8
Добавлено: 26.05.04 16:36
тю, нафиг всё так усложнять?
в Вб есть MkDir, дату думаю знаешь как узнать, ну а проверить есть ли папка.... ну моно покривому слегка. Берёшь и пробуешь файл создать в папке, если файл создался - выводим: ошибка, если файл не был создан, то создаём папку. Незабудь про On error goto fuck, это чтоб прога не вылетала когда папки нет на самом деле. Если чо недогнал, пиши, могу даже накодить.
Номер ответа: 9
Автор ответа:
Kodo
Разработчик Offline Client
ICQ: 293048085
Вопросов: 37
Ответов: 457
Профиль | | #9
Добавлено: 26.05.04 17:01
В reference поставь гаку напротив Microsoft Scripting Runtime. И все пойдет. А насчет встроенного в VB - можно конечно ...
Вот так вроде:
FName = ("с:\" & Day(Now) & Month(Now) & Year(Now))
If dir(FName,vbDirectory) = "" then
MkDir FName
else
MsgBox "Ошибка !!!"
End if
Вроде должно... Хотя не проверял.
Номер ответа: 10
Автор ответа:
Kodo
Разработчик Offline Client
ICQ: 293048085
Вопросов: 37
Ответов: 457
Профиль | | #10
Добавлено: 26.05.04 17:03
Oops не гаку а галку. А то фигня получается Если не знаешь где ставить - меню Project => References.
Номер ответа: 11
Автор ответа:
Kodo
Разработчик Offline Client
ICQ: 293048085
Вопросов: 37
Ответов: 457
Профиль | | #11
Добавлено: 26.05.04 17:08
И, кстати, проверил, работает. Только там в коде в строчке "FName = "c:\" & ..." буквс "c" русская. Сам напоролся Так что поменяешь если что.
Номер ответа: 12
Автор ответа:
EDIK
Вопросов: 37
Ответов: 55
Профиль | | #12
Добавлено: 26.05.04 17:16
Номер ответа: 13
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #13
Добавлено: 28.05.04 19:31
Я другой узел вяжу.... 8)
Только что задал вопрос, а тут оказыватся люди и сами с этим мучаются...
<pre>
Private Function DirEx(ByVal dPath As String) As Boolean
Err.Clear
On Error Resume Next
MkDir dPath
If Err.Number > 0 Then
 irEx = True
Err.Clear
Else
RmDir dPath
 irEx = False
End If
End Function
</pre>
Номер ответа: 14
Автор ответа:
Kodo
Разработчик Offline Client
ICQ: 293048085
Вопросов: 37
Ответов: 457
Профиль | | #14
Добавлено: 28.05.04 19:35
А зачем так мучаться? Неужели Dir не помогает? Тогда более продвинутый вариант:
Function DirEx(ByVal Path As String, Filter As String, Attributes, Recurse As Boolean) As String
Dim Files() As String, lNum As Long, Folders() As String
If Right(Path, 1) <> "\" And Path <> "" Then Path = Path + "\"
ReDim Files(0) As String
Files(0) = Dir(Path + Filter, Attributes)
If Files(0) <> "" Then
 o
ReDim Preserve Files(UBound(Files) + 1) As String
Files(UBound(Files)) = Dir
Loop Until Files(UBound(Files)) = ""
ReDim Preserve Files(UBound(Files) - 1) As String
End If
For lNum = 0 To UBound(Files)
If Files(lNum) <> "" Then
If IsDir(Path + Files(lNum)) = False And (Attributes And vbDirectory) <> vbDirectory Then
 irEx = DirEx + Path + Files(lNum) + vbCrLf
ElseIf IsDir(Path + Files(lNum)) = True And (Attributes And vbDirectory) Then
 irEx = DirEx + Path + Files(lNum) + vbCrLf
End If
End If
Next lNum
If Recurse = True And (InStr(Filter, "?" > 0 Or InStr(Filter, "*" > 0) Then
ReDim Folders(0) As String
Folders(0) = Dir(Path, vbDirectory)
If Folders(0) = "." Or Folders(0) = ".." Then Folders(0) = Dir
If Folders(0) = "." Or Folders(0) = ".." Then Folders(0) = Dir
If Folders(0) <> "" Then
 o
ReDim Preserve Folders(UBound(Folders) + 1) As String
Folders(UBound(Folders)) = Dir
If Folders(UBound(Folders)) = "." Or Folders(UBound(Folders)) = ".." Then
ReDim Preserve Folders(UBound(Folders) - 1) As String
End If
Loop Until Folders(UBound(Folders)) = ""
ReDim Preserve Folders(UBound(Folders) - 1) As String
End If
For lNum = 0 To UBound(Folders)
If Folders(lNum) <> "" Then
If IsDir(Path + Folders(lNum)) Then
 irEx = DirEx + DirEx(Path + Folders(lNum), Filter, Attributes, Recurse)
End If
End If
Next lNum
End If
End Function
Нехило, да??? Уже не помню где это я такой код нарыл ...
Номер ответа: 15
Автор ответа:
Kodo
Разработчик Offline Client
ICQ: 293048085
Вопросов: 37
Ответов: 457
Профиль | | #15
Добавлено: 28.05.04 19:38
И для кучи :
Function IsDir(DirPath As String) As Boolean
On Error GoTo IsNotDir
If GetAttr(DirPath) And vbDirectory Then
IsDir = True
Else
IsDir = False
End If
Exit Function
IsNotDir:
IsDir = False
End Function