Страница: 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