Hola a todos:
Estoy creando una aplicacion en VB60 y me gustaria saber cómo podría comprobar si un directorio existe y en caso de que no exista crearlo para poner un archivo.
Gracias y Saludos
Busca un poco en google:
http://www.google.es/search?source=ig&hl=es&rlz=&q=comprobar+si+directorio+existe+vb&btnG=Buscar+con+Google&meta=
En el primer resultado tienes la respuesta.
Saludos!
Hola,lo podes hacer con FSO o sino algo asi con Dir()..
Private Sub Form_Load()
MsgBox IIf(Dir("c:\windows", vbDirectory) <> "", "", "no ") & "existe"
End Sub
saludos.
Para crear el directorio basta con usar la instrucción MkDir
Private Sub CmdCrearCarpeta_Click()
MkDir ("c:\Mi_Carpeta")
End Sub
Otra respuesta que googleando podías haber conseguido por tu cuenta ¡pero que mas da!
Hola:
Gracias por las respuestas, pero tengo otra dudilla:
la carpeta en cuestion deberia estar en el directorio personal de cada usuario, es decir c:\documents and settings\usuario\mis documentos....
Hay alguna forma de obtener esa ruta? xq si el windows esta en ingles mis documentos es my documents por ejemplo, entos me gustaria saber si se puede obetener esa ruta de manera automatica para crear mi directorio alli.
Gracias y Saludos
Cita de: ^kazike^ en 16 Abril 2008, 10:13 AM
Hola:
c:\documents and settings\usuario\mis documentos....
Hay alguna forma de obtener esa ruta?
MsgBox Environ("userProfile") & "\Mis documentos"
MsgBox Environ("userProfile") & "\my documents"
¡saludos!
mediante api's podes sacar la ruta de esa carpeta, independientemente si es de ingles o español..algo asi:
Option Explicit
Private Const CSIDL_PERSONAL As Long = &H5
Const MAX_PATH = 260
Private Type SHITEMID
cb As Long
abID As Byte
End Type
Private Type ITEMIDLIST
mkid As SHITEMID
End Type
Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Sub Form_Load()
Dim Path As String
Path = MisDocumentos(CSIDL_PERSONAL)
If Path <> vbNullString Then
MsgBox Path
End If
End Sub
Private Function MisDocumentos(CSIDL As Long) As String
Dim ret As Long
Dim IDL As ITEMIDLIST
Dim Path As String
ret = SHGetSpecialFolderLocation(100, CSIDL, IDL)
If ret = 0 Then
Path$ = Space$(512)
ret = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal Path$)
MisDocumentos = Left$(Path, InStr(Path, Chr$(0)) - 1)
Exit Function
End If
MisDocumentos = vbNullString
End Function
Citarmediante api's podes sacar la ruta de esa carpeta, independientemente si es de ingles o español..
Claro, además de eso tambien estan los objetos, dependerá de los gustos, el conocimiento y el INVESTIGAR por cuenta propia...
Option Explicit
Private Sub Form_Load()
MsgBox ObtenerRuta
End Sub
Private Function ObtenerRuta()
Dim Ruta As String
Ruta = Environ("userprofile") & "\Mis documentos\"
If Len(Dir$(Ruta)) Then
ObtenerRuta = Ruta
Else
ObtenerRuta = Environ("userprofile") & "\My documents\"
End If
End Function
Yo solo le mostré una de tantas formas, que él elija cual le conviene más...